产品简介
IM 即时通讯是日常工作生活必备的工具之一,我们每天都被文本消息、语音消息、图片消息等各种信息包围着,IM 通信能力自主化和数据存储安全化关注度日益增高,JIM 在此背景下推出全新一代 IM 即时通讯系统,支持开发者自主选择部署方式和数据存储位置,提供公有云和私有云两种模式,公私有部署模式 IM 功能完全一致,开发者可以根据业务发展阶段和特性灵活选择高自主化和数据自有存储的私有云,也可选择简单可靠开箱即用的公有云服务。
对接 IM 服务会涉及 IM 服务端
、 开发者服务端
、 客户端(用户)
,客户端指对接 IM SDK 的 App 或者 Web 站点,三者交互关系如下图所示:
为了更好的和开发者服务进行互动融合,IM 服务提供覆盖 Android
、iOS
、Web
、Electron
多端 SDK 组件,支持 IM 服务端 REST API 调用和 WebHook 回调事件,IM 服务提供用户信息和群组信息管理能力,开发者处理最新聊天列表和消息列表时无需单独获取对应的群组信息、用户信息,SDK 自动将群组、用户信息组装后返回给开发者业务层,开发者按需渲染即可完成 IM 能力搭建。
单聊
单聊是 IM 产品中 两个人
之间沟通的统称,具体到业务场景里可以是 熟人私信、关注/互关互动、主播粉丝互动、陌生人私信、买卖双方沟 通等,单聊默认支持发送文本、图片、语音、文件消息,如需扩展消息类型,可通过 自定义消息 扩展,实现单聊通信核心步骤如下:
1、在开发者后台创建项目,得到 AppKey 和 Secret
2、开发者服务端调用用户注册接口,分别生成两个用户 A 和 B IM Token
3、启动两个 App 或者两个 Web 浏览器,根据快速集成指南连接只 IM 服务端
4、A 和 B 连接成功后,A 调用
sendMessage
设置会话类型为PRIVATE
、会话 Id 为 B 的用户 Id
5、B 的消息监听会触发,收到 A 发送的消息内容
群聊
群聊是 IM 产品中 两个人以上
沟通的统称,具体到业务场景里可以是 熟人群聊、粉丝群、车友群、家长群、公司群、部门群、售后群 等,群聊默认支持发送文本、图片、语音、文件消息,与单聊功能一致,如需扩展消息类型,可通过 自定义消息 扩展,实现群聊通信核心步骤如下:
1、在开发者后台创建项目,得到 AppKey 和 Secret
2、开发者服务端调用用户注册接口,分别生成 A、B、C 三个用户 IM Token
3、开发者服务端生成群组 Id
GroupId01
, 群成员包括 A、B、C
4、开发者服务端调用 IM 群组管理 REST API 创建群组 将群组关系同步至 IM 服务端
5、A 连接成功后,A 调用
sendMessage
设置会话类型为GROUP
、会话 Id 为GroupId01
6、B、C 连接成功后,消息监听会触发,收到 A 发送的群组消息
聊天室
聊天室是 IM 产品中 直播间发送弹幕
场景中的统称,主要应用在弹幕、礼物收发和信令控制,常见的应用场景有 电商直播、才艺直播、直播课、秀场直播、赛事直播、新闻直播、语聊房 等,涉及功能包括 点赞
、发送礼物
、弹幕
、在房人数统计
、购物车
等,实现直播场景中弹幕、点赞和礼物等功能,核心步骤如下:
1、在开发者后台创建项目,得到 AppKey 和 Secret
2、开发者服务端调用用户注册接口,分别生成 A、B、C 三个用户 IM Token
3、开发者服务端生成聊天室 Id
ChatroomId01
, 聊天室成员无需同步,可由用户在客户端自主加入
4、开发者服务端调用 IM 群组管理 REST API 创建聊天室 将聊天室同步至 IM 服务端
5、A 连接成功后,A 调用
joinChatroom
加入ChatroomId01
房间
6、A 调用
sendMessage
设置会话类型为CHATROOM
、会话 Id 为ChatroomId01
7、B、C 连接成功后, 调用
joinChatroom
加入ChatroomId01
房间
8、B、C 加入房间成功后消息监听触发,收到 A 在
ChatroomId01
发送的消息
系统通知
系统通知是 IM 产品中对服务端单向给用户推送消息的统称,系统通知
和 单聊
都是双方通信,区别在于单聊是支持互相发送消息,系统通知只能由服务端 API 发送消息,终端用户只能接收消息,支持发送文本、图片、语音、文件和自定义消息,主要应用在 全员广播、标签通知、官网号 等场景,实现系统通知核心步骤如下:
1、在开发者后台创建项目,得到 AppKey 和 Secret
2、开发者服务端调用用户注册接口,分别生成 A、B、C 三个用户 IM Token
3、开发者服务端以系统用
system_user
身份调用 系统通知 接口发送广播消息
4、B、C 连接成功后,消息监听会触发,收到
system_user
发送的系统通知