继承自 IRtmApiNative , 以及 IDisposable .
Public 成员函数 | |
RtmClient (string appId, RtmClientEventHandler eventHandler) | |
int | Login (string token, string userId) |
int | Logout () |
int | RenewToken (string token) |
int | SendMessageToPeer (string peerId, IMessage message, SendMessageOptions options) |
int | SendMessageToPeer (string peerId, IMessage message) |
RtmChannel | CreateChannel (string channelId, RtmChannelEventHandler rtmChannelEventHandler) |
TextMessage | CreateMessage () |
TextMessage | CreateMessage (string text) |
TextMessage | CreateMessage (byte[] rawData) |
TextMessage | CreateMessage (byte[] rawData, string description) |
RtmChannelAttribute | CreateChannelAttribute () |
int | SetParameters (string parameters) |
int | QueryPeersOnlineStatus (string[] peerIds, Int64 requestId) |
int | SubscribePeersOnlineStatus (string[] peerIds, Int64 requestId) |
int | UnsubscribePeersOnlineStatus (string[] peerIds, Int64 requestId) |
int | QueryPeersBySubscriptionOption (PEER_SUBSCRIPTION_OPTION option, Int64 requestId) |
int | SetLogFileSize (int fileSizeInKBytes) |
int | SetLogFilter (int fileter) |
int | SetLogFile (string logFilePath) |
int | GetChannelMemberCount (string[] channelIds, Int64 requestId) |
int | GetChannelAttributesByKeys (string channelId, string[] attributeKeys, Int64 requestId) |
int | GetChannelAttributes (string channelId, Int64 requestId) |
int | ClearChannelAttributes (string channelId, bool enableNotificationToChannelMembers, Int64 requestId) |
int | DeleteChannelAttributesByKeys (string channelId, string[] attributeKeys, bool enableNotificationToChannelMembers, Int64 requestId) |
int | GetUserAttributesByKeys (string userId, string[] attributeKeys, Int64 requestId) |
int | GetUserAttributes (string userId, Int64 requestId) |
int | ClearLocalUserAttributes (Int64 requestId) |
int | DeleteLocalUserAttributesByKeys (string[] attributeKeys, Int64 requestId) |
int | SetChannelAttributes (string channelId, RtmChannelAttribute[] attributes, ChannelAttributeOptions options, Int64 requestId) |
RtmCallManager | GetRtmCallManager (RtmCallEventHandler eventHandler) |
void | Dispose () |
静态 Public 成员函数 | |
static string | GetSdkVersion () |
agora_rtm.RtmClient.RtmClient | ( | string | appId, |
RtmClientEventHandler | eventHandler | ||
) |
创建并返回一个 RtmClient 实例。
appId | 如果你的开发包里没有 App ID,请向声网申请一个新的 App ID。 |
eventHandler | 一个 RtmClientEventHandler 对象。 |
|
static |
获取 Agora RTM SDK 的版本信息。
int agora_rtm.RtmClient.Login | ( | string | token, |
string | userId | ||
) |
登录 Agora RTM 系统。
token | 用于登录 Agora RTM 系统的动态密钥。开启动态鉴权后可用。集成及测试阶段请将 token 设置为 null 。 |
userId | 登录 Agora RTM 系统的用户 ID。该字符串不可超过 64 字节。不可设为空、null 或 "null"。以下为支持的字符集范围:
|
int agora_rtm.RtmClient.Logout | ( | ) |
登出 Agora RTM 系统。 本地用户收到回调 OnLogoutHandler。状态信息详见 LOGIN_ERR_CODE。
int agora_rtm.RtmClient.RenewToken | ( | string | token | ) |
更新 SDK 的 RTM Token。
token | 新的 RTM Token。你需要自行生成 RTM Token。参考《生成 RTM Token》。 |
int agora_rtm.RtmClient.SendMessageToPeer | ( | string | peerId, |
IMessage | message, | ||
SendMessageOptions | options | ||
) |
向指定用户(接收者)发送点对点消息或点对点的离线消息。
GORA_RTM_ENDCALL_PREFIX_\<channelId\>_\<your additional information\>
格式即可。请以 endCall 对应频道的 ID 替换 \<channelId\>, \<your additional information\>
为附加文本信息。附加文本信息中不可使用下划线 "_" ,附加文本信息可以设为空字符串 ""。peerId |
|
message | 需要发送的消息。详见 IMessage 了解如何创建消息。 |
options | 消息发送选项。详见 SendMessageOptions。 |
int agora_rtm.RtmClient.SendMessageToPeer | ( | string | peerId, |
IMessage | message | ||
) |
peerId | 接收者的用户 ID。 |
message | 需要发送的消息。详见 IMessage了解如何创建消息。 |
RtmChannel agora_rtm.RtmClient.CreateChannel | ( | string | channelId, |
RtmChannelEventHandler | rtmChannelEventHandler | ||
) |
创建一个 Agora RTM 频道。
channelId | Agora RTM 频道名称。该字符串长度在 64 字节以内,不能设为空、null,或 "null"。以下为支持的字符集范围:
|
rtmChannelEventHandler | See RtmChannelEventHandler. |
channelId
的频道不存在,此方法会返回已创建的频道实例。如果已经存在具有相同 channelId
的频道,此方法会返回已存在的频道实例。channelId
无效或频道数量超过限制。 TextMessage agora_rtm.RtmClient.CreateMessage | ( | ) |
创建并返回一个空文本 TextMessage 消息实例。
TextMessage agora_rtm.RtmClient.CreateMessage | ( | string | text | ) |
创建并返回一个文本 "TextMessage" 消息实例。
text | 文本消息内容。长度不得超过 32 KB。 |
TextMessage agora_rtm.RtmClient.CreateMessage | ( | byte[] | rawData | ) |
创建并返回一个自定义二进制 TextMessage 消息实例。
rawData | 二进制消息在内存中的首地址。 |
TextMessage agora_rtm.RtmClient.CreateMessage | ( | byte[] | rawData, |
string | description | ||
) |
创建并返回一个包含文字描述的自定义二进制 TextMessage 消息实例。
description
设为 "" ,消息创建成功后可以通过调用 SetText 方法设置自定义二进制消息的文字描述。但是请确保自定义二进制消息内容和文字描述加起来的大小不超过 32 KB。 rawData | 自定义二进制消息在内存中的首地址。 |
description | 自定义二进制消息的简短文字描述。设置文字描述时,请确保自定义二进制消息内容和文字描述加起来的大小不超过 32 KB。 |
RtmChannelAttribute agora_rtm.RtmClient.CreateChannelAttribute | ( | ) |
创建一个 RtmChannelAttribute 实例。
int agora_rtm.RtmClient.SetParameters | ( | string | parameters | ) |
通过 JSON 配置 SDK 提供技术预览或特别定制功能。
parameters | JSON 格式的 SDK 选项。 |
int agora_rtm.RtmClient.QueryPeersOnlineStatus | ( | string[] | peerIds, |
Int64 | requestId | ||
) |
查询指定用户的在线状态。
peerIds | 用户 ID 列表。支持 ID 数量上限为 256 。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.SubscribePeersOnlineStatus | ( | string[] | peerIds, |
Int64 | requestId | ||
) |
订阅指定单个或多个用户的在线状态。 SDK 将通过 OnSubscriptionRequestResultHandler 回调返回方法调用结果。
peerIds | 用户 ID 列表。最多不超过 512 个用户 ID。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.UnsubscribePeersOnlineStatus | ( | string[] | peerIds, |
Int64 | requestId | ||
) |
退订指定单个或多个用户的在线状态。 SDK 将通过 OnSubscriptionRequestResultHandler 回调返回方法调用结果。
peerIds | 用户 ID 列表。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.QueryPeersBySubscriptionOption | ( | PEER_SUBSCRIPTION_OPTION | option, |
Int64 | requestId | ||
) |
获取某特定内容被订阅的用户列表。 SDK 将通过 OnQueryPeersBySubscriptionOptionResultHandler 回调返回方法调用结果。
option | 被订阅的类型。详见 PEER_SUBSCRIPTION_OPTION。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.SetLogFileSize | ( | int | fileSizeInKBytes | ) |
设置 SDK 输出的单个日志文件的大小,单位为 KB。 SDK 设有 2 个大小相同的日志文件。
fileSizeInKBytes | SDK 输出的单个日志文件的大小,单位为 KB。默认值为 10240 (KB)。取值范围为 [512 KB, 1 GB]。 |
int agora_rtm.RtmClient.SetLogFilter | ( | int | fileter | ) |
设置日志输出等级。 设置 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF
、CRITICAL
、ERROR
、WARNING
和 INFO
。选择一个级别,你就可以看到在该级别之前所有级别的日志信息。例如,你选择 WARNING
级别,就可以看到在 CRITICAL
、ERROR
和 WARNING
级别上的所有日志信息。
fileter | 日志输出等级。 |
int agora_rtm.RtmClient.SetLogFile | ( | string | logFilePath | ) |
设定日志文件的默认地址。
logFilePath | 日志文件的绝对路径。编码格式为 UTF-8。 |
int agora_rtm.RtmClient.GetChannelMemberCount | ( | string[] | channelIds, |
Int64 | requestId | ||
) |
查询单个或多个频道的成员人数。 SDK 将通过 OnGetChannelMemberCountResultHandler 回调返回方法调用结果。
channelIds | 指定频道名数组。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.GetChannelAttributesByKeys | ( | string | channelId, |
string[] | attributeKeys, | ||
Int64 | requestId | ||
) |
查询某指定频道指定属性名的属性。 SDK 将通过 OnGetChannelAttributesResultHandler 回调返回方法调用结果。
channelId | 该指定频道的频道 ID。 |
attributeKeys | 频道属性名数组。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.GetChannelAttributes | ( | string | channelId, |
Int64 | requestId | ||
) |
查询某指定频道的全部属性。 SDK 将通过 OnGetChannelAttributesResultHandler 回调返回方法调用结果。
channelId | 该指定频道的频道 ID。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.ClearChannelAttributes | ( | string | channelId, |
bool | enableNotificationToChannelMembers, | ||
Int64 | requestId | ||
) |
清空某指定频道的属性。 SDK 将通过 OnClearChannelAttributesResultHandler 回调返回方法调用结果。
channelId | 该指定频道的频道 ID。 |
enableNotificationToChannelMembers | 指示是否将通道属性更改通知所有通道成员。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.DeleteChannelAttributesByKeys | ( | string | channelId, |
string[] | attributeKeys, | ||
bool | enableNotificationToChannelMembers, | ||
Int64 | requestId | ||
) |
删除某指定频道的指定属性。 SDK 将通过 OnDeleteChannelAttributesResultHandler 回调返回方法调用结果。
channelId | 该指定频道的频道 ID。 |
attributeKeys | 频道属性名数组。 |
enableNotificationToChannelMembers | 指示是否将通道属性更改通知所有通道成员。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.GetUserAttributesByKeys | ( | string | userId, |
string[] | attributeKeys, | ||
Int64 | requestId | ||
) |
查询指定用户指定属性名的属性。 SDK 将通过 OnGetUserAttributesResultHandler 回调返回方法调用结果。
userId | 指定用户的用户 ID。 |
attributeKeys | 属性名数组。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.GetUserAttributes | ( | string | userId, |
Int64 | requestId | ||
) |
查询指定用户的全部属性。 SDK 将通过 OnGetUserAttributesResultHandler 回调返回方法调用结果。
userId | 指定用户的用户 ID。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.ClearLocalUserAttributes | ( | Int64 | requestId | ) |
清空本地用户的属性。 SDK 将通过 OnClearLocalUserAttributesResultHandler 回调返回方法调用结果。
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.DeleteLocalUserAttributesByKeys | ( | string[] | attributeKeys, |
Int64 | requestId | ||
) |
删除本地用户的指定属性。 SDK 将通过 OnDeleteLocalUserAttributesResultHandler 回调返回方法调用结果。
attributeKeys | 属性名数组。 |
requestId | 标识本次请求的的唯一 ID。 |
int agora_rtm.RtmClient.SetChannelAttributes | ( | string | channelId, |
RtmChannelAttribute[] | attributes, | ||
ChannelAttributeOptions | options, | ||
Int64 | requestId | ||
) |
全量设置某指定频道的属性。 SDK 将通过 OnSetChannelAttributesResultHandler 回调返回方法调用结果。
channelId | 该指定频道的频道 ID。 |
attributes | 频道属性数组。详见 RtmChannelAttribute。 |
options | 频道属性操作选项。详见 ChannelAttributeOptions。 |
requestId | 标识本次请求的的唯一 ID。 |
RtmCallManager agora_rtm.RtmClient.GetRtmCallManager | ( | RtmCallEventHandler | eventHandler | ) |
获取 RtmCallManager 对象。 每个 RtmClient 实例都有各自唯一的 RtmCallManager 实例。属于不同 RtmClient 实例的 RtmCallManager 实例各不相同。
eventHandler | 一个 RtmCallEventHandler 对象。 |