类 | |
struct | ChannelAttributeOptions |
struct | ChannelMemberCount |
class | IChannel |
class | IChannelEventHandler |
class | IChannelMember |
class | IFileMessage |
class | IImageMessage |
class | ILocalCallInvitation |
class | IMessage |
class | IRemoteCallInvitation |
class | IRtmCallEventHandler |
class | IRtmCallManager |
class | IRtmChannelAttribute |
class | IRtmService |
class | IRtmServiceEventHandler |
struct | MediaOperationProgress |
struct | PeerOnlineStatus |
struct | RtmAttribute |
struct | RtmServiceContext |
struct | SendMessageOptions |
函数 | |
AGORA_API IRtmService *AGORA_CALL | createRtmService () |
AGORA_API const char *AGORA_CALL | getRtmSdkVersion () |
AGORA_API SET_RTM_SERVICE_CONTEXT_ERR_CODE AGORA_CALL | setRtmServiceContext (const RtmServiceContext &context) |
返回给主叫的呼叫邀请状态码。
返回给被叫的呼叫邀请状态码
返回给主叫的呼叫邀请错误码
返回给被叫的呼叫邀请错误码
呼叫邀请的相关 API 调用的错误码。
登录相关错误码。
枚举值 | |
---|---|
LOGIN_ERR_OK | 0: 方法调用成功或登录成功 |
LOGIN_ERR_UNKNOWN | 1: 登录失败。原因未知。 |
LOGIN_ERR_REJECTED | 2: 登录被服务器拒绝。 |
LOGIN_ERR_INVALID_ARGUMENT | 3: 无效的登录参数。 |
LOGIN_ERR_INVALID_APP_ID | 4: 无效的 App ID。 |
LOGIN_ERR_INVALID_TOKEN | 5: 无效的 Token。 |
LOGIN_ERR_TOKEN_EXPIRED | 6: Token 已过期,登录被拒绝。 |
LOGIN_ERR_NOT_AUTHORIZED | 7: 预留错误码 未经授权的登录。 |
LOGIN_ERR_ALREADY_LOGIN | 8: 用户已登录,或正在登录 Agora RTM 系统,或未调用 logout 方法退出 CONNECTION_STATE_ABORTED 状态。 |
LOGIN_ERR_TIMEOUT | 9: 登录超时。目前的超时设置为 6 秒。你需要再次登录。 |
LOGIN_ERR_TOO_OFTEN | 10: 登录过于频繁。超过 2 次每秒的上限。 |
LOGIN_ERR_NOT_INITIALIZED | 101: Agora RTM 服务未完成初始化。 |
更新 RTM Token 相关错误码。
SDK 与 Agora RTM 系统的连接状态。
枚举值 | |
---|---|
CONNECTION_STATE_DISCONNECTED | 1: 初始状态。SDK 未连接到 Agora RTM 系统。 App 调用方法 login 时, SDK 开始登录 Agora RTM 系统,触发回调 onConnectionStateChanged 并切换到 CONNECTION_STATE_CONNECTING 状态。 |
CONNECTION_STATE_CONNECTING | 2: SDK 正在登录 Agora RTM 系统。
|
CONNECTION_STATE_CONNECTED | 3: SDK 已登录 Agora RTM 系统。
|
CONNECTION_STATE_RECONNECTING | 4: SDK 与 Agora RTM 系统连接由于网络原因出现中断,SDK 正在尝试自动重连 Agora RTM 系统。
|
CONNECTION_STATE_ABORTED | 5: SDK 停止登录 Agora RTM 系统。 可能原因:另一实例已经以同一用户 ID 登录 Agora RTM 系统。 |
连接状态改变原因。
枚举值 | |
---|---|
CONNECTION_CHANGE_REASON_LOGIN | 1: SDK 正在登录 Agora RTM 系统。 |
CONNECTION_CHANGE_REASON_LOGIN_SUCCESS | 2: SDK 登录 Agora RTM 系统成功。 |
CONNECTION_CHANGE_REASON_LOGIN_FAILURE | 3: SDK 登录 Agora RTM 系统失败。 |
CONNECTION_CHANGE_REASON_LOGIN_TIMEOUT | 4: SDK 无法登录 Agora RTM 系统超过 6 秒,停止登录。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
CONNECTION_CHANGE_REASON_INTERRUPTED | 5: SDK 与 Agora RTM 系统的连接被中断。 |
CONNECTION_CHANGE_REASON_LOGOUT | 6: 用户调用了 logout 方法登出 Agora RTM 系统。 |
CONNECTION_CHANGE_REASON_BANNED_BY_SERVER | 7:SDK 被服务器禁止登录 Agora RTM 系统。 |
CONNECTION_CHANGE_REASON_REMOTE_LOGIN | 8:另一个用户正以相同的 User ID 登陆 Agora RTM 系统。 |
点对点消息发送相关错误码。
枚举值 | |
---|---|
PEER_MESSAGE_ERR_OK | 0: 方法调用成功,或对端已成功收到点对点消息。 |
PEER_MESSAGE_ERR_FAILURE | 1: 发送点对点消息失败。 |
PEER_MESSAGE_ERR_SENT_TIMEOUT | 2: 发送点对点消息超时。当前的超时时间设置为 10 秒。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
PEER_MESSAGE_ERR_PEER_UNREACHABLE | 3: 对方不在线,发出的点对点消息未被收到。 |
PEER_MESSAGE_ERR_CACHED_BY_SERVER | 4: 对方不在线,发出的离线点对点消息未被收到。但是服务器已经保存这条消息并将在用户上线后重新发送。 |
PEER_MESSAGE_ERR_TOO_OFTEN | 5: 发送消息(点对点消息和频道消息一并计算在内)超过(RTM SDK for Windows C++) 每 3 秒 180 次的上限;(RTM SDK for Linux C++)每 3 秒 1500 次的上限。 |
PEER_MESSAGE_ERR_INVALID_USERID | 6: 用户 ID 无效。 |
PEER_MESSAGE_ERR_INVALID_MESSAGE | 7: 消息为 null 或超出 32 KB 的长度限制。 |
PEER_MESSAGE_ERR_IMCOMPATIBLE_MESSAGE | 8: 消息接收方的 SDK 版本较老,无法识别本消息。 |
PEER_MESSAGE_ERR_NOT_INITIALIZED | 101: Agora RTM 服务未完成初始化。 |
PEER_MESSAGE_ERR_USER_NOT_LOGGED_IN |
加入频道相关错误码。
枚举值 | |
---|---|
JOIN_CHANNEL_ERR_OK | 0: 方法调用成功,或用户加入频道成功。 |
JOIN_CHANNEL_ERR_FAILURE | 1: 通用错误。用户加入频道失败。 |
JOIN_CHANNEL_ERR_REJECTED | 2: 对于 v1.0.0 或之前版本,用户再次加入已经加入过的频道时会返回此错误。v1.0.0 之后的版本不会返回此错误码。 |
JOIN_CHANNEL_ERR_INVALID_ARGUMENT | 3: 用户加入频道失败。输入参数无效。 |
JOIN_CHANNEL_TIMEOUT | 4: 用户加入频道超时。目前的超时设置为 5 秒。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
JOIN_CHANNEL_ERR_EXCEED_LIMIT | 5: 同时加入的频道数超过 20 上限。 |
JOIN_CHANNEL_ERR_ALREADY_JOINED | 6: 用户正在加入频道或已成功加入频道。 |
JOIN_CHANNEL_ERR_TOO_OFTEN | 7: 方法调用超过每 3 秒 50 次的上限。 |
JOIN_CHANNEL_ERR_JOIN_SAME_CHANNEL_TOO_OFTEN | 8: 加入相同频道的频率超过每 5 秒 2 次的上限。 |
JOIN_CHANNEL_ERR_NOT_INITIALIZED | 101: Agora RTM 服务未完成初始化。 |
JOIN_CHANNEL_ERR_USER_NOT_LOGGED_IN |
离开频道原因。
枚举值 | |
---|---|
LEAVE_CHANNEL_REASON_QUIT | 1: 用户已主动调用 leave 方法离开频道。 |
LEAVE_CHANNEL_REASON_KICKED | 2: 用户被服务器踢出。可能因为另一个实例用了相同的 uid 登录 Agora RTM 系统。 |
频道消息发送相关错误码。
枚举值 | |
---|---|
CHANNEL_MESSAGE_ERR_OK | 0: 方法调用成功,或服务端已收到频道消息。 |
CHANNEL_MESSAGE_ERR_FAILURE | 1: 通用错误。发送频道消息失败。 |
CHANNEL_MESSAGE_ERR_SENT_TIMEOUT | 2: 服务器未收到频道消息或者 SDK 未在 10 秒内收到服务器响应。当前的超时设置为 10 秒。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
CHANNEL_MESSAGE_ERR_TOO_OFTEN | 3: 发送消息(点对点消息和频道消息一并计算在内)超过(RTM SDK for Windows C++) 每 3 秒 180 次的上限;(RTM SDK for Linux C++)每 3 秒 1500 次的上限。 |
CHANNEL_MESSAGE_ERR_INVALID_MESSAGE | 4: 消息为 null 或超出 32 KB 的长度限制。 |
CHANNEL_MESSAGE_ERR_NOT_INITIALIZED | 101: Agora RTM 服务未完成初始化。 |
CHANNEL_MESSAGE_ERR_USER_NOT_LOGGED_IN |
获取所在频道成员列表相关错误码。
枚举值 | |
---|---|
GET_MEMBERS_ERR_OK | 0: 方法调用成功,或获取所在频道成员列表成功。 |
GET_MEMBERS_ERR_FAILURE | 1: 通用错误。获取所在频道成员列表失败。 |
GET_MEMBERS_ERR_REJECTED | 2: 预留错误码 |
GET_MEMBERS_ERR_TIMEOUT | 3: 获取所在频道成员列表超时。目前的超时设置为 5 秒。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
GET_MEMBERS_ERR_TOO_OFTEN | 4: 方法调用频率超过 5 次每 2 秒的上限。 |
GET_MEMBERS_ERR_NOT_IN_CHANNEL | 5: 用户不在频道内。 |
GET_MEMBERS_ERR_NOT_INITIALIZED | 101: Agora RTM 服务未初始化。 |
GET_MEMBERS_ERR_USER_NOT_LOGGED_IN |
查询用户在线状态相关的错误码。
枚举值 | |
---|---|
QUERY_PEERS_ONLINE_STATUS_ERR_OK | 0:方法调用成功,或查询用户在线状态成功。 |
QUERY_PEERS_ONLINE_STATUS_ERR_FAILURE | 1:通用错误。查询用户在线状态失败。 |
QUERY_PEERS_ONLINE_STATUS_ERR_INVALID_ARGUMENT | 2:无效的输入参数。 |
QUERY_PEERS_ONLINE_STATUS_ERR_REJECTED | 3: 预留错误码 |
QUERY_PEERS_ONLINE_STATUS_ERR_TIMEOUT | 4:服务器响应超时。当前的超时设置为 10 秒。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
QUERY_PEERS_ONLINE_STATUS_ERR_TOO_OFTEN | 5:方法调用过于频繁。超过(RTM SDK for Windows C++)每 5 秒 10 次或 (RTM SDK for Linux C++)每 5 秒 100 次的限制。 |
QUERY_PEERS_ONLINE_STATUS_ERR_NOT_INITIALIZED | 101: IRtmService 未完成初始化。 |
QUERY_PEERS_ONLINE_STATUS_ERR_USER_NOT_LOGGED_IN |
订阅或退订指定用户状态相关错误码。
枚举值 | |
---|---|
PEER_SUBSCRIPTION_STATUS_ERR_OK | 0: 方法调用成功,或订阅退订操作成功。 |
PEER_SUBSCRIPTION_STATUS_ERR_FAILURE | 1: 通用错误。订阅或退订操作失败。 |
PEER_SUBSCRIPTION_STATUS_ERR_INVALID_ARGUMENT | 2: 无效的输入参数。 |
PEER_SUBSCRIPTION_STATUS_ERR_REJECTED | 3: 预留错误码 |
PEER_SUBSCRIPTION_STATUS_ERR_TIMEOUT | 4: 服务器响应超时。当前的超时设置为 10 秒。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
PEER_SUBSCRIPTION_STATUS_ERR_TOO_OFTEN | 5: 方法调用过于频繁。超过 10 次每 5 秒的限制。 |
PEER_SUBSCRIPTION_STATUS_ERR_OVERFLOW | 6: 订阅人数超过 512 人的上限。 |
PEER_SUBSCRIPTION_STATUS_ERR_NOT_INITIALIZED | 101: IRtmService 未完成初始化。 |
PEER_SUBSCRIPTION_STATUS_ERR_USER_NOT_LOGGED_IN |
根据订阅类型获取被订阅用户列表相关的错误码。
枚举值 | |
---|---|
QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_OK | 0: 方法调用成功,或根据订阅类型获取被订阅用户列表成功。 |
QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_FAILURE | 1: 通用错误。根据订阅类型获取被订阅用户列表失败。 |
QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_TIMEOUT | 2: 服务器响应超时。当前的超时设置为 5 秒。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_TOO_OFTEN | 3: 方法调用过于频繁。超过 10 次每 5 秒的限制。 |
QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_NOT_INITIALIZED | 101: IRtmService 未完成初始化。 |
QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_USER_NOT_LOGGED_IN |
属性相关操作错误码。
枚举值 | |
---|---|
ATTRIBUTE_OPERATION_ERR_OK | 0: 方法调用成功,或属性操作成功。 |
ATTRIBUTE_OPERATION_ERR_NOT_READY | 1: |
ATTRIBUTE_OPERATION_ERR_FAILURE | 2: 通用错误。属性相关操作失败。 |
ATTRIBUTE_OPERATION_ERR_INVALID_ARGUMENT | 3: 无效的输入参数。比如,你不可以把用户属性或频道属性设为 ""。 |
ATTRIBUTE_OPERATION_ERR_SIZE_OVERFLOW | 4: 本次操作后,用户属性或频道属性超过上限。
|
ATTRIBUTE_OPERATION_ERR_TOO_OFTEN | 5: 方法调用频率超过限制。
|
ATTRIBUTE_OPERATION_ERR_USER_NOT_FOUND | 6: 未找到指定用户。该用户或者处于离线状态或者并不存在。 |
ATTRIBUTE_OPERATION_ERR_TIMEOUT | 7: 属性操作超时。当前的超时设定为 5 秒。可能原因:用户正处于 CONNECTION_STATE_ABORTED 状态或 CONNECTION_STATE_RECONNECTING 状态。 |
ATTRIBUTE_OPERATION_ERR_NOT_INITIALIZED | 101: IRtmService 未完成初始化。 |
ATTRIBUTE_OPERATION_ERR_USER_NOT_LOGGED_IN |
查询单个或多个指定频道成员人数的相关错误码。
枚举值 | |
---|---|
GET_CHANNEL_MEMBER_COUNT_ERR_OK | 0: 方法调用成功,或获取指定频道成员人数成功。 |
GET_CHANNEL_MEMBER_COUNT_ERR_FAILURE | 1: 通用未知错误。 |
GET_CHANNEL_MEMBER_COUNT_ERR_INVALID_ARGUMENT | 2: 你的频道 ID 无效或者 |
GET_CHANNEL_MEMBER_COUNT_ERR_TOO_OFTEN | 3: 方法调用过于频繁。超过 1 次每秒的限制。 |
GET_CHANNEL_MEMBER_COUNT_ERR_TIMEOUT | 4: 服务器响应超时。当前的超时设定为 5 秒。 |
GET_CHANNEL_MEMBER_COUNT_ERR_EXCEED_LIMIT | 5: |
GET_CHANNEL_MEMBER_COUNT_ERR_NOT_INITIALIZED | 101: IRtmService 未完成初始化。 |
GET_CHANNEL_MEMBER_COUNT_ERR_USER_NOT_LOGGED_IN |
文件或图片下载相关错误码。
枚举值 | |
---|---|
DOWNLOAD_MEDIA_ERR_OK | 0: 方法调用成功,或下载操作成功。 |
DOWNLOAD_MEDIA_ERR_FAILURE | 1: 通用未知错误。请检查你是否有写权限。 |
DOWNLOAD_MEDIA_ERR_INVALID_ARGUMENT | 2: 输入参数错误。比如 |
DOWNLOAD_MEDIA_ERR_TIMEOUT | 3: 服务器响应超时。当前如果 SDK 与文件服务器之间没有文件传输达 120 秒时,SDK 认定下载超时。 |
DOWNLOAD_MEDIA_ERR_NOT_EXIST | 4: 要下载的文件或图片不存在,可能因为 |
DOWNLOAD_MEDIA_ERR_CONCURRENCY_LIMIT_EXCEEDED | 5: 文件或图片同时下载数超过 9 个的上限(上传任务和下载任务一并计算)。 |
DOWNLOAD_MEDIA_ERR_INTERRUPTED | 6: 文件或图片下载任务因如下原因中途退出:
|
DOWNLOAD_MEDIA_ERR_NOT_INITIALIZED | 101: IRtmService 未完成初始化。 |
DOWNLOAD_MEDIA_ERR_NOT_LOGGED_IN |
文件或图片上传相关错误码。
枚举值 | |
---|---|
UPLOAD_MEDIA_ERR_OK | 0: 方法调用成功,或上传操作成功。 |
UPLOAD_MEDIA_ERR_FAILURE | 1: 通用未知错误。请检查文件是否存在或是否有权限。 |
UPLOAD_MEDIA_ERR_INVALID_ARGUMENT | 2: 输入参数错误。比如 |
UPLOAD_MEDIA_ERR_TIMEOUT | 3: 服务器响应超时。当前如果 SDK 与文件服务器之间没有文件传输达 120 秒时,SDK 认定上传超时。 |
UPLOAD_MEDIA_ERR_SIZE_OVERFLOW | 4: 上传文件或图片大小超过 30 MB 上限。 |
UPLOAD_MEDIA_ERR_CONCURRENCY_LIMIT_EXCEEDED | 5: 文件或图片同时上传数超过 9 个的上限(上传任务和下载任务可一并计算)。 |
UPLOAD_MEDIA_ERR_INTERRUPTED | 6: 文件或图片上传任务因如下原因中途退出:
|
UPLOAD_MEDIA_ERR_NOT_INITIALIZED | 101: IRtmService 未完成初始化。 |
UPLOAD_MEDIA_ERR_NOT_LOGGED_IN |
取消上传或取消下载相关的错误码。
枚举值 | |
---|---|
CANCEL_MEDIA_ERR_OK | 0: 方法调用成功,或取消操作成功。 |
CANCEL_MEDIA_ERR_FAILURE | 1: 通用未知错误。 |
CANCEL_MEDIA_ERR_NOT_EXIST | 2: 待取消任务不存在。你只能取消正在进行中的上传或下载任务。如果上传或下载任务已完成,对应的 |
CANCEL_MEDIA_ERR_NOT_INITIALIZED | 101: IRtmService 未完成初始化。 |
CANCEL_MEDIA_ERR_NOT_LOGGED_IN |
日志输出等级。