描述
本文总结了您在集成融云 Uniapp SDK 时,可能会遇到的问题。
1. uniapp 是否支持在 web 端运行,是否支持小程序 ?
- uniapp SDK 目前只支持 Android 端和 iOS 端,不支持在 web 端运行,也不支持小程序。
- 小程序的 SDK 支持 uniapp 。
- 如果您有编译 H5 或者小程序 的需求,建议您使用 web sdk。
2. 运行时报错 requireNativePlugin is not yet implemented 该如何处理。
确认当前是否使用自定义基座运行到手机上,原生插件不支持运行在浏览器或小程序中,这个是 uni 提供的api报错,可以在uni 官网了解下这个报错,暂时将我们插件先删除掉,然后直接使用官方的 uni.requireNativePlugin 这个方法,在项目里面看下是否有报错。
3. 融云 sdk 是否支持 uniapp-x?
不支持
4. 融云 sdk 是否支持 vue3?
支持客户使用 vue3 集成,但是目前 demo 使用的是 vue2 ,可能有兼容问题。如有问题,请随时反馈,我们将根据具体问题进行分析。
5. uniapp 支持 vue-cli 创建的项目吗?
如果创建的项目可以集成原生插件,就可以使用我们的 uni-app SDK
6. 运行时报错 “当前运行的基座不包含原生插件[RongCloud-IM-V2-RCUniIMV2],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座”。
- 确认是否在集成插件后,重新制作自定义基座。
- 运行时是否默认选择了标准基座,须改为自定义基座来运行。
7. 调用融云的 api 后,接口对应的 Listener 没有返回调用结果。
确认调用方法时,是否有设置 callback,callback 比 Listener 优先级高,会执行 callback 的回调,不执行Listener。
8. uni-app 中能够注册自定义消息吗?(5.12.1 之前的版本)
uni-app 目前无法按原生一样注册自定义消息,也无法解析出来原生层发送的自定义消息,只支持以下这几类自定义消息(提前内置好是因为原生的自定义消息需要在原生项目侧注册, 为了减小开发者的使用难度,我们提供了内置好的自定义壳消息)。
- 命令消息,不存储、不计入未读计数 RC:IWCmdMsg (如果消息接收方不在线,再次上线时可通过离线消息收到。)
- 普通消息,存储、计入未读计数 RC:IWNormalMsg
- 状态消息,不存储不计数 RC:IWStatusMsg (如果接收方不在线,则无法再收到该状态消息。)
- 存储消息,存储、不计入未读计数 RC:IWStorageMsg
9. 5.12.1 版本新增的原生自定义消息跟旧版的自定义消息有什么区别?
- 旧版自定义消息无法与原生层的自定义消息互通(其中消息的 objectname 已经固定,无法修改)
- 新版自定义消息可以兼容原生注册的自定义消息,可与原生层自定义消息 objectname 字段一致。
10. 消息推送插件与 uniapp 推送插件冲突,应该如何处理。
消息推送插件与 uniapp 推送插件不能同时使用,可以把推送 token 上报给我们。详情参考如下步骤:
- 在融云控制台配置 厂商推送信息
- 初始化时开启推送 融云开发者文档
- 上报第三方推送 token 给融云 engine.registerPushToken(推送类型, ‘xxxxxx’); 具体可以参考 apidoc
11. 如何处理点击融云消息推送打开 app 后打开指定页面?
首页调用下面代码块获取推送数据,并执行业务侧自定义跳转逻辑。
const RCUniPush = uni.requireNativePlugin('RongCloud-Push-RCUniPush')
RCUniPush.setPushEventListener((data) => {
console.log('setPushEventListener', data);
})
12. 安卓如何使用云打包打出 debug 包,方便输出 logcat 日志?
按照下图配置即可
13. 集成 IM ,调用 connect 接口,出现下面报错如何解决?
[Vue warn]: Error in onLoad hook: "TypeError: Cannot read properties of undefined (reading 'connect')"
- 确认客户是运行到哪个客户端遇到的此问题,不支持在web 端运行。
- 检查初始化引擎是否成功,引擎没有初始化成功,调用连接方法可能出现此问题。
14. IM 收到新消息监听不到,该如何排查?
- 确认客户是否有设置监听
- 该监听是否设置在连接之前,连接成功后会立刻下发消息,如果是连接之后设置,无法监听到离线消息下发。
15. IM 的监听事件触发了多次,是怎么回事?
确认是否有多次调用设置监听,全局调用一次即可,不支持设置多个监听器。为了避免内存泄露,请在不需要监听的时候将监听器置空。
更多支持
如有疑问,欢迎提交工单。