网易云通信小程序集成实践+群组功能完善

在微信里放一个IM,被指定放网易云通信。这次实践是一场非常虐心的体验,虽然集成网易云通信有官方资料参考,也有官方的demo参考,但是踩的坑也不少。

一、不完全是技术问题

消息漫游需要联系商务开通

二、官方小程序demo更加一个独立的app

demo 过于独立,没有考虑到在小程序中集成互通。找到官方demo的时候很开心,用的时候还是很不开心的。不过,出于谋生考虑,硬着头皮在官方的demo上做了调整。

引用自己Github上的说明:

  • – 1.没有与小程序帐号集成。 这个本人在实际项目中已经解决。
    – 2.消息通道初始化问题。 由于官方没有与微信帐号集成,这个初始化问题也是存在的。正确的初始化位置,应当在app.js中完成。目前项目上已经改造好了,除了将初始化移到app.js,还写了一个【消息回放功能】,因为用户进入小程序后,是到首页,消息tab并没有点击,离线的消息与未点消息tab之前的时间窗口消息都需要给消息tab页。app.js中要订阅消息,有消息时要将消息tab打上小红点。
    – 3.群聊功能的缺失.已解决。
    解决思路:直接在官方的代码基础上,改造一下消息订阅,消息发送、消息显示。优雅的处理方式:在原官方的代码基础上,增加一个msgType标明是哪种消息,然后在后续消息显示、发送逻辑上区别对待。
    消息订阅:官方直接将群组消息team消息忽略掉了,因此,需要写一个逻辑分支,p2p消息处理沿用原逻辑,team消息走新逻辑。
    消息发送:发送代码很好改造,基本上将类型从p2p修改成team
    消息显示:复制一份单聊chating代码取名为groupchating,在recentchat会话列表上做逻辑分支,群聊定向到groupchating.群聊头像需要人肉构建。后记:单聊、群聊本身可以抽象为一种实现,但是目前官方的demo明显倾向于单聊,群聊无法直接使用。

Fork了官方的demo打算把本次项目代码清洗一下,放到github上,也算是为后来人提供一份网易云通信小程序集成的参考。可以关注github工程地址,回头会更新!

https://github.com/Lancker/NIM_Web_Weapp_Demo

欢迎加微信交流 13439975582

转载请注明来自 技术岛 http://www.jishudao.com 附具体链接

网易云通信小程序集成实践+群组功能完善

与小伙伴相约

 

“网易云通信小程序集成实践+群组功能完善”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注