单聊消息
应用场景
App 内双人聊天
单聊消息适用于 App 内双人聊天。
App 管理员发送消息
单聊消息可以由 App 管理员在后台发送消息,也可以模拟其他用户身份发送消息。
App 管理员模拟系统消息
通过 App 管理员在后台发送消息,可以模拟系统消息,以系统消息的形式给用户下达通知,App 端收到 App 管理员的自定义消息可做特殊处理。
即时通信 IM 提供完善的单聊消息能力,同时,我们也提供针对单聊消息的权限控制及扩展能力,帮助客户实现获取消息记录、多终端同步、离线消息推送及携带发送者资料等能力。
单聊消息类型
功能类型 | 功能描述 |
文本消息 | 消息内容是普通文本 |
表情消息 | 表情消息为开发者自定义 |
地理位置消息 | 消息内容为地理位置标题、经度、纬度信息 |
图片消息 | 消息内容为图片的 URL 地址、尺寸、图片大小等信息,最大支持大小为28M的图片 |
语音消息 | 消息内容为语音文件的 URL 地址、大小、时长等信息,最大支持大小为28M的语音文件 |
文件消息 | 消息内容为文件的 URL 地址、大小、格式等信息,格式不限,最大支持大小为100M的文件 |
短视频消息 | 消息内容为短视频文件的 URL 地址、时长、大小、格式等信息,最大支持大小为100M的短视频文件 |
自定义消息 | 开发者自定义的消息类型,例如红包消息、石头剪刀布等形式的消息 |
系统通知消息 | 包含内置的系统通知消息和开发者自定义系统通知消息 |
单聊消息能力
单聊消息能力 | 功能描述 | 应用场景 |
发送单聊消息 | 可通过 SDK 和 REST API 发送单聊消息 | App 内双人聊天 App 管理员发送消息 App 管理员模拟系统消息 |
接收单聊消息 | 可通过 SDK 接收单聊消息 | 接收在线消息 接收离线消息 查询历史消息 |
单聊消息权限控制
单聊消息权限控制 | 功能描述 | 应用场景 |
App 内任意两个用户之间发送单聊消息 | 支持任意两个陌生人发送消息 | 陌生人发送消息 |
App 管理员发送单聊消息 | App 内管理员可以给任意用户发送单聊消息 | App管理员模拟其他用户发送消息 App 管理员模拟系统消息 |
只允许给好友发送消息 | 支持仅好友发送消息 | 好友发送消息 |
拒绝来自某人的消息 | 可通过黑名单拒绝来自某用户的消息 | 解除好友关系 拒绝某人消息 |
单聊消息扩展能力
单聊消息扩展能力 | 功能描述 | 应用场景 |
获取聊天记录 | 可通过 SDK 或 REST API 获取历史消息 | 获取实时聊天记录 定期下载消息记录 |
多终端同步 | 支持单聊消息多终端同步 | 用户多终端消息同步 |
单聊消息离线推送 | 支持 Apple、华为、小米、OPPO、vivo 和魅族等品牌手机离线推送 | 消息离线推送 |
单聊消息中携带发送者资料 | 可实现消息中携带发送者资料 | 展示发送者昵称、头像等 |
单聊离线消息处理流程
单聊消息离线缓存及漫游处理流程:
1. 用户 A 调用
sendMessage
给用户 B 发送消息,用户 B 处于下线状态。把用户 A 添加进用户 B 的最近联系人,缓存大小为100条。
把消息存入离线缓存中,时间限制7天。
把消息存入漫游服务器中,时间限制7天。
2. 用户 B 调用
login
接口登录即时通信 IM。3. SDK 自动拉取离线缓存中的消息,通过
OnNewMessage
抛出。4. SDK 自动拉取最近联系人,通过
OnNewMessage
接口抛出。5. 同步消息过程完成,通过
OnRefresh
接口通知用户已完成消息同步。6. 用户调用
getMessage
,如果本地消息不完整,SDK 自动拉取漫游服务器。