该版本于 2022 年 9 月 1 日发布,提升了 SDK 的稳定性。
该版本于 2022 年 7 月 27 日发布。
富媒体传输、历史消息 和 离线消息 功能于该版本正式下线。旧版本 SDK 会继续支持,已集成这些功能的用户不受影响。
废弃
createFileMessageByMediaId
createFileMessageByUploading
createImageMessageByMediaId
createImageMessageByUploading
cancelMediaUpload
cancelMediaDownload
downloadMediaToMemory
downloadMediaToFile
enableOfflineMessaging
enableHistoricalMessaging
onFileMessageReceived
onFileMessageReceivedFromPeer
onImageMessageReceived
onImageMessageReceivedFromPeer
onMediaUploadingProgress
onMediaDownloadingProgress
该版本于 2022 年 03 月 01 日发布。
修复了一些富媒体相关的崩溃问题。
该版本于 2021 年 11 月 26 日发布。
提升了 IPv4/IPv6 双栈网络下登录成功率和连接稳定性。
该版本于 2021 年 7 月 19 日发布。
提高了弱网状态下的登录成功率和消息投递成功率。
该版本于 2021 年 6 月 21 日发布。
修复了一些可能导致崩溃的问题,优化了稳定性。
该版本于 2021 年 4 月 30 日发布。
修复了一些可能导致崩溃的问题,优化了稳定性。
该版本于 2021 年 4 月 20 日发布。
该版本于 2021 年 2 月 10 日发布。
该版本修复了以下问题:
该版本于 2020 年 11 月 23 日发布。
setLogFileSize
日志文件的大小默认值从 10 MB 增加到 100 MB。RTM_AREA_CODE
枚举定义了 AGORA_SDK_BOTH_RTM_AND_RTC
宏,可以用来解决 RTC 与 RTM 共同使用时命名冲突的问题。该版本于 2020 年 9 月 30 日发布。
优化了日志文件。
该版本于 2020 年 9 月 1 日发布。
setLogFileSize
日志文件的大小默认值从 512 KB 增加到 10 MB。上限从 10 MB 增加到 1 GB。setRtmServiceContext
方法设置声网 RTM SDK 的访问区域。设置之后,RTM SDK 只能连接位于限定区域的声网 RTM 服务器。操作 | 调用频率变化 |
---|---|
点对点或频道消息发送 | 由每 3 秒 300 次增加到每 3 秒 1500 次 |
用户在线状态查询 | 由每 5 秒 20 次增加到每 5 秒 100 次 |
用户属性增删修改 | 由每 5 秒 20 次增加到每 5 秒 100 次 |
用户属性查询 | 由每 5 秒 80 次增加到每 5 秒 400 次 |
频道属性增删修改 | 由每 5 秒 20 次增加到每 5 秒 100 次 |
频道属性查询 | 由每 5 秒 80 次增加到每 5 秒 400 次 |
新增方法
该版本于 2020 年 6 月 12 日发布。
1. 发送和接收文件或图片消息
你可以通过 createFileMessageByUploading
方法或 createImageMessageByUploading
方法上传不超过 30 MB 的非空文件或图片。每个上传成功的文件或图片会在声网服务器保存七天,SDK 会返回一个 media ID 作为此文件或图片的唯一标识。你可以使用 IFileMessage
类或 IImageMessage
类保存 SDK 返回的 media ID。IFileMessage
和 IImageMessage
继承自 IMessage
类,所以你可以通过点对点消息或频道消息发送和接收文件消息或图片消息。你可以使用 downloadMediaToMemory
或 downloadMediaToFile
方法下载接收到的文件或图片。
2. 管理上传或下载任务
你可以通过 cancelMediaUpload
方法或 cancelMediaDownload
方法取消上传或下载任务,通过 onMediaUploadingProgress
回调或 onMediaDownloadingProgress
回调报告上传或下载的进度。
声网 RTM Linux C++ SDK 提高了以下操作的调用频率限制。详见限制条件。
操作 | 调用频率变化 |
---|---|
点对点/频道消息发送 | 由每 3 秒 180 次增加到每 3 秒 300 次 |
用户在线状态查询 | 由每 5 秒 10 次增加到每 5 秒 20 次 |
用户属性增删修改 | 由每 5 秒 10 次增加到每 5 秒 20 次 |
用户属性查询 | 由每 5 秒 40 次增加到每 5 秒 80 次 |
频道属性增删修改 | 由每 5 秒 10 次增加到每 5 秒 20 次 |
频道属性查询 | 由每 5 秒 10 次增加到每 5 秒 80 次 |
新增方法
createFileMessageByUploading
createImageMessageByUploading
cancelMediaUpload
cancelMediaDownload
createFileMessageByMediaId
createImageMessageByMediaId
downloadMediaToMemory
downloadMediaToFile
新增回调
onMediaUploadingProgress
onMediaDownloadingProgress
onMediaCancelResult
onFileMediaUploadResult
onImageMediaUploadResult
onFileMessageReceivedFromPeer
onImageMessageReceivedFromPeer
onFileMessageReceived
onImageMessageReceived
onMediaDownloadToMemoryResult
onMediaDownloadToFileResult
废弃方法
sendMessage
被重载方法 sendMessage
替代。
该版本于 2019 年 12 月 13 日发布。
兼容性改动
废弃用于创建 IAgoraService
的 createAgoraService
方法以及用于初始化 IAgoraService
的 initialize
方法。从本版本开始,你只需要调用用于创建 IRtmService
的 createRtmService
方法以及用于初始化 IRtmService
的 initialize
方法就可以开始使用 IRtmService
实例。
问题修复
修复了一个偶现的频道属性操作后无法收到回调的问题。
该版本于 2019 年 11 月 29 日 发布。
新增功能
支持与老信令 SDK 的 endCall 方法兼容
你可以调用 sendMessageToPeer
方法在发送文本消息时将消息设为 AgoraRTMLegacyEndcallCompatibleMessagePrefix_<channelId>_<your additional information> 格式即可。请以 endCall 对应频道的 ID 替换 <channelId>, <your additional information> 为附加文本信息。请注意:附加文本信息中不可使用下划线 "_" ,附加文本信息可以设为空字符串 "" 。
问题修复
onMemberJoined
回调的问题。该版本于 2019 年 11 月 6 日发布。新增如下功能:
兼容性改动
isOnline
在调用 queryPeersOnlineStatus 方法查询单个或多个用户在线状态后,SDK 会通过 onQueryPeersOnlineStatusResult 回调返回被查询用户的在线状态。你可以通过回调返回的 PeerOnlineStatus 结构体数组中的 isOnline 字段查询指定用户是否在线。
本版本中,我们在这个 PeerOnlineStatus 结构体中增加了枚举类型 PEER_ONLINE_STATE ,细分并重新定义了以下三种用户在线状态:
新增的 PEER_ONLINE_STATE 枚举类型主要与订阅功能 subscribePeersOnlineStatus 配合使用,你可以在 onPeersOnlineStatusChanged 回调返回的 PeerOnlineStatus 结构体数组中查到用户的在线状态。
总而言之:
unreachable
状态。新增功能
本版本支持订阅或取消订阅最多 512 个用户的在线状态,SDK 会通过 onSubscriptionRequestResult 返回订阅或取消订阅结果。首次订阅成功时,SDK 会通过 onPeersOnlineStatusChanged 回调返回所有被订阅用户的在线状态;之后每当有被订阅用户的在线状态出现变化,SDK 都会通过 onPeersOnlineStatusChanged 回调通知订阅方。
本版本支持根据被订阅类型获取被订阅用户列表。现实情况中,你可能多次订阅或取消订阅,可能重复订阅了相同用户,可能出现订阅或取消订阅不成功的情况,也可能根据不同的订阅类型订阅了不同的用户。这时,你可以通过本功能根据订阅类型获取当前被订阅用户列表。
被订阅类型由枚举类型 PEER_SUBSCRIPTION_OPTION 定义。本版本仅支持用户在线状态订阅一种类型,后继会不断扩展。
本版本支持创建自定义二进制消息,支持以点对点消息或频道消息形式发送多种文件格式。
本版本支持:
如果在创建自定义二进制消息时未设置文本描述,你可以在消息实例 IMessage 创建成功后通过调用 setText 方法设置自定义二进制消息的文本描述。
之前版本中,我们先通过 createMessage 方法创建一个空文本消息实例再通过调用 IMessage 类的对象方法 setText 设置文本内容,本版本提供了更加便利的 createMessage 方法可以在创建文本消息的同时直接设定文本消息内容。
API 变更
该版本于 2019 年 10 月 14 日发布。新增如下功能:
支持在不加入频道的情况下通过主动调用 getChannelMemberCount 接口查询单个或多个频道的频道人数。一次最多可查询 32 个频道的成员人数。
如果你已经加入某频道,你无需调用 getChannelMemberCount
接口查询当前频道人数。我们也不建议你通过监听 onMemberJoined
和 onMemberLeft
统计频道成员人数。从本版本开始,SDK 会在频道成员人数发生变化时通过 onMemberCountUpdated 回调接口通知频道成员并返回当前频道成员人数:
请将该回调与 onGetMembers 回调进行区分:
- 前者为主动回调。SDK 向频道成员返回当前频道成员人数。
- 后者由 getMembers 方法触发,返回频道成员列表,且当频道成员人数超过 512 时仅返回随机的 512 个成员列表。
支持设置或查询某个指定频道的属性。你可以用频道属性实现群公告、上下麦同步等功能。
每个频道属性为 key 和 value 的键值对。详见:IRtmChannelAttribute。其中:
支持功能包括:
在进行频道属性的更新或删除操作时,你可以通过设置标志位 enableNotificationToChannelMembers 决定是否通知对应频道所有成员本次频道属性变更。
点对点消息重发
本版本优化了点对点消息在弱网情况下的重发机制,并延长点对点消息超时时间为 10 秒,提高了在弱网情况下点对点消息的发送成功率。
频道消息缓存
声网 RTM 系统会对短期掉线后重连成功的频道成员补发最长 30 秒最多 32 条的频道消息,提高了弱网情况下频道消息的到达率。
新增方法
新增回调
新增错误码
废弃方法
废弃错误码
该版本于 2019 年 8 月 1 日发布。
onConnectionStateChanged
回调。该版本于 2019 年 7 月 24 日发布。
新老互通
支持与声网 Signaling SDK 互通。
本版本在 ILocalCallInvitation
类中实现了 setChannelId
和 getChannelId
方法。
- 如需与声网 Signaling SDK 互通,则必须调用
setChannelId
方法设置频道 ID。不过即使被叫成功接受呼叫邀请,声网 RTM SDK 也不会将主叫或被叫加入指定频道。- 如果你的应用不涉及声网 Signaling SDK,我们推荐使用
ILocalCallInvitation::setContent
或者IRemoteCallInvitation::setResponse
方法设置自定义内容。
设置日志文件地址
支持通过调用 setLogFile
方法变更本地日志的默认地址。该方法无需在 login
成功之后调用,我们建议在初始化声网 RTM 服务后即调用该方法,否则会造成日志文件显示不完整。
设置日志输出等级
支持通过调用 setLogFilter
方法将日志内容按照 OFF、CRITICAL、ERROR、WARNING 和 INFO 不同等级输出。详见 LOG_FILTER_TYPE 。
该方法无需在
login
成功之后调用。
设置日志文件大小
支持通过 setLogFileSize
方法设置日志文件大小。日志的默认大小为 512 KB。低于该默认大小的设置无效。
该方法无需在
login
成功之后调用。
针对以下不同错误情况细化了错误码
login
方法或 login
方法未调用成功该版本于 2019 年 6 月 7 日发布。
发送(离线)点对点消息
本版本支持发送离线消息。在开通离线消息后,用户不必等到接收端上线才能发送点对点消息。如果对端离线,消息服务器会为每个接收端存储 200 条离线消息长达七天。消息以队列形式存储。当离线消息超限时,最新存储的消息会导致最老的消息丢失。当发送端设置了离线消息,而此时消息接收端不在线,发送端会收到错误码:PEER_MESSAGE_ERR_CACHED_BY_SERVER
该方法的调用频率限制为每秒 60 条(点对点消息和频道消息一并计算在内)。
设置本地用户属性、查询指定用户属性
本版本支持设置和查询用户属性。每个用户属性为 key 和 value 的键值对。每个属性的 key 为 32 字节可见字符,每个属性的 value 的字符串长度不得超过 8 KB。单个用户的全部属性长度不得超过 16 KB。以下为本版本支持内容:
- 用户属性的相关操作必须在登录声网 RTM 系统成功后才能进行,否则 SDK 会返回错误码:
ATTRIBUTE_OPERATION_ERR_NOT_READY
- 设置的用户属性会在用户登出声网 RTM 系统后自动失效。
- 单次用户属性设置操作不得超过 16 KB,否则 SDK 会返回错误码:
ATTRIBUTE_OPERATION_ERR_SIZE_OVERFLOW
。- 用户属性设置相关操作的调用频率限制为每 5 秒 10 条,超限则 SDK 会返回错误码:
ATTRIBUTE_OPERATION_ERR_TOO_OFTEN
。- 获取用户属性相关操作的调用频率为每 5 秒 40 条,超限则 SDK 会返回错误码:
ATTRIBUTE_OPERATION_ERR_TOO_OFTEN
。
新增
JOIN_CHANNEL_ERR_FAILURE
。该版本于 2019 年 5 月 8 日发布。
支持以空格开头的 userId
参数。
该版本于 2019 年 4 月 4 日发布。
本版本增加了呼叫邀请功能。结合音视频一对一或一对多通话场景,你可以创建、发送、取消、接受或拒绝一个呼叫邀请。
该版本于 2019 年 2 月 4 日发布。
首次发布。