本页简要介绍 RTM SDK for Flutter 的使用限制条件,包括调用频率、字符串大小、编码格式等。
调用频率限制
所有的调用频率都针对单个 RtmClient
实例。如果一个操作对应多个方法,则此操作在单位时间内的调用次数等于所有方法单位时间内的调用次数之和。
你可以通过创建多个实例提高 API 的调用频率。
操作 | 方法 | 调用频率限制 |
---|---|---|
登录 RTM 系统 | login | 每秒 2 次 |
查询单个或多个频道的成员人数 | queryPeersOnlineStatus | 每秒 1 次 |
每次都加入不同频道 | join | 每秒 20 次 |
发送消息 | createMessage sendMessage | 每 3 秒 180 次 |
获取频道成员列表 | getMembers | 每 2 秒 5 次 |
更新 token | renewToken | 每秒 2 次 |
用户属性增删修改 | setLocalUserAttributes | 每 5 秒 40 次 |
添加或更新本地用户的属性。 | addOrUpdateLocalUserAttributes | 每 5 秒 40 次 |
删除本地用户的指定属性。 | deleteLocalUserAttributesByKeys | 每 5 秒 40 次 |
清空本地用户的属性。 | clearLocalUserAttributes | 每 5 秒 40 次 |
获取指定用户的全部属性。 | getUserAttributes | 每 5 秒 40 次 |
获取指定用户指定属性名的属性。 | getUserAttributesByKeys | 每 5 秒 40 次 |
频道属性增删修改 | setChannelAttributes | 每 5 秒 10 次 |
添加或更新某指定频道的属性。 | addOrUpdateChannelAttributes | 每 5 秒 10 次 |
删除某指定频道的指定属性 | deleteChannelAttributesByKeys | 每 5 秒 10 次 |
清空某指定频道的属性。 | clearChannelAttributes | 每 5 秒 10 次 |
获取某指定频道的全部属性。 | getChannelAttributes | 每 5 秒 10 次 |
获取某指定频道指定属性名的属性。 | getChannelAttributesByKeys | 每 5 秒 10 次 |
字符串大小限制
- 点对点或频道消息的字符串最大为 32 KB。详见 RtmMessage.valText。
- 呼叫邀请内容的字符串最大为 8 KB。 详见 LocalInvitation.Content。
- 呼叫邀请响应的字符串最大为 8 KB。 详见 RemoteInvitation.Response。
编码格式限制
- 仅支持发送 UTF-8 编码格式的频道消息和点对点消息、呼叫邀请内容、呼叫邀请响应。
- 以下方法的
filePath
参数都必须是 UTF-8 编码格式:createFileMessageByUploading
createImageMessageByUploading
downloadMediaToFile
其它限制
- 当频道人数超过 512 人时,用户进出频道的提示会被自动关闭。
- 对于单个实例,支持单次查询最多 256 个用户的在线状态。
- 对于单个实例,单次最多且总计只能订阅 512 人的在线状态。你无法通过多次订阅来突破人数限制。如果频道人数超过 512,SDK 会随机返回其中的 512 人。
- 对于单个实例,每个用户最多同时加入 20 个频道。
- 单次用户属性设置的最大值为 16 KB,单次频道属性设置的最大值为 32 KB,单条用户或频道属性(键值对)的最大值为 8 KB,单次属性操作设置的属性条目(键值对)不能超过 32 个。
- 每个上传文件或图片在 服务器上的保存时间最长为 7 天,上传文件或图片所对应的 media ID 有效期也为 7 天。
- 每个上传文件或图片不得超过 30 MB。
- 对于单个实例,同时最多支持 9 个上传和下载进程。