Public 成员函数 | |
---|---|
virtual int | initialize (const char *appId, IRtmServiceEventHandler *eventHandler)=0 |
virtual void | addEventHandler (IRtmServiceEventHandler *eventHandler)=0 |
virtual void | removeEventHandler (IRtmServiceEventHandler *eventHandler)=0 |
virtual void | release (bool sync=false)=0 |
virtual int | login (const char *token, const char *userId)=0 |
virtual int | logout ()=0 |
virtual int | renewToken (const char *token)=0 |
virtual int | sendMessageToPeer (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 int | setParameters (const char *parameters)=0 |
virtual int | queryPeersOnlineStatus (const char *peerIds[], int peerCount, long long &requestId)=0 |
virtual int | subscribePeersOnlineStatus (const char *peerIds[], int peerCount, long long &requestId)=0 |
virtual int | unsubscribePeersOnlineStatus (const char *peerIds[], int peerCount, long long &requestId)=0 |
virtual int | queryPeersBySubscriptionOption (PEER_SUBSCRIPTION_OPTION option, long long &requestId)=0 |
virtual int | setLocalUserAttributes (const RtmAttribute *attributes, int numberOfAttributes, long long &requestId)=0 |
virtual int | addOrUpdateLocalUserAttributes (const RtmAttribute *attributes, int numberOfAttributes, long long &requestId)=0 |
virtual int | deleteLocalUserAttributesByKeys (const char *attributeKeys[], int numberOfKeys, long long &requestId)=0 |
virtual int | clearLocalUserAttributes (long long &requestId)=0 |
virtual int | getUserAttributes (const char *userId, long long &requestId)=0 |
virtual int | getUserAttributesByKeys (const char *userId, const char *attributeKeys[], int numberOfKeys, long long &requestId)=0 |
virtual int | setChannelAttributes (const char *channelId, const IRtmChannelAttribute *attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId)=0 |
virtual int | addOrUpdateChannelAttributes (const char *channelId, const IRtmChannelAttribute *attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId)=0 |
virtual int | deleteChannelAttributesByKeys (const char *channelId, const char *attributeKeys[], int numberOfKeys, const ChannelAttributeOptions &options, long long &requestId)=0 |
virtual int | clearChannelAttributes (const char *channelId, const ChannelAttributeOptions &options, long long &requestId)=0 |
virtual int | getChannelAttributes (const char *channelId, long long &requestId)=0 |
virtual int | getChannelAttributesByKeys (const char *channelId, const char *attributeKeys[], int numberOfKeys, long long &requestId)=0 |
virtual int | getChannelMemberCount (const char *channelIds[], int channelCount, long long &requestId)=0 |
virtual int | setLogFile (const char *logfile)=0 |
virtual int | setLogFilter (LOG_FILTER_TYPE filter)=0 |
virtual int | setLogFileSize (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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- 你无需加入指定频道即可为该频道更新频道属性。
- 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
- 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
- setChannelAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 20 次。
deletelocaluserattributesbyKeys
virtual int deletelocaluserattributesbyKeys(const char *attributeKeys[], int numberOfKeys, long long &requestId)
删除本地用户的指定属性
SDK 将通过 onAddOrUpdateLocalUserAttributesResult 回调返回方法调用结果。
参数
参数 | 说明 |
---|---|
attributeKeys | 属性名数组。 |
numberOfKeys | 属性名数组的长度。 |
requestId | 标识本次请求的的唯一 ID。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearLocalUserAttributes 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 20 次。
clearChannelAttributes
virtual int clearChannelAttributes(const char* channelId, const ChannelAttributeOptions &options, long long &requestId)
清空某指定频道的属性
SDK 将通过 onClearChannelAttributesResult 回调返回方法调用结果。
参数
参数 | 说明 |
---|---|
channelId | 该指定频道的频道 ID。 |
options | 频道属性操作选项。详见 ChannelAttributeOptions。 |
requestId | 标识本次请求的的唯一 ID。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- 你无需加入指定频道即可删除该频道属性。
- setChannelAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 clearChannelAttributes 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 10 次。
clearLocalUserAttributes
virtual int clearLocalUserAttributes(long long &requestId)
清空本地用户的属性
SDK 将通过 onClearLocalUserAttributesResult 回调返回方法调用结果。
参数
参数 | 说明 |
---|---|
requestId | 标识本次请求的的唯一 ID。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- 你无需加入指定频道即可删除该频道属性。
- setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 clearlocaluserattributes 一并计算在内:(RTM SDK for Windows C++)调用频率上限为每 5 秒 10 次;(RTM SDK for Linux C++)调用频率上限为每 5 秒 20 次。
createChannel
virtual IChannel * createChannel(const char *channelId, IChannelEventHandler *eventHandler)
创建一个 anyRTC RTM 频道
SDK 将通过 onClearChannelAttributesResult 回调返回方法调用结果。
参数
参数 | 说明 |
---|---|
channelId | anyRTC RTM 频道名称。该字符串不可超过 64 字节。不可设为空、null 或 "null"。以下为支持的字符集范围: |
eventHandler | 详见 IChannelEventHandler。 |
返回
- 一个 IChannel 对象: 方法调用成功。
- null: 方法调用失败。channelId 可能无效,或者已经存在具有相同 channelId 的频道。
注意事项:
- 一个 IRtmService 实例中可以创建多个频道。但是同一个用户只能同时加入最多 20 个频道。请在不使用某个频道时,调用 release 方法销毁频道实例。
createChannelAttribute
virtual IRtmChannelAttribute *createChannelAttribute()
IRtmChannelAttribute 实例
创建一个返回
- 一个 IRtmChannelAttribute 实例。
createMessage1
virtual IMessage *createMessage()
IMessage 消息实例
创建并返回一个空文本返回
- 一个空文本 IMessage 消息实例
注意事项:
-你可以在创建文本消息实例之后调用 setText 方法设置消息内容。不过请确保文本消息长度不超过 32 KB。
createMessage2
virtual IMessage createMessage(const char message)
IMessage 消息实例
创建并返回一个文本参数
参数 | 说明 |
---|---|
message | 文本消息内容。长度不得超过 32 KB。 |
返回
- 一个空文本 IMessage 消息实例
注意事项:
createMessage3
virtual IMessage createMessage(const uint8_t rawData, int length)
IMessage 消息实例
创建并返回一个自定义二进制参数
参数 | 说明 |
---|---|
rawData | 二进制消息在内存中的首地址。 |
length | 二进制消息长度。不得超过 32 KB。 |
返回
- 一个文本 IMessage 消息实例
注意事项:
createMessage4
virtual IMessage createMessage(const uint8_t rawData, int length, const char* description)
IMessage 消息实例
创建并返回一个包含文字描述的自定义二进制参数
参数 | 说明 |
---|---|
rawData | 自定义二进制消息在内存中的首地址。 |
length | 自定义二进制消息长度。不得超过 32 KB。 |
description | 自定义二进制消息的简短文字描述。设置文字描述时,请确保自定义二进制消息内容和文字描述加起来的大小不超过 32 KB。 |
返回
- 创建并返回一个包含文字描述的自定义二进制 IMessage 消息实例。
注意事项:
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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- 你无需加入指定频道即可删除该频道属性。
- 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
- 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
- setChannelAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
-你无需加入指定频道即可查询该频道的全部频道属性。 -getChannelAttributes 和 getChannelAttributesByKeys 一并计算在内:(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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- 你无需加入指定频道即可查询该频道的频道属性。
- getChannelAttributes 和 getChannelAttributesByKeys 一并计算在内:(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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- 该方法的调用频率上限为每秒 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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- getUserAttributes 和 getUserAttributesByKeys 一并计算在内:(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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- getUserAttributes 和 getUserAttributesByKeys 一并计算在内:(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 类中的所有方法都是异步执行的。
参数
参数 | 说明 |
---|---|
appId | anyRTC 发给你的 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"。以下为支持的字符集范围: |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。错误码详见 LOGIN_ERR_CODE 。
注意事项:
- 异地登录后之前的状态(目前主要是加入的频道)不会保留。
- 如果你在不同实例中以相同用户 ID 登录,之前的登录将会失效,你会被踢出之前加入的频道。
- 该方法的调用频率为 2 次每秒。
- 只有在调用本方法成功加入频道后(即:当收到 onLoginSuccess 回调时)才可以调用 RTM 的核心业务逻辑。以下方法除外:
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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR 。
queryPeersOnlineStatus
virtual int queryPeersOnlineStatus(const char* peerIds[], int peerCount, long long &requestId)
查询指定用户的在线状态
- 在线:用户已登录到 anyRTC RTM 系统。
- 不在线:用户已登出 anyRTC RTM 系统或因其他原因与 anyRTC RTM 系统断开连接。
参数
参数 | 说明 |
---|---|
peerIds[] | 指定用户的用户 ID 列表。 |
peerCount | 列表长度 |
requestId | 标识本次请求的的唯一 ID。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 QUERY_PEERS_ONLINE_STATUS_ERR 。
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 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 RENEW_TOKEN_ERR_CODE 。
sendMessageToPeer
virtual int sendMessageToPeer(const char *peerId, const IMessage *message,const SendMessageOptions & options )
向指定用户(接收者)发送点对点消息或点对点的离线消息
该方法允许你向离线用户发送点对点消息。如果指定用户在你发送离线消息时不在线,消息服务器会保存该条消息。请注意,目前我们只为每个接收端保存 200 条离线消息最长七天。当保存的离线消息超出限制时,最老的信息将会被最新的消息替换。
- onSendMessageResult 向发送者返回方法调用的结果。
- 消息到达接收方后,接收者收到回调 onMessageReceivedFromPeer。
参数
参数 | 说明 |
---|---|
peerId | 接收者的用户 ID。该字符串不可超过 64 字节。不可设为空、null 或 "null"。以下为支持的字符集范围: |
message | 需要发送的消息。详见 IMessage 了解如何创建消息。 |
options | 消息发送选项。详见 SendMessageOptions。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 PEER_MESSAGE_ERR_CODE 。
注意事项:
(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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
- 你无需加入指定频道即可为该频道设置频道属性。
- 当某频道处于空频道状态(无人状态)数分钟后,该频道的频道属性将被清空。
- 如果存在多个用户有权限修改频道属性,那么我们建议在修改频道属性前先通过调用 getChannelAttributes 方法更新本地频道属性缓存。
- setChannelAttributes 、 addOrUpdateChannelAttributes 、 deleteChannelAttributesByKeys ,和 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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 ATTRIBUTE_OPERATION_ERR 。
注意事项:
setLocalUserAttributes 、 addOrUpdateLocalUserAttributes 、 deleteLocalUserAttributesByKeys ,和 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 提供技术预览或特别定制功能
参数
参数 | 说明 |
---|---|
parameters | JSON 格式的 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。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 PEER_SUBSCRIPTION_STATUS_ERR 。
注意事项:
- 用户登出 anyRTC RTM 系统后,所有之前的订阅内容都会被清空;重新登录后,如需保留之前订阅内容则需重新订阅。
- SDK 会在网络连接中断时进入断线重连状态。重连成功时 SDK 会自动重新订阅之前订阅用户,无需人为干预。
unsubscribePeersOnlineStatus
virtual int unsubscribePeersOnlineStatus(const char* peerIds[], int peerCount, long long &requestId)
退订指定单个或多个用户的在线状态
SDK 将通过 onSubscriptionRequestResult 回调返回方法调用结果。
参数
参数 | 说明 |
---|---|
peerIds[] | 被退订用户的用户 ID 阵列。 |
peerCount | 被退订用户列表长度。 |
requestId | 标识本次请求的的唯一 ID。 |
返回
- 0: 方法调用成功。
- ≠0: 方法调用失败。详见 PEER_SUBSCRIPTION_STATUS_ERR 。