跳到主要内容
版本:v2

即时通讯功能介绍

即时通讯主要解决产品内即时通信、实时数据同步等需求,现在已经被广泛使用在游戏内玩家社交、沟通协同、客服、超大型赛事和电视直播,以及游戏状态同步等多种业务场景之中。

功能特色

1、支持为现有游戏快速加入多种通讯能力

针对稳定运行的游戏,可以无缝集成即时通讯功能。即时通讯服务也可以在应用账户系统独立的情况下,快速接入并稳定安全地运行。同时,我们支持了多种典型通讯场景,提供了丰富的 UI 库和脚手架来帮助开发者快速接入。并且考虑到业务运行环境,我们提供了全平台支持的 SDK。

2、强大的自定义机制满足业务各种扩展需求

系统默认支持了文本、图片、音视频、地理位置、二进制等多种类型的消息收发,同时也允许开发者来扩展自己的消息类型和 UI 样式。并且在基本功能之外,我们也支持更多定制化需求,例如消息撤回与修改、@ 成员提醒、暂态消息、「已读」回执、离线推送、敏感内容过滤等等与消息收发相关的功能,或者超大规模用户参与的「开放聊天室」,以及类似于微信公众号的「系统对话」能力。

3、具备严格的安全和权限控制机制

客户端与云端使用 WebSocket 全双工通讯,全程 TLS 加密传输。在用户登录和操作权限的控制上,我们专门设计了第三方操作签名的机制,让应用层在快速接入的同时,也可以实时、完整地控制用户在即时通讯系统内的所有活动。在群聊和开放聊天室等业务场景里,我们也提供了成员角色管理和黑名单的机制,以满足产品运营管理的多样需求。

4、专业技术支持服务,减少开发者生产运维成本

我们的资深工程师, 7 × 24 小时对接,提供专业的技术支持服务,帮助开发者快速、有效地完成产品集成,缩短开发周期。此外在产品运营阶段,开发者可以彻底摆脱后端系统日常的运维细节和突发的软硬件故障处理,同时也不用担心因用户量和流量的变化,而产生的系统不稳定的情况。

功能说明

1、基本聊天功能

支持多种聊天场景。除了普通的单聊、群聊之外,我们还提供不限人数的「开放聊天室」,适合活动直播、公开课、游戏中的世界聊天等海量用户在一个群里互动的场合,也提供了可用来实现应用内的公众号、服务号的「系统对话」,还有专为客服系统准备的「临时对话」。通过提炼不同场景的共通需求,我们提供了功能各异但接口一致的解决方案。
用户之间可以发送多种多样的消息,如文本、图片、语音、音视频、地理位置等,也可以发送 二进制消息,以及更多的应用层自定义消息。
聊天消息自动保存在云端,支持各种复杂的查找和翻页方式。

2、特殊的消息收发需求

带有提醒功能的 @ 消息(如微信里面的 @ 某人)
消息的 撤回和修改
消息送达和对方已读的 回执通知
群聊里面为了避免过于干扰,允许用户开启 消息免打扰 开关
发送譬如聊天过程中「某某正在输入…」这样的 状态信息
在消息接收方离线时,自动转为 推送通知(Push Notification)
对于大型的开放聊天室,为了防止重要消息被淹没或丢弃,支持不同 优先级 的发送选项,确保重要的消息能优先、迅速送达客户端

3、多端登录与消息同步

针对一个用户使用多个设备登录的情况,我们既支持单个账号在多个设备同时登录、即时通讯同步到所有设备,也支持 单点登录,可由业务层自主选择。 移动设备网络不稳定也是常态,聊天过程中用户难免会偶尔掉线,我们的 消息同步机制 可以确保用户消息及时得到同步,重要消息从不丢失。

4、管理与运营支持能力

对于大的群组和开放聊天室,我们提供了管理员、普通成员的 权限管理功能,也支持邀请、踢人、黑名单和禁言 等众多运营管理需求。 对于聊天消息,我们默认提供了 实时过滤敏感内容 的能力,允许各个产品设置自己的敏感词列表,并且也支持开发者实现自己的敏感词过滤插件,来确保产品运营层面合规合法。

5、安全控制能力

任何终端用户要开启即时通讯服务,只需要提供一个唯一标识自己的 clientId 即可,这种与产品自有账户系统解耦合的方式,带来了集成的便利,也可以促使通讯服务商专注做好底层的「信使」角色。 同时我们也提供 第三方鉴权 的机制,通过在聊天流程中加入开发者服务器签名授权这一环节,来确保通讯操作的安全。 而且,即时通讯 SDK 与云端是 WebSocket 全双工通讯,且全程使用 TLS 安全加密。

6、强大的业务扩展能力

对于很多典型的需求,我们提供了默认的实现,而为了支持业务的多样性和特殊性,我们也提供了丰富的扩展机制:

  • 为了和产品自有用户系统进行对接,我们提供了第三方操作鉴权的扩展接口,确保在用户登录、创建/加入/退出对话群组、以及拉取聊天记录时,所有操作都得到了授权。
  • 同时我们还支持开发者对消息传递的过程进行 hook 处理,在消息到达云端但是还没有投递之前和投递之后,分别完成自定义的处理逻辑,例如过滤掉竞品的品牌,以及自定义离线推送消息,等等。
  • 我们也支持通过简单的 web hook 来完成云端和应用后端的消息同步。
  • 在提供移动端的 SDK 之外,我们还提供了 REST API,以帮助产品在可信环境下更好地实现业务处理。