本文目录:
- 1、腾讯云IM使用总结
- 2、腾讯云云通信IM,@人功能如何实现?
- 3、腾讯云通讯IM 接入小程序 (二)收发消息
腾讯云IM使用总结
腾讯帝国最重要的产品QQ和微信都是IM为基础,相信腾讯云IM也能有很好的体验,我们在项目上准备使用腾讯云通信。
我们项目的基本需求是App中使用IM,实现基本的聊天功能,有一些我们的值班人员通过IM给App的用户提供实时的业务咨询,同时也提供用户和用户之间的聊天。
由于项目App第一期时间紧,先考虑基于H5或小程序,二期再考虑原生实现Android和iOS版本, AppWorker 会封装这个组件。
基本流程就是App端或小程序有自己的登陆系统,有二种基本角色: 用户 (问题咨询者)和 服务人员 (问题回答者)。用户登陆找到服务人员,然后用do_WebView组件加载聊天网页,实现聊天功能。后期还要逐渐增加其它功能:
这个步骤是所有操作的基础,我们这里选择的是 独立模式 :用户帐号信息由开发者保存,用户身份验证(比如注册与验密)也由开发者负责。
这个登陆指对腾讯云IM的login,因为我们用的是独立模式,则这个动作的前提是这个用户已经成功登陆了业务系统。
这里有二种方式登陆:
这里指客户端发送和接受消息。 WebSDK 是基于H5和小程序的IM的共有js库,它们的差别就是用H5绘制聊天界面还是用小程序绘制,真正的通讯机制完全一样。
不过和Android,iOS的原生比较,WebSDK不支持很多功能,比如不支持短视频,不支持语音发送(支持解析),不支持地理位置(支持解析)。
腾讯云提供了后端云服务REST API来实现很多功能,很多情况需要我们的业务服务端调用这些API来处理IM的一些操作。
这里要注意的一个细节是所有的后端REST API都是以 管理员 身份来获取UserSig和其它操作,在我们的前期准备里管理员是myadmin。
在应用配置里如果配置了我们的业务服务回调URL,在IM聊天中就会自动触发我们的业务服务,通过这个回调和腾讯云后端服务,我们能完成我们的后期几个需求,以下是几个基本流程图:
腾讯云云通信IM,@人功能如何实现?
@某人和群组普通消息没有本质的区别,仅是被@的人,需要在UI上进行特殊处理,如QQ的消息列表中会有标红提示。可按照以下的方案来进行实现:
1.发送方需要@时,当键盘输入@符号,弹出群成员列表,用于发送者选择
2.选择好后,UI上在输入框中出现@及被选中者的名字
3.群消息协议编解码时,利用云通信的CustomElem消息体,将被@人的identifier填入(或者是应用内标记用户身份的唯一id),并发送到群内
4.群内成员收到消息时,需判断消息体内是否有该字段,如果有,取出
5.判断消息体内@的id是否与当前登录用户id一致
6.如果检查一致,则需要在UI上进行特殊处理;如果不一致则不处理。
腾讯云通讯IM 接入小程序 (二)收发消息
*发送消息 : 1、发送普通文字消息 。 2、发送表情。 3、发送图片。4、发送语言。(常用的就这)
*接收消息: 文字、表情、图片、语言等 包括最近七天之内的历史消息等
本文来源:https://www.yuntue.com/post/78243.html | 云服务器网,转载请注明出处!