即时通讯 IM 主要功能
即时通讯 IM 主要功能
环信即时通讯 MI 支持单聊、群聊、聊天室和超级社区会话。本文展示各类会话的主要功能、用户管理功能、离线推送和内容审核功能。
单聊会话
单聊会话指两个用户一对一聊天。默认情况下,环信即时通讯 IM 支持两个陌生人进行聊天,即发送消息时不会验证是否为好友。即时通讯 IM 会建立会话,用户离线时会收到推送通知(若集成了第三方离线推送服务)。
消息相关
功能 | 描述 |
---|---|
发送和接收消息 | 发送和接收各类消息,包括文本、图片、音频、视频、文件消息、位置消息、命令消息、自定义消息以及合并消息。 |
本地存储 | 接收的消息存储在本地。 |
历史消息 | 环信服务器可存储消息。消息存储时间与你的产品套餐包相关,详见产品价格。 |
离线消息推送 | - 用户离线时,可向消息接收方发送推送通知。 - 支持离线消息存储,默认为 7 天。 |
搜索消息 | 按照关键字搜索本地会话中的各类消息。 |
消息撤回 | 撤回发送成功的消息。默认可撤回发出 2 分钟内的消息。你可以在环信即时通讯云控制台设置消息撤回时长,该时长不超过 7 天。 |
消息回执 | 消息送达回执和消息已读回执。 |
修改消息 | 编辑发送成功的消息。 |
表情回复 | 对消息添加、删除表情。 |
合并消息 | 将多个消息合并在一起进行转发。 |
导入和插入消息 | 在本地导入和插入消息。 |
删除消息 | 单向删除服务端和本地的历史消息、清除聊天记录。 |
置顶消息 | 置顶、取消置顶消息和获取置顶消息。 |
翻译消息 | 对文本消息按需翻译和自动翻译 |
只投在线用户 | 只将消息投递给在线用户。 |
消息审核(举报) | 举报违规消息。 |
获取消息流量统计 | 本地消息的流量统计 |
会话相关
功能 | 描述 |
---|---|
会话列表 | 从服务器或本地获取会话列表。 |
会话免打扰 | 可设置指定单聊会话,收到新消息后是否提醒。 |
会话已读回执 | 接收方阅读会话中的所有消息后向服务器发送会话已读回执。 |
会话未读数 | 获取和清零单聊会话的未读消息数。 |
会话置顶 | 将单聊会话固定在会话列表的顶部。 |
会话标记 | 对单聊会话添加标记。 |
会话删除 | 删除单聊会话。 |
用户关系
环信即时通信 IM 默认支持陌生人之间发送单聊消息,即无需添加好友即可聊天。若仅允许好友之间发送单聊消息,你需要在环信即时通讯云控制台开启好友关系检查。
功能 | 描述 |
---|---|
添加好友 | 发送、接收和处理好友请求。 |
移除好友 | 移除好友。 |
设置好友备注 | 设置单个好友的备注。 |
获取好友列表 | 从服务端或本地获取好友列表。 |
单聊黑名单 | 若不希望收到特定用户的消息,可将其加入到黑名单。可以将任何用户加入黑名单,不论该用户与你是否是好友关系。用户被加入黑名单后,仍在好友列表上显示,无法向你发送消息,也无法发送好友申请。 |
群组会话
群组是支持多人沟通的即时通讯系统,成员关系相对稳定。所有群成员可以收到群中的消息,可以在群中发送消息。群成员离线时可以收到推送消息。群组成员支持多种角色:群主、群管理员和普通成员。群组提供丰富的管理能力,如群组禁言、群公告和群文件等。
消息相关
功能 | 描述 |
---|---|
发送和接收消息 | 发送和接收各类消息,包括文本、图片、音频、视频、文件消息、位置消息、命令消息、自定义消息以及合并消息。 |
本地存储 | 接收的消息存储在本地。 |
历史消息 | 环信服务器可存储消息。消息存储时间与你的产品套餐包相关,详见产品价格。 |
离线消息推送 | - 用户离线时,可向消息接收方发送推送通知。 - 支持离线消息存储,默认为 7 天。 |
搜索消息 | 按照关键字搜索本地会话中的各类消息。 |
消息撤回 | 撤回发送成功的消息。默认可撤回发出 2 分钟内的消息。你可以在环信即时通讯云控制台设置消息撤回时长,该时长不超过 7 天。 |
消息回执 | 消息送达回执和消息已读回执。 |
修改消息 | 编辑发送成功的消息。 |
表情回复 | 对消息添加、删除表情。 |
定向消息 | 只向群组的单个或多个指定的成员发送消息,其他成员不会收到该消息。 |
合并消息 | 将多个消息合并在一起进行转发。 |
导入和插入消息 | 在本地导入和插入消息。 |
删除消息 | 单向删除服务端和本地的历史消息、清除聊天记录。 |
置顶消息 | 置顶、取消置顶消息和获取置顶消息。 |
翻译消息 | 对文本消息按需翻译和自动翻译 |
只投在线用户 | 只将消息投递给在线用户。 |
消息审核(举报) | 举报违规消息。 |
获取消息流量统计 | 本地消息的流量统计 |
提示
在消息方面,群聊会话与单聊会话的区别在于群聊支持定向消息。
会话相关
功能 | 描述 |
---|---|
会话列表 | 从服务器或本地获取会话列表。 |
会话免打扰 | 可设置指定群聊会话,收到新消息后是否提醒。 |
会话已读回执 | 接收方阅读会话中的所有消息后向服务器发送会话已读回执。与单聊会话不同,群聊会话已读回执只用于清空服务端的群聊会话的未读数,消息发送方不会通过回调收到会话已读回执。 |
会话未读数 | 获取和清零群聊会话的未读消息数。 |
会话置顶 | 将群聊会话固定在会话列表的顶部。 |
会话标记 | 对群聊会话添加标记。 |
会话删除 | 删除群聊会话。 |
创建和管理群组
功能 | 描述 |
---|---|
创建群组 | 任何用户均可创建群组。群组创建者为群主。。 |
解散群组 | 只有群主才能解散群组。 |
封禁/解禁群组 | 对群组封禁和解禁。 |
屏蔽和解除屏蔽群消息 | 所有群组成员都可以屏蔽(不收群组消息)和取消屏蔽群组消息。 |
查询群组信息
功能 | 描述 |
---|---|
获取群组详情 | 群成员可以从内存获取群组详情,例如群组 ID、群组名称、群组描述。 |
修改群组详情 | 修改群组详情,例如群组名称、描述和扩展信息。 |
获取群成员列表 | 从服务器获取群组成员的分页列表。 |
获取 app 中的群组列表 | 调用 REST API 分页获取应用下的群组的信息。 |
获取群组列表 | 用户可以获取公开群列表和自己创建或加入的群组列表。 |
查询当前用户已加入的群组数量 | 用户可以从服务器获取当前用户已加入的群组数量。 |
获取单个用户加入的所有群组 | 调用 REST API 根据用户 ID 分页获取指定用户加入的所有群组。 |
查看指定用户是否已加入群组 | 调用 REST API 查看单个用户是否已加入了指定的群组。 |
群属性管理
功能 | 描述 |
---|---|
修改群组信息 | 群主和群管理员可修改群名称、描述和扩展字段。 |
修改/获取群公告 | 群主和群管理员可设置群公告,群成员可获取群公告。 |
管理共享文件 | 群主和群管理员可上传文件并删除所有群共享文件,群成员只能删除自己上传的文件。 |
群成员管理
功能 | 描述 |
---|---|
加入群组 | - 对于公开群和私有群,群主和管理员均可以邀请用户加入群。 - 对于公开群,用户也可以申请加入。 |
退出群组 | 主动退群和被群主或群管理员踢出群。 群主不支持退群操作,只能解散群。 |
变更群主 | 群主可以将群组的所有权转让给指定的组成员。 |
添加/移除/获取群管理员 | 群主可以添加成员到群组管理员列表,将管理员移出该列表。 |
群组白名单 | 群主和管理员可以将群成员加入或移出白名单。 白名单成员可在全员禁言状态下发送群消息。 |
群组黑名单 | 群主和群管理员可以将群成员加入或移出黑名单。 黑名单中的成员将被移出群且无法再次加入群。 |
群组禁言 | - 群主和管理员可以将群成员加入或移出禁言列表,禁言列表中的成员无法发送群消息,但可以接收群消息。 - 支持开启或关闭全员禁言。 |
管理群成员的自定义属性 | 支持设置群成员自定义属性和获取单个群成员的自定义属性,例如设置群组昵称和头像等。 群主可修改所有群成员的自定义属性,其他群成员只能修改自己的自定义属性。 |
子区(Thread)
子区可由群成员基于一条群组消息创建,是群组的子集,该条群组消息称为子区的父消息。
子区管理
功能 | 描述 |
---|---|
创建子区 | 所有群成员均可基于一条群组消息新建子区。 |
解散子区 | 仅子区所在群组的群主和群管理员可以解散子区。 |
加入子区 | 子区所在群组的所有成员均可以加入子区。你可以调用 REST API 批量加入子区。 |
退出子区 | 子区成员可主动退出子区或被群主和群管理员移除子区。 |
修改子区名称 | 仅群主和群管理员以及子区创建者可以修改子区名称。 |
获取子区详情 | 子区所属群组的所有成员均可以从服务器获取子区详情。 |
获取子区成员列表 | 子区所属群组的所有成员均可以从服务器分页获取子区成员列表。 |
获取子区列表 | -从服务器分页获取 app 中或单个群组中自己加入和创建的子区列表。 |
批量获取子区中的最新消息 | 用户可以从服务器批量获取子区中的最新一条消息。 |
获取子区 | 获取 app 下的所有子区、单个用户加入的所有子区以及在指定群组中加入的所有子区。 |
子区消息管理
功能 | 描述 |
---|---|
发送子区消息 | 发送子区消息和发送群组消息的方法基本一致。唯一不同的是,发送子区消息需要指定是否是子区的标记。 |
接收子区消息 | 接收子区消息与接收单聊、群聊和聊天室相同。 |
撤回子区消息 | 撤回子区消息的逻辑与撤回单聊、群聊和聊天室相同。 |
获取子区消息 | 从服务器或本地获取单个子区的消息。 |
聊天室会话
聊天室是支持多人加入的类似 Twitch 的组织,可以应用于直播、消息广播等。聊天室中的成员没有固定关系,一旦离线后,不会收到聊天室中的任何消息。
聊天室成员数上限(包括聊天室所有者)默认最大值为 10,000,如需调整请联系商务。
消息相关
功能 | 描述 |
---|---|
发送和接收消息 | 发送和接收各类消息,包括文本、图片、音频、视频、文件消息、位置消息、命令消息、自定义消息以及合并消息。 |
历史消息 | 环信服务器可存储消息。消息存储时间与你的产品套餐包相关,详见产品价格。要从服务器拉取聊天室的历史消息,需升级 SDK 到特定版本,并联系环信商务开通。 |
消息撤回 | 撤回发送成功的消息。默认可撤回发出 2 分钟内的消息。你可以在环信即时通讯云控制台设置消息撤回时长,该时长不超过 7 天。 |
修改消息 | 编辑发送成功的消息。 |
定向消息 | 只向聊天室的单个或多个指定的成员发送消息,其他成员不会收到该消息。 |
合并消息 | 将多个消息合并在一起进行转发。 |
删除消息 | 单向删除服务端的历史消息、清除聊天记录。 |
置顶消息 | 置顶、取消置顶消息和获取置顶消息。要从服务器拉取聊天室的历史消息,需升级 SDK 到特定版本,并联系环信商务开通。 |
翻译消息 | 对文本消息按需翻译和自动翻译。 |
消息审核(举报) | 举报违规消息。 |
获取消息流量统计 | 本地消息的流量统计。 |
提示
与单聊和群组聊天不同,聊天室不支持离线消息推送和本地消息操作。
创建和管理聊天室
功能 | 描述 |
---|---|
创建聊天室 | 只有被赋予 超级管理员 权限的用户有权限创建聊天室。建议调用 REST 接口创建聊天室。 |
加入聊天室 | 没有被加入黑名单的所有 app 用户可自由加入聊天室。 |
离开聊天室 | 主动退出聊天室或被移出聊天室。 |
解散聊天室 | 聊天室所有者可解散聊天室。 |
获取聊天室详情 | 所有聊天室成员有权限获取聊天室详情,例如聊天室 ID、名称,和描述等。 |
实时更新聊天室成员人数 | 聊天室短时间内有成员频繁加入或退出时,可实时更新聊天室成员人数。 |
聊天室成员管理
功能 | 描述 |
---|---|
获取聊天室成员列表 | 所有聊天室成员均可获取当前聊天室成员列表。 |
变更聊天室所有者 | 聊天室所有者可以将聊天室的所有权转让给指定的聊天室成员。 |
聊天室禁言列表 | 聊天室所有者或管理员可对单个聊天室成员进行禁言或移出禁言。 |
聊天室全员禁言 | 聊天室所有者或管理员可进行全员禁言。默认聊天室所有者和管理员不禁言。 |
聊天室按标签禁言(服务端) | 设置用户在聊天室中的标签,按标签对用户禁言。 |
聊天室白名单 | 聊天室所有者或管理员可将成员加入或移出白名单。全员禁言时,白名单的成员可以发消息。 |
聊天室黑名单 | 聊天室所有者或管理员可将成员加入或移出黑名单。 黑名单中的成员需要聊天室所有者主动从黑名单移除后才能再次加入聊天室。 |
管理聊天室管理员 | 仅聊天室所有者可添加或移除管理员。 |
聊天室属性管理
功能 | 描述 |
---|---|
修改聊天室名称 | 仅聊天室所有者可修改聊天室名称。 |
获取/更新聊天室公告 | 仅聊天室所有者可更新公告、删除公告。 所有成员可获取公告。 |
管理聊天室自定义属性(key-value) | 设置、获取和删除以及强制设置和强制删除聊天室自定义属性。 |
超级社区
环信超级社区(Circle)是一款基于环信 IM 打造的类 Discord 实时社区应用场景方案,支持社区(Server)、频道(Channel) 和子区(Thread) 三层结构。一个 App 下可以有多个社区,同时支持陌生人/好友单聊。用户可创建和管理自己的社区,在社区中设置和管理频道将一个话题下的子话题进行分区,在频道中根据感兴趣的某条消息发起子区讨论,实现万人实时群聊,满足超大规模用户的顺畅沟通需求。
消息相关
功能 | 描述 |
---|---|
发送和接收消息 | 发送和接收各类消息,包括文本、图片、音频、视频、文件消息、位置消息、命令消息、自定义消息以及合并消息。 |
本地存储 | 接收的消息存储在本地。 |
历史消息 | 环信服务器可存储消息。消息存储时间与你的产品套餐包相关,详见产品价格。 |
搜索消息 | 按照关键字搜索本地会话中的各类消息。 |
消息撤回 | 撤回发送成功的消息。默认可撤回发出 2 分钟内的消息。你可以在环信即时通讯云控制台设置消息撤回时长,该时长不超过 7 天。 |
表情回复 | 对消息添加、删除表情。 |
导入和插入消息 | 在本地导入和插入消息。 |
删除消息 | 单向删除服务端和本地的历史消息、清除聊天记录。 |
翻译消息 | 对文本消息按需翻译和自动翻译 |
消息审核(举报) | 举报违规消息。 |
社区管理
功能 | 描述 |
---|---|
创建社区 | 每个用户默认最多可创建 100 个社区,如需调整该阈值,请联系商务。 |
修改社区信息 | 社区所有者和管理员可修改社区基本信息。 |
解散社区 | 解散社区需要社区所有者权限。 解散社区后所有成员将收到社区解散的回调信息。 |
添加社区标签 | 社区所有者和管理员可以给社区增加标签,非社区内用户可以通过搜索标签找到社区。每个社区最多可添加 10 个标签。 |
移除社区标签 | 社区所有者和管理员可以移除社区已有标签。 |
获取社区标签列表 | 社区成员可获取社区标签列表。 |
获取社区详情 | 用户可以获取社区的详情。 |
获取已加入社区 | 获取用户已加入的社区列表。 |
搜索公开社区 | 社区成员可以根据社区名称或标签名称搜索公开社区。 |
分页获取社区成员列表 | 分页获取指定社区中的成员列表。 |
社区成员管理
功能 | 描述 |
---|---|
加入社区 | 社区分为公开和私密社区。 - 对于公开社区,用户可以通过搜索社区名称和标签的方式申请加入社区,或者由社区内成员邀请加入。 - 对于私密社区,只能通过社区内成员邀请加入。用户可以选择同意或拒绝加入社区。 |
退出社区 | 社区所有者不支持退出社区操作,只能解散社区。 退出社区分为主动退出和被动退出,被动退出即为被社区所有者或管理员踢出社区。社区所有者和管理员可将普通用户踢出社区,管理员只能被社区所有者踢出社区。 |
查询当前用户是否在社区内 | 可判断指定用户是否已经加入了指定社区。 |
修改社区中成员角色 | 社区所有者可以将管理员权限赋予社区中普通用户,或移除管理员权限将其变为普通用户。 |
查询当前用户在社区内角色 | 社区内成员可以获取社区内用户的角色。 |
频道管理
功能 | 描述 |
---|---|
创建频道 | 社区所有者可以在社区中创建公开或私密频道。 |
修改频道信息 | 社区所有者和管理员可以修改频道的属性。 |
解散频道 | 社区所有者可以解散社区中的频道。 |
获取频道详情 | 社区成员可获取频道的详情。 |
获取社区的公开频道列表 | 社区成员可以获取社区下的所有公开频道的列表。 |
获取社区的私密频道列表 | 社区成员可以获取社区下的所有私密频道的列表。 |
获取社区中用户加入的频道列表 | 社区成员可以获取自己已经加入的频道。 |
获取频道的成员列表 | 频道成员可以获取该频道下的成员列表。 |
创建频道分组 | 社区所有者可以创建频道分组。 |
修改频道分组名称 | 社区所有者可修改频道分组名称。 |
获取社区下的频道分组列表 | 社区成员可以获取社区下的频道分组列表。 |
删除频道分组 | 社区所有者可以删除频道分组。 |
分页获取频道分组下的公开频道列表 | 社区成员可以分页获取频道分组下公开的频道列表。 |
分页获取频道分组下的私密频道列表 | 社区成员可以分页获取频道分组下的私密频道列表。 |
更换频道所属的频道分组 | 社区所有者和管理员可以将指定的频道从一个频道分组转移至另一个频道分组中。 |
频道成员管理
功能 | 描述 |
---|---|
加入频道 | 频道分为公开和私密频道。 - 对于公开频道,用户可以获取公开频道列表,然后申请加入频道,或者由频道成员邀请加入。 - 对于私密频道,只能通过频道成员邀请加入。用户可以选择同意或拒绝加入频道。 |
退出频道 | 退出频道分为主动退出和被动退出,被动退出即被社区所有者或管理员踢出频道。 |
查询用户是否在频道中 | 查询指定用户是否在指定频道中。 |
频道禁言/解除禁言 | 社区所有者和社区管理员可以将频道成员加入或移出禁言列表,禁言列表中的成员无法发送频道消息,可以接收频道中的消息。 |
获取频道下的禁言列表 | 社区所有者和社区管理员可以获取频道下被禁言用户的列表。 |
子区管理
功能 | 描述 |
---|---|
创建子区 | 频道成员可以在频道中创建子区。 |
加入子区 | 频道成员可以加入频道下的子区。 |
退出子区 | 子区成员可以主动退出或被移出自己加入的子区。 |
删除子区 | 社区所有者可以删除该频道中的子区。 |
获取子区详情 | 频道成员可以获取子区的详情。 |
获取频道下创建的子区列表 | 频道成员可以获取在指定频道下创建的子区列表。 |
获取频道下加入的子区列表 | 频道成员可以获取频道下加入的子区。 |
获取频道的子区列表 | 频道成员获取频道的所有子区的列表。 |
修改子区名称 | 社区所有者、社区管理员和子区的创建者可以修改子区的名称。 |
用户相关
用户账号管理
通过调用 RESTful API,可进行如下用户账号操作:
功能 | 描述 |
---|---|
注册用户 | 单次请求最多可注册 60 个用户 ID。 |
获取用户详情 | 用户名称、创建时间以及推送设置等。 |
删除用户账号 | 删除某个 App 下指定数量的用户账号。 |
修改用户密码 | 修改用户的登录密码,不需要提供原密码。 |
封禁/解禁用户 | 禁用用户,使其立即下线并无法登录进入环信即时通讯 IM,直到被解禁后才能恢复登录。 |
强制用户下线 | 将用户状态改为离线,用户需要重新登录才能正常使用。 |
获取用户在线状态 | 查看单个用户是在线还是离线状态。 |
获取指定账号的在线登录设备列表 | 获取指定账号的在线登录设备列表。 |
用户属性
功能 | 描述 |
---|---|
设置用户属性 | 设置用户昵称、头像、邮箱、电话等。 |
获取用户属性 | 获取指定一个或多个用户的全部用户属性。 |
获取 app 下用户属性总大小(仅服务端) | 获取该 app 下所有用户的属性数据大小,单位为字节。 |
删除用户属性 | 删除单个用户的所有属性。 |
在线状态订阅
功能 | 描述 |
---|---|
订阅指定用户的在线状态 | 每个用户 ID 订阅的用户数不超过 3000。 |
发布自定义在线状态 | 发布自定义在线状态。 |
取消订阅指定用户的在线状态 | 不再订阅指定用户的在线状态。 |
查询被订阅用户列表 | 分页查询自己订阅的用户列表。 |
获取用户的当前在线状态 | 获取用户当前的在线状态,包括未订阅的用户的状态。 |
用户全局禁言
你可以调用 RESTful API 实现用户全局禁言:
功能 | 描述 |
---|---|
设置用户全局禁言 | 对单个用户 ID 在所有单聊、群组或聊天室中禁言,使其无法发送消息。 |
查询单个用户 ID 全局禁言 | 查询单个用户的单聊、群聊和聊天室的全局禁言详情。 |
查询 app 下的所有全局禁言的用户 | 查询 app 下所有全局禁言的用户及其禁言剩余时间。 |
离线推送
环信即时通讯 IM 的 Android、iOS、uni-app 和 React Native SDK 支持离线推送,支持的手机厂商推送服务包括 APNs、Google FCM、华为、荣耀、小米、OPPO、VIVO 和魅族。
功能 | 描述 |
---|---|
绑定和解绑推送信息 | 将设备与推送信息会进行绑定获解绑,包括设备 ID、推送证书和 device token。 |
设置推送标题和推送内容 | 可以通过以下方式设置推送的标题和内容: - 调用方法设置; - 使用推送模板 - 使用消息扩展字段 |
设置推送昵称 | 设置离线推送时通知栏中显示的消息发送方的昵称。 |
设置通知方式 | 包括三种方式: - 接收所有离线消息的推送通知。 - 仅接收提及某些用户的消息的推送通知。 - 不接收离线消息的推送通知。 |
设置免打扰模式 | 设置免打扰时间段和免打扰时长。 |
设置推送通知的首选语言 | 若启用了翻译功能,SDK 会同时发送原始消息和翻译后的消息。如果翻译消息的语言符合你的设置,则翻译消息显示在推送通知中;否则,将显示原始消息。 |
设置推送扩展功能 | 利用扩展字段实现自定义推送设置,例如强制推送和发送静默消息。 |
查询离线推送结果统计数据 | 可以通过环信控制台查询离线推送的结果。 |
内容审核
支持使用环信即时通讯 IM 内容审核服务对消息内容进行多样化场景检测,帮助你对应用消息内容进行管控,规避内容违规风险。
功能 | 描述 |
---|---|
多消息类型审核 | 智能识别文本、图片和音视频文件。 |
自定义消息处置规则 | 自定义消息下发或拦截的策略。 |
消息审核结果可回调 | 支持将消息审核结果回调至客户服务器。 |
一站式内容审核后台 | 提供可视化的内容审核后台,支持查询审核记录、审核数据统计。 |