项目场景:

记录对接环信sdk时遇到的一系列问题,总结一下避免大家再次踩坑。这里主要针对于web、uniapp、微信小程序在对接环信sdk时遇到的问题。

注册篇(一)


在初始化完成之后,就卡在了第一步注册用户,注册用户居然报错401,上截图


cf7addc0e91f120a5a0305b7cd83fcf5.png
2730a09d88a25770127586d419be0ccf.png

原因分析:


从console控制台输出及network请求返回入手分析

可以看到报错描述Open registration doesn't allow, so register user need token,也就是注册用户需要token,知道问题所在就比较好解决了


8540281b2832fbd68acc4c97bac94fb1.png

6c79029f128624d430f0d299d15f1626.png


解决方案:


解决思路,文档描述


文档描述:若支持SDK注册,需登录环信即时通讯云控制台 (https://console.easemob.com/app/im-service/detail),选择即时通讯 > 服务概览,将 设置下的用户注册模式设置为开放注册。可见文档地址:http://docs-im-beta.easemob.com/document/web/overview.html#sdk-%E6%B3%A8%E5%86%8C


694908b8e03959ca6066a8400a82f42f.png


74db8c8d81534a48a002e37c827dbb4e.png


拓展:

上文提到的用户注册模式是什么

据了解,环信的用户注册模式分为两种,一种是授权注册,一种是开放注册,这两种注册模式在即时通讯>服务概览>设置>用户注册模式可以看到,但是这两种注册模式有什么区别呢?


以下是环信文档对于开放注册和授权注册的解释,文档地址:http://docs-im-beta.easemob.com/document/server-side/account_system.html#%E5%BC%80%E6%94%BE%E6%B3%A8%E5%86%8C%E5%8D%95%E4%B8%AA%E7%94%A8%E6%88%B7


a5cd5242198b6d4fd6877d39194663ab.png

d44673efd9bcc3ec668ce0e5fff393ad.png

通俗解释就是授权注册比开放注册增加了token认证,授权注册更安全,但是如果在端上启用授权注册会比较麻烦,还需要自己封装请求,我这边建议大家注册还是交给后端同事来搞吧~~~~