该版本于 2022 年 9 月 1 日发布。
细化了 CHANNEL_MESSAGE_ERR_NOT_IN_CHANNEL = 5 错误码的触发条件,便于用户定位和排查。
在先前版本中,用户未登录系统和未加入频道导致的频道消息发送失败,均返回 CHANNEL_MESSAGE_ERR_NOT_IN_CHANNEL = 5 错误码。
自该版本起,发送频道消息时,
CHANNEL_MESSAGE_ERR_USER_NOT_LOGGED_IN = 102 错误码。CHANNEL_MESSAGE_ERR_NOT_IN_CHANNEL = 5 错误码。该版本于 2022 年 7 月 27 日发布。
富媒体传输、历史消息 和 离线消息 功能于该版本正式下线。旧版本 SDK 会继续支持,已集成这些功能的用户不受影响。
修复了请求超时输出日志的单位,先前为毫秒 (ms),现修复为秒 (s)。
废弃
createMediaMessageByUploadingdownloadMediamessageType 中的 IMAGE 和 FILERtmImageMessageRtmFileMessageMediaTransferHandlerMediaOperationProgressUploadMediaErrorDownloadMediaErrorSendMessageOptions该版本于 2022 年 5 月 31 日发布。
该版本改进了以下问题:
subscribePeersOnlineStatus 方法的调用频率超过每 5 秒 10 次时,SDK 返回 PEER_SUBSCRIPTION_STATUS_ERR_TOO_OFTEN (5) 错误码。subscribePeersOnlineStatus 方法订阅的用户数超过 512 人数上限时,SDK 返回 PEER_SUBSCRIPTION_STATUS_ERR_OVERFLOW (6) 错误码。该版本修复了当 Safari 浏览器或其标签页在 macOS 后台运行时,RTM Web SDK 与 RTM 系统不断重连的问题。
该版本于 2021 年 12 月 24 日发布。
修复了在 Chrome 88 及以上版本使用声网 RTM Web SDK 的前提下,当浏览器或标签页进入后台运行时,RTM Web SDK 可能出现与 RTM 系统重连(连接状态为 RECONNECTING)的问题。
该版本于 2021 年 5 月 27 日发布。
域名白名单变更
自 1.4.3 版本起,SDK 的域名白名单变更为:
.edge.agora.io.edge.sd-rtn.comweb-1.ap.sd-rtn.comweb-2.ap.sd-rtn.comap-web-1.agora.ioap-web-2.agora.iowebcollector-rtm.agora.iologservice-rtm.agora.iortm.statscollector.sd-rtn.comrtm.logservice.sd-rtn.com为确保你在有网络访问限制的环境中能够使用声网产品,如果你将 SDK 升级至 1.4.3 版本,请务必更新防火墙的域名白名单。
设置区域访问限制
新增 AgoraRTM.setArea 方法用于指定声网 RTM SDK 的访问区域。该功能为高级设置,适用于有访问安全限制的场景。
指定访问区域之后,SDK 只会连接到指定区域内的声网服务器。支持的区域如下:
支持通过 AgoraRTM.setArea 方法中的 excludeArea 参数,去除访问区域中的个别区域。该设置仅对于 GLOBAL 的访问区域有效。详见限定访问区域。
废弃 createInstance 并新增同名方法替代。新方法去除 areaCodes 参数设置,即不再通过 createInstance 方法设置声网 RTM SDK 的访问区域。
新增
废弃
createInstance,使用新的 createInstance 。
该版本于 2021 年 3 月 2 日发布。
行为变更
setParameters 方法的作用,该版本新增了功能完全相同的 updateConfig 方法,并废弃了原有的 setParameters 方法。content 的参数大小超过 8 KB 时,INVITATION_API_CALL_ERR_INVALID_ARGUMENT 错误码的触发条件从调用 setContent 时触发改为调用 send 时触发。兼容性变更
sha1 变量中<script src="https://cdn.jsdelivr.net/npm/js-sha1@0.6.0/src/sha1.min.js"></script>
window.sha1 = require('js-sha1')
ReceivedMessageProperties 对象的 isHistoricalMessage 成员变量。LocalInvitationRemoteInvitationRtmMessageRtmRawMessageRtmTextMessageRtmFileMessageRtmImageMessagedownloadMedia 下载的二进制 Blob 对象添加相应 MIME 类型,支持自动检测并添加以下 MIME 类型:新增
废弃
setParameters
ReceivedMessageProperties 对象的 isHistoricalMessage 成员变量
该版本于 2020 年 11 月 5 日发布。
新增功能
修复了与 RTM Native SDK 互通时的性能问题。
该版本于 2020 年 9 月 25 日发布。
升级必看
1.4.0 版仅支持 TypeScript 3.8 或以上版本。
新增功能
增加限定访问区域功能。你可以通过 createInstance 方法中的 areaCodes 参数设置声网 RTM SDK 的访问区域。设置之后,RTM SDK 只能连接位于限定区域的声网 RTM 服务器。详见限定访问区域。
API 变更
createInstance 方法新增 areaCodes 参数。
该版本于 2020 年 8 月 12 日发布。
问题修复
TokenExpired 回调无法及时触发的问题。该版本于 2020 年 6 月 24 日发布。
升级必看
新增特性
你可以通过 createMediaMessageByUploading 方法上传不超过 30 MB 的非空文件或图片。每个上传成功的文件或图片会在声网服务器保存七天,SDK 会返回一个 media ID 作为此文件或图片的唯一标识。你可以使用 RtmFileMessage 接口或 RtmImageMessage 接口保存 SDK 返回的 media ID。RtmFileMessage 接口和 RtmImageMessage 接口都是 RtmMessage 接口的类型别名,所以你可以通过点对点消息或频道消息发送和接收文件消息或图片消息。你可以使用 downloadMedia 方法下载接收到的文件或图片。
你可以通过 mediaTransferHandler 接口取消上传或下载任务,或者报告上传或下载的进度。
问题修复
解决了部分地区用户无法登录的问题。
API 变更
createMediaMessageByUploading 方法downloadMedia 方法createMessage 方法RtmImageMessage 接口RtmFileMessage 接口mediaTransferHandler 接口mediaOperationProgress 接口该版本于 2020 年 2 月 21 日发布。
兼容性改变
发送频道消息的超时时间由 5 秒变更为 10 秒。
问题修复
从 Windows 平台上较新版本 Chrome 登录声网 RTM 系统会偶尔收到错误码 LOGIN_ERR_UNKNOWN。
该版本于 2019 年 12 月 17 日 发布。
新增功能
支持与老信令 SDK 的 endCall 方法兼容
你可以调用 sendMessageToPeer 方法在发送文本消息时将消息设为 AgoraRTMLegacyEndcallCompatibleMessagePrefix_<channelId>_<your additional information> 格式即可。请以 endCall 对应频道的 ID 替换 <channelId>, <your additional information> 为附加文本信息。请注意:附加文本信息中不可使用下划线 "_" ,附加文本信息可以设为空字符串 "" 。
问题修复
MemberJoined 回调的问题。该版本于 2019 年 11 月 15 日发布。新增如下功能:
新增功能
本版本支持订阅或取消订阅最多 512 个用户的在线状态。首次订阅成功时,SDK 会通过 PeersOnlineStatusChanged 回调返回所有被订阅用户的在线状态;之后每当有被订阅用户的在线状态出现变化,SDK 都会通过 PeersOnlineStatusChanged 回调通知订阅方。
本版本支持根据被订阅类型获取被订阅用户列表。现实情况中,你可能多次订阅或取消订阅,可能重复订阅了相同用户,可能出现订阅或取消订阅不成功的情况,也可能根据不同的订阅类型订阅了不同的用户。这时,你可以通过本功能根据订阅类型获取当前被订阅用户列表。
被订阅类型由枚举类型 PeerSubscriptionOption 定义。本版本仅支持用户在线状态订阅一种类型,后继会不断扩展。
本版本支持创建自定义二进制消息,支持以点对点消息或频道消息形式发送多种文件格式。
问题修复
SDK 偶尔会被服务端踢开:问题发生时,Client 实例会收到 ConnectionStateChange 回调,状态改变为 ABORTED,改变原因为 INTERRUPTED;日志显示服务端错误码为 10001。
该版本于 2019 年 9 月 30 日发布。新增如下功能:
兼容性改动
RtmMessage 对象的 serverReceivedTs 方法由仅支持点对点消息改为同时支持点对点消息和频道消息。新增功能
支持在不加入频道的情况下通过主动调用 getChannelMemberCount 接口查询单个或多个频道的频道人数。一次最多可查询 32 个频道的成员人数。
如果你已经加入某频道,你无需调用 getChannelMemberCount 接口查询当前频道人数。我们也不建议你通过监听 MemberJoined 和 MemberLeft 统计频道成员人数。从本版本开始,SDK 会在频道成员人数发生变化时通过 MemberCountUpdated 回调接口通知频道成员并返回当前频道成员人数:
支持设置或查询某个指定频道的属性。你可以用频道属性实现群公告、上下麦同步等功能。
每个频道属性为 key 和 value 的键值对。其中:
支持功能包括:
在进行频道属性的更新或删除操作时,你可以通过设置标志位 enableNotificationToChannelMembers 决定是否通知对应频道所有成员本次频道属性变更。
性能改进
本版本优化了点对点消息在弱网情况下的重发机制,并延长点对点消息超时时间为 10 秒,提高了在弱网情况下点对点消息的发送成功率。
声网 RTM 系统会对短期掉线后重连成功的频道成员补发最长 30 秒最多 32 条的频道消息,提高了弱网情况下频道消息的到达率。
API 变更
该版本于 2019 年 9 月 5 日发布。
问题修复
功能改进
该版本于 2019 年 8 月 5 日发布。
新增功能
支持与声网 Signaling SDK 互通。
本版本在 LocalInvitation 类中实现了 channelId 属性。
- 如需与声网 Signaling SDK 互通,则必须调用
channelId属性设置频道 ID。不过即使被叫成功接受呼叫邀请,声网 RTM SDK 也不会将主叫或被叫加入指定频道。- 如果你的应用不涉及声网 Signaling SDK,我们推荐使用
LocalInvitation.content或者RemoteInvitation.response属性设置自定义内容。
支持通过设置 logFilter 参数将日志内容按照 OFF、ERROR、WARNING 和 INFO 不同等级输出 。
API 变更
新增
该版本于 2019 年 7 月 24 日发布。
新增功能
本版本支持发送离线消息。在开通离线消息后,用户不必等到接收端上线才能发送点对点消息。如果对端离线,消息服务器会为每个接收端存储 200 条离线消息长达七天。消息以队列形式存储。当离线消息超限时,最新存储的消息会导致最老的消息丢失。
该方法的调用频率限制为每秒 60 条(点对点消息和频道消息一并计算在内)。
本版本支持设置和查询用户属性。每个用户属性为 key 和 value 的键值对。每个属性的 key 为 32 字节可见字符,每个属性的 value 的字符串长度不得超过 8 KB。单个用户的全部属性长度不得超过 16 KB。以下为本版本支持内容:
- 设置的用户属性会在用户登出声网 RTM 系统后自动失效。
本版本引入了新的概念:在线和离线。一般情况下:
本版本增加了查询用户在线状态功能。你可以在登录声网 RTM 系统后查询最多 256 个指定用户的在线状态。
本版本提供了更新 Token 的功能
API 变更
该版本于 2019 年 5 月 20 日发布。
新增功能
本版本增加了呼叫邀请功能。结合音视频一对一或一对多通话场景,你可以创建、发送、取消、接受或拒绝一个呼叫邀请。
性能改进
uid 允许以空格开头。API 变更
新增
RtmClient 的事件 ConnectionStateChange 更名为 ConnectionStateChanged 。RtmChannel getId 方法,改用 channelId 代替。该版本于 2019 年 2 月 4 日发布。
首次发布。
主要功能