微信小程序集成融云 SDK (即时通讯) 集成必备条件
前言
最近公司需要用微信小程序做一个能够让用户沟通的功能,经过前期筛选和对比,最后还是选择了使用融云的即时通讯,下面是我用小程序首次集成融云的 SDK 碰到的问题,在此做个记录方便自己查看,同时也给有需要的同学作为参考。
前端小鸟一枚,立誓要成为前端菜鸟,不足地方留言指出,小子谢过。
准备工作
1.官网注册(https://www.rongcloud.cn/)
- 进入开发者后台 - 创建应用 - 获取 appkey (很重要!很重要!很重要!)
-
获取用户 token ,一开始我很费解为什么要获取 token ?token 是什么?怎么获取 token?(暴击三连问 o(╥﹏╥)o)简单来说就是用户的身份标识。
这里就不一一解答了,直接看 官网地址 - token 就行了,里面说的很清楚。 -
对于在前端开发阶段,还没有和后端对接时,推荐使用融云开发者后台中的 API 调用(在调试方面,真的太好用了)传入正确的参数即可
注意:小程序 SDK 需要开通小程序服务后,在开发者后台中获取
但是在文档中又看到说 3.x 小程序与 Web SDK 相同,那用 Web 端的 SDK 也是可以的咯,为什么还要开通服务才能获取呢,算了!能用就行
开始集成
1、首先要需在微信公众平台配置以下合法域名(配置详情请点击这里),微信小程序如何配置合法域名应该不需要说了吧
2、SDK 初始化
- 开发者在使用融云 SDK 所有功能之前,开发者必须先调用此方法初始化 SDK。 在应用整个生命周期中,开发者只需要将 SDK 初始化一次
var im = RongIMLib.init({
appkey: ' ' // 这里就是咋们在开发者后台获得到的 appkey
});
3、设置监听
-
监听消息、状态、会话列表的变化
-
注意:当设置多个 im.watch 的时候, 当收到一条消息后, 每个 watch 都会监听到此消息,所以会出现发一条消息,但是会重复收到这条消息
-
解决:在全局设置监听一次即可,不要放在组件生命周期中,防止每次组件重载都设置一次
var conversationList = []; // 当前已存在的会话列表
im.watch({
conversation: function(event