AppWorker程序员

腾讯云IM使用总结

2018-07-15  本文已影响18人  voxer

腾讯帝国最重要的产品QQ和微信都是IM为基础,相信腾讯云IM也能有很好的体验,我们在项目上准备使用腾讯云通信。

我们项目的基本需求是App中使用IM,实现基本的聊天功能,有一些我们的值班人员通过IM给App的用户提供实时的业务咨询,同时也提供用户和用户之间的聊天。
由于项目App第一期时间紧,先考虑基于H5或小程序,二期再考虑原生实现Android和iOS版本,AppWorker会封装这个组件。
基本流程就是App端或小程序有自己的登陆系统,有二种基本角色:用户(问题咨询者)和服务人员(问题回答者)。用户登陆找到服务人员,然后用do_WebView组件加载聊天网页,实现聊天功能。后期还要逐渐增加其它功能:

1.准备工作

2. 生成sig值

这个步骤是所有操作的基础,我们这里选择的是 独立模式:用户帐号信息由开发者保存,用户身份验证(比如注册与验密)也由开发者负责。

image.png
我们自己的应用后台服务需要提供基本的签名功能,传入 参数 sdkappid 、私钥、identifier,返回一个usersig值,其中

3. 用户登陆

这个登陆指对腾讯云IM的login,因为我们用的是独立模式,则这个动作的前提是这个用户已经成功登陆了业务系统。
这里有二种方式登陆:

webim.login(loginInfo, listeners, options,cbOk,cbErr)

注意:参数appIDAt3rd和sdkAppID参数值一样。

4. 发送接受消息

这里指客户端发送和接受消息。WebSDK是基于H5和小程序的IM的共有js库,它们的差别就是用H5绘制聊天界面还是用小程序绘制,真正的通讯机制完全一样。
不过和Android,iOS的原生比较,WebSDK不支持很多功能,比如不支持短视频,不支持语音发送(支持解析),不支持地理位置(支持解析)。

5. 腾讯云后端服务和回调服务

腾讯云提供了后端云服务REST API来实现很多功能,很多情况需要我们的业务服务端调用这些API来处理IM的一些操作。
这里要注意的一个细节是所有的后端REST API都是以管理员身份来获取UserSig和其它操作,在我们的前期准备里管理员是myadmin。
在应用配置里如果配置了我们的业务服务回调URL,在IM聊天中就会自动触发我们的业务服务,通过这个回调和腾讯云后端服务,我们能完成我们的后期几个需求,以下是几个基本流程图:

image.png
这个流程中,所有消息都先经过我们的业务系统来决定怎么回复,谁回复,包括如果需要翻译也可以加到流程中。
这里提一下,后端服务腾讯提供了一个Web工具能很方便的调试云API。
上一篇下一篇

猜你喜欢

热点阅读