IRtmService

最近更新时间:2022-09-20 05:17:40

Public 成员函数
virtual intinitialize (const char *appId, IRtmServiceEventHandler *eventHandler)=0
virtual voidaddEventHandler (IRtmServiceEventHandler *eventHandler)=0
virtual voidremoveEventHandler (IRtmServiceEventHandler *eventHandler)=0
virtual voidrelease (bool sync=false)=0
virtual intlogin (const char *token, const char *userId)=0
virtual intlogout ()=0
virtual intrenewToken (const char *token)=0
virtual intsendMessageToPeer (const char *peerId, const IMessage *message, const SendMessageOptions &options)=0
virtual IChannel *createChannel (const char *channelId, IChannelEventHandler *eventHandler)=0
virtual IRtmCallManager *getRtmCallManager (IRtmCallEventHandler *eventHandler)=0
virtual IMessage *createMessage ()=0
virtual IMessage *createMessage (const char *message)=0
virtual IMessage *createMessage (const uint8_t *rawData, int length)=0
virtual IMessage *createMessage (const uint8_t *rawData, int length, const char *description)=0
virtual IRtmChannelAttribute *createChannelAttribute ()=0
virtual intsetParameters (const char *parameters)=0
virtual intqueryPeersOnlineStatus (const char *peerIds[], int peerCount, long long &requestId)=0
virtual intsubscribePeersOnlineStatus (const char *peerIds[], int peerCount, long long &requestId)=0
virtual intunsubscribePeersOnlineStatus (const char *peerIds[], int peerCount, long long &requestId)=0
virtual intqueryPeersBySubscriptionOption (PEER_SUBSCRIPTION_OPTION option, long long &requestId)=0
virtual intsetLocalUserAttributes (const RtmAttribute *attributes, int numberOfAttributes, long long &requestId)=0
virtual intaddOrUpdateLocalUserAttributes (const RtmAttribute *attributes, int numberOfAttributes, long long &requestId)=0
virtual intdeleteLocalUserAttributesByKeys (const char *attributeKeys[], int numberOfKeys, long long &requestId)=0
virtual intclearLocalUserAttributes (long long &requestId)=0
virtual intgetUserAttributes (const char *userId, long long &requestId)=0
virtual intgetUserAttributesByKeys (const char *userId, const char *attributeKeys[], int numberOfKeys, long long &requestId)=0
virtual intsetChannelAttributes (const char *channelId, const IRtmChannelAttribute *attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId)=0
virtual intaddOrUpdateChannelAttributes (const char *channelId, const IRtmChannelAttribute *attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId)=0
virtual intdeleteChannelAttributesByKeys (const char *channelId, const char *attributeKeys[], int numberOfKeys, const ChannelAttributeOptions &options, long long &requestId)=0
virtual intclearChannelAttributes (const char *channelId, const ChannelAttributeOptions &options, long long &requestId)=0
virtual intgetChannelAttributes (const char *channelId, long long &requestId)=0
virtual intgetChannelAttributesByKeys (const char *channelId, const char *attributeKeys[], int numberOfKeys, long long &requestId)=0
virtual intgetChannelMemberCount (const char *channelIds[], int channelCount, long long &requestId)=0
virtual intsetLogFile (const char *logfile)=0
virtual intsetLogFilter (LOG_FILTER_TYPE filter)=0
virtual intsetLogFileSize (int fileSizeInKBytes)=0
Protected 成员函数
virtual~IRtmService ()

构造及析构函数说明

~IRtmService

virtual ~IRtmService()

成员函数说明

addEventHandler

virtual void addEventHandler(IRtmServiceEventHandler *eventHandler)

增加事件监听器

参数

参数说明
eventHandler一个 IRtmServiceEventHandler 对象

addOrUpdateChannelAttributes

virtual int addOrUpdateChannelAttributes(const char* channelId, const IRtmChannelAttribute* attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId)

添加或更新某指定频道的属性

  • 如果属性已存在,该方法更新该频道的已有属性;
  • 如果属性不存在,该方法增加该频道的属性。

SDK 将通过 onAddOrUpdateChannelAttributesResult 回调返回方法调用结果。

参数

参数说明
channelId该指定频道的频道 ID。
attributes频道属性数组。详见 IRtmChannelAttribute
numberOfAttributes频道属性条数。
options频道属性操作选项。详见 ChannelAttributeOptions
requestId标识本次请求的的唯一 ID。

返回

注意事项:

  • 你无需加入指定频道即可为该频道更新频道属性。
  • 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
  • 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
  • setChannelAttributesaddOrUpdateChannelAttributesdeleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 10 次。

addOrUpdateLocalUserAttributes

virtual int addOrUpdateLocalUserAttributes(const RtmAttribute* attributes, int numberOfAttributes, long long &requestId)

添加或更新本地用户的属性

  • 如果属性已存在,该方法更新本地用户的已有属性;
  • 如果属性不存在,该方法增加本地用户的属性。

SDK 将通过 onAddOrUpdateLocalUserAttributesResult 回调返回方法调用结果。

参数

参数说明
attributes待增加或更新的属性。
numberOfAttributes属性的数量。
requestId标识本次请求的的唯一 ID。

返回

注意事项:

deletelocaluserattributesbyKeys

virtual int deletelocaluserattributesbyKeys(const char *attributeKeys[], int numberOfKeys, long long &requestId)

删除本地用户的指定属性

SDK 将通过 onAddOrUpdateLocalUserAttributesResult 回调返回方法调用结果。

参数

参数说明
attributeKeys属性名数组。
numberOfKeys属性名数组的长度。
requestId标识本次请求的的唯一 ID。

返回

注意事项:

clearChannelAttributes

virtual int clearChannelAttributes(const char* channelId, const ChannelAttributeOptions &options, long long &requestId)

清空某指定频道的属性

SDK 将通过 onClearChannelAttributesResult 回调返回方法调用结果。

参数

参数说明
channelId该指定频道的频道 ID。
options频道属性操作选项。详见 ChannelAttributeOptions
requestId标识本次请求的的唯一 ID。

返回

注意事项:

clearLocalUserAttributes

virtual int clearLocalUserAttributes(long long &requestId)

清空本地用户的属性

SDK 将通过 onClearLocalUserAttributesResult 回调返回方法调用结果。

参数

参数说明
requestId标识本次请求的的唯一 ID。

返回

注意事项:

createChannel

virtual IChannel * createChannel(const char *channelId, IChannelEventHandler *eventHandler)

创建一个 anyRTC RTM 频道

SDK 将通过 onClearChannelAttributesResult 回调返回方法调用结果。

参数

参数说明
channelIdanyRTC RTM 频道名称。该字符串不可超过 64 字节。不可设为空、null 或 "null"。以下为支持的字符集范围:
  • 26 个小写英文字母 a-z
  • 26 个大写英文字母 A-Z
  • 10 个数字 0-9
  • 空格
  • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "~", ",","¦"
  • eventHandler详见 IChannelEventHandler

    返回

    • 一个 IChannel 对象: 方法调用成功。
    • null: 方法调用失败。channelId 可能无效,或者已经存在具有相同 channelId 的频道。

    注意事项:

    • 一个 IRtmService 实例中可以创建多个频道。但是同一个用户只能同时加入最多 20 个频道。请在不使用某个频道时,调用 release 方法销毁频道实例。

    createChannelAttribute

    virtual IRtmChannelAttribute *createChannelAttribute()

    创建一个 IRtmChannelAttribute 实例

    返回

    createMessage1

    virtual IMessage *createMessage()

    创建并返回一个空文本 IMessage 消息实例

    返回

    注意事项:

    • IMessage 实例可用于频道和点对点消息消息。
    • 请在不需要 IMessage 时调用 release 方法销毁其占用的资源。

    -你可以在创建文本消息实例之后调用 setText 方法设置消息内容。不过请确保文本消息长度不超过 32 KB。

    createMessage2

    virtual IMessage createMessage(const char message)

    创建并返回一个文本 IMessage 消息实例

    参数

    参数说明
    message文本消息内容。长度不得超过 32 KB。

    返回

    注意事项:

    • IMessage 实例可用于频道和点对点消息消息。
    • 请在不需要 IMessage 时调用 release 方法销毁其占用的资源。

    createMessage3

    virtual IMessage createMessage(const uint8_t rawData, int length)

    创建并返回一个自定义二进制 IMessage 消息实例

    参数

    参数说明
    rawData二进制消息在内存中的首地址。
    length二进制消息长度。不得超过 32 KB。

    返回

    注意事项:

    • IMessage 实例可用于频道和点对点消息消息。
    • 请在不需要 IMessage 时调用 release 方法销毁其占用的资源。
    • 你可以在调用本方法后通过 setText 方法设置自定义二进制消息的文字描述。但是请确保二进制消息和文字描述加起来的大小不超过 32 KB。

    createMessage4

    virtual IMessage createMessage(const uint8_t rawData, int length, const char* description)

    创建并返回一个包含文字描述的自定义二进制 IMessage 消息实例

    参数

    参数说明
    rawData自定义二进制消息在内存中的首地址。
    length自定义二进制消息长度。不得超过 32 KB。
    description自定义二进制消息的简短文字描述。设置文字描述时,请确保自定义二进制消息内容和文字描述加起来的大小不超过 32 KB。

    返回

    • 创建并返回一个包含文字描述的自定义二进制 IMessage 消息实例。

    注意事项:

    • IMessage 实例可用于频道和点对点消息消息。
    • 请在不需要 IMessage 时调用 release 方法销毁其占用的资源。
    • 你可以在调用本方法后通过 setText 方法设置自定义二进制消息的文字描述。但是请确保二进制消息和文字描述加起来的大小不超过 32 KB。

    deleteChannelAttributesByKeys

    virtual int deleteChannelAttributesByKeys(const char* channelId, const char* attributeKeys[], int numberOfKeys, const ChannelAttributeOptions &options, long long &requestId)

    删除某指定频道的指定属性

    SDK 将通过 onDeleteChannelAttributesResult 回调返回方法调用结果。

    参数

    参数说明
    channelId该指定频道的频道 ID。
    attributeKeys频道属性名数组。
    numberOfKeys频道属性名个数。
    options频道属性操作选项。详见 ChannelAttributeOptions
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    • 你无需加入指定频道即可删除该频道属性。
    • 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
    • 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
    • setChannelAttributesaddOrUpdateChannelAttributesdeleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 10 次。

    getChannelAttributes

    virtual int getChannelAttributes(const char* channelId, long long &requestId)

    查询某指定频道的全部属性

    SDK 将通过 onGetChannelAttributesResult 回调返回方法调用结果。

    参数

    参数说明
    channelId该指定频道的频道 ID。
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    -你无需加入指定频道即可查询该频道的全部频道属性。 -getChannelAttributesgetChannelAttributesByKeys 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 80 次。

    getChannelAttributesByKeys

    virtual int getChannelAttributesByKeys(const char* channelId, const char* attributeKeys[], int numberOfKeys, long long &requestId)

    查询某指定频道指定属性名的属性

    SDK 将通过 onGetChannelAttributesResult 回调返回方法调用结果。

    参数

    参数说明
    channelId该指定频道的频道 ID。
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    • 你无需加入指定频道即可查询该频道的频道属性。
    • getChannelAttributesgetChannelAttributesByKeys 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 80 次。

    getChannelMemberCount

    virtual int getChannelMemberCount(const char* channelIds[], int channelCount, long long &requestId)

    查询单个或多个频道的成员人数

    SDK 将通过 onGetChannelMemberCountResult 回调返回方法调用结果。

    参数

    参数说明
    channelIds指定频道名数组。
    channelCount待查询的频道数目。
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    • 该方法的调用频率上限为每秒 1 次。
    • 不支持一次查询超过 32 个频道的成员人数。

    getRtmCallManager

    virtual IRtmCallManager* getRtmCallManager(IRtmCallEventHandler*eventHandler)

    获取 IRtmCallManager 对象

    每个 IRtmService 实例都有各自唯一的 IRtmCallManager 实例。属于不同 IRtmService 实例的 IRtmCallManager 实例各不相同。

    参数

    参数说明
    eventHandler一个 IRtmCallEventHandler 对象。

    返回

    一个 IRtmCallManager 对象

    注意事项:

    • 如果不再使用 [IRtmCallManager]win_rtm_callmanager) ,请调用 release 方法释放其占用资源。

    getUserAttributes

    virtual int getUserAttributes(const char* userId, long long &requestId)

    查询指定用户的全部属性

    SDK 将通过 onGetUserAttributesResult 回调返回方法调用结果。

    参数

    参数说明
    userId指定用户的用户 ID。
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    • getUserAttributesgetUserAttributesByKeys 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 40 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 80 次。

    getUserAttributesByKeys

    virtual int getUserAttributesByKeys(const char* userId, const char* attributeKeys[], int numberOfKeys, long long &requestId)

    查询指定用户指定属性名的属性

    SDK 将通过 onGetUserAttributesResult 回调返回方法调用结果。

    参数

    参数说明
    userId指定用户的用户 ID。
    attributeKeys属性名数组。
    numberOfKeys属性名数组的长度。
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    • getUserAttributesgetUserAttributesByKeys 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 40 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 80 次。

    initialize

    virtual int initialize(const char *appId, IRtmServiceEventHandler *eventHandler)

    初始化一个 IRtmService 实例

    IRtmService 类中的所有方法都是异步执行的。

    参数

    参数说明
    appIdanyRTC 发给你的 App ID。 如果 SDK 中缺少 App ID,请从 anyRTC 申请新的 App ID。
    eventHandler一个 IRtmServiceEventHandler 对象,用于上传 anyRTC RTM SDK 运行事件给应用程序。

    返回

    • 0: 方法调用成功。
    • < 0: 方法调用失败。

    login

    virtual int login(const char *token, const char *userId)

    登录 anyRTC RTM 系统

    • 方法调用成功:本地用户收到回调 onLoginSuccess。
    • 方法调用失败:本地用户收到回调 onLoginFailure。错误码详见 LOGIN_ERR_CODE

    参数

    参数说明
    token用于登录 anyRTC RTM 系统的动态密钥。开启动态鉴权后可用。集成及测试阶段请将 token 设置为 null。
    userId登录 anyRTC RTM 系统的用户 ID。该字符串不可超过 64 字节。不可设为空、null 或 "null"。以下为支持的字符集范围:
  • 26 个小写英文字母 a-z
  • 26 个大写英文字母 A-Z
  • 10 个数字 0-9
  • 空格
  • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "~", ",","¦"
  • 返回

    • 0: 方法调用成功。
    • ≠0: 方法调用失败。错误码详见 LOGIN_ERR_CODE

    注意事项:

    logout

    virtual int logout()

    登出 anyRTC RTM 系统

    本地用户收到回调 onLogout。 状态信息详见 LOGIN_ERR_CODE

    返回

    • 0: 方法调用成功。
    • ≠0: 方法调用失败。错误码详见 LOGIN_ERR_CODE

    queryPeersBySubscriptionOption

    virtual int queryPeersBySubscriptionOption(PEER_SUBSCRIPTION_OPTION option, long long &requestId)

    获取某特定内容被订阅的用户列表

    SDK 将通过 onQueryPeersBySubscriptionOptionResult 回调返回方法调用结果。

    参数

    参数说明
    option被订阅的类型。详见 PEER_SUBSCRIPTION_OPTION
    requestId标识本次请求的的唯一 ID。

    返回

    queryPeersOnlineStatus

    virtual int queryPeersOnlineStatus(const char* peerIds[], int peerCount, long long &requestId)

    查询指定用户的在线状态

    • 在线:用户已登录到 anyRTC RTM 系统。
    • 不在线:用户已登出 anyRTC RTM 系统或因其他原因与 anyRTC RTM 系统断开连接。

    参数

    参数说明
    peerIds[]指定用户的用户 ID 列表。
    peerCount列表长度
    requestId标识本次请求的的唯一 ID。

    返回

    release

    virtual void release(bool sync = false)

    释放当前 IRtmService 实例使用的所有资源。

    removeEventHandler

    virtual void removeEventHandler(IRtmServiceEventHandler *eventHandler)

    移除事件监听器

    参数

    参数说明
    eventHandler一个 IRtmServiceEventHandler 对象。

    renewToken

    virtual int renewToken(const char* token)

    更新当前的 RTM Token

    在收到 onTokenWillExpired 回调时你需要调用此方法更新 Token。 onRenewTokenResult 回调会返回 Token 更新的结果。该方法的调用频率为 2 次每秒。

    参数

    参数说明
    token新的 RTM Token

    返回

    sendMessageToPeer

    virtual int sendMessageToPeer(const char *peerId, const IMessage *message,const SendMessageOptions & options )

    向指定用户(接收者)发送点对点消息或点对点的离线消息

    该方法允许你向离线用户发送点对点消息。如果指定用户在你发送离线消息时不在线,消息服务器会保存该条消息。请注意,目前我们只为每个接收端保存 200 条离线消息最长七天。当保存的离线消息超出限制时,最老的信息将会被最新的消息替换。

    参数

    参数说明
    peerId接收者的用户 ID。该字符串不可超过 64 字节。不可设为空、null 或 "null"。以下为支持的字符集范围:
  • 26 个小写英文字母 a-z
  • 26 个大写英文字母 A-Z
  • 10 个数字 0-9
  • 空格
  • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "
  • message需要发送的消息。详见 IMessage 了解如何创建消息。
    options消息发送选项。详见 SendMessageOptions

    返回

    注意事项:

    (RTM SDK for Windows C++)发送消息(包括点对点消息和频道消息)的调用频率上限为每 3 秒 180 次。(RTM SDK for Linux C++)发送消息(包括点对点消息和频道消息)的调用频率上限为每 3 秒 300 次。

    setChannelAttributes

    virtual int setChannelAttributes(const char* channelId, const IRtmChannelAttribute* attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId)

    全量设置某指定频道的属性

    SDK 将通过 onSetChannelAttributesResult 回调返回方法调用结果。

    参数

    参数说明
    channelId该指定频道的频道 ID。
    attributes频道属性数组。详见 IRtmChannelAttribute
    numberOfAttributes频道属性条数。
    options频道属性操作选项。详见 ChannelAttributeOptions
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    • 你无需加入指定频道即可为该频道设置频道属性。
    • 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
    • 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
    • setChannelAttributesaddOrUpdateChannelAttributesdeleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 10 次。

    setLocalUserAttributes

    virtual int setLocalUserAttributes(const RtmAttribute* attributes, int numberOfAttributes, long long &requestId)

    全量设置本地用户的属性

    SDK 将通过 onSetLocalUserAttributesResult 回调返回方法调用结果。

    参数

    参数说明
    attributes待设置的属性。详见 RtmAttribute
    numberOfAttributes属性的数量。
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    setLocalUserAttributesaddOrUpdateLocalUserAttributesdeleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 20 次。

    setLogFile

    virtual int setLogFile(const char* logfile)

    设定日志文件的默认地址

    参数

    参数说明
    logfile日志文件的绝对路径。logfile 的编码格式为 UTF-8。

    返回

    • 0: 方法调用成功。
    • ≠0: 方法调用失败。

    注意事项:

    • 请确保指定的路径可写。
    • 如需调用本方法,请在调用 initialize 方法初始化 IRtmService 实例后立即调用,否则会造成输出日志不完整。
    • Linux C++ 平台下,ar_rtm_sdk.log 默认位于当前工作路径下。

    setLogFileSize

    virtual int setLogFile(const char* logfile)

    设置日志文件大小

    设置 SDK 输出日志文件的大小,单位为 KB。 SDK 设有 2 个日志文件,每个文件大小为 512 KB。如果你将 fileSizeInKByte 设置为 1024 KB, SDK 会最多输出 2 MB 的日志文件。

    参数

    参数说明
    fileSizeInKBytes指定 SDK 输出日志文件的大小,单位为 KB。

    返回

    • 0: 方法调用成功。
    • ≠0: 方法调用失败。

    注意事项:

    • 低于 512 KB 或者高于 10 MB 的日志大小设置不会生效。

    setLogFilter

    virtual int setLogFilter(LOG_FILTER_TYPE filter)

    设置日志输出等级

    设置 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING 和 INFO。选择一个级别,你就可以看到在该级别之前所有级别的日志信息。例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所有日志信息。

    参数

    参数说明
    filter日志输出等级。详见 LOG_FILTER_TYPE

    返回

    • 0: 方法调用成功。
    • ≠0: 方法调用失败。

    setParameters

    virtual int setParameters(const char* parameters)

    通过 JSON 配置 SDK 提供技术预览或特别定制功能

    参数

    参数说明
    parametersJSON 格式的 SDK 选项。

    返回

    • 0: 方法调用成功。
    • ≠0: 方法调用失败。

    注意事项:

    • JSON 选项默认不公开。anyRTC工程师正在努力寻求以标准化方式公开 JSON 选项。详情请联系 sales@dync.cc

    subscribePeersOnlineStatus

    virtual int subscribePeersOnlineStatus(const char* peerIds[], int peerCount, long long &requestId)

    订阅指定单个或多个用户的在线状态

    SDK 将通过 onSubscriptionRequestResult 回调返回方法调用结果。

    • 首次订阅成功后,SDK 会通过 onPeersOnlineStatusChanged 回调返回被订阅用户在线状态。
    • 每当被订阅用户在线状态发生变化时,SDK 都会通过 onPeersOnlineStatusChanged 回调通知订阅方。
    • 如果 SDK 在断线重连过程中有被订阅用户的在线状态发生改变,SDK 会在重连成功时通过 onPeersOnlineStatusChanged 回调通知订阅方。

    参数

    参数说明
    peerIds[]被订阅用户的用户 ID 阵列。
    peerCount被订阅用户列表长度。
    requestId标识本次请求的的唯一 ID。

    返回

    注意事项:

    • 用户登出 anyRTC RTM 系统后,所有之前的订阅内容都会被清空;重新登录后,如需保留之前订阅内容则需重新订阅。
    • SDK 会在网络连接中断时进入断线重连状态。重连成功时 SDK 会自动重新订阅之前订阅用户,无需人为干预。

    unsubscribePeersOnlineStatus

    virtual int unsubscribePeersOnlineStatus(const char* peerIds[], int peerCount, long long &requestId)

    退订指定单个或多个用户的在线状态

    SDK 将通过 onSubscriptionRequestResult 回调返回方法调用结果。

    参数

    参数说明
    peerIds[]被退订用户的用户 ID 阵列。
    peerCount被退订用户列表长度。
    requestId标识本次请求的的唯一 ID。

    返回