This page provides a brief overview of the limitations of the Agora RTM Objective-C SDK for iOS or Agora RTM Objective-C SDK for macOS, including API call limit, string size, encoding, and more.
The Agora RTM SDK does not have a limit on the number of concurrent online users. However, Agora has the following recommendations on the maximum number of channel messages per second for a single channel:
Concurrent online users in a single channel | Number of channel messages per second |
---|---|
< 1,000 | < 200 |
≥ 1,000 and < 10,000 | < 100 |
≥ 10,000 | < 30 |
If the number of messages per second exceeds the recommended values, latency can increase significantly and may also cause the following issues:
RECONNECTING
state or keeps switching between the CONNECTED
state and the RECONNECTING
state. For other users, the current user may appear offline.Agora provides customized service to increase the number of messages per second without affecting latency or stability. Please contact support@agora.io for more information.
The call limit is for one AgoraRtmKit
instance. If an operation corresponds to multiple methods, the number of the method calls of an operation equals the sum of the method calls of all corresponding methods in a specific time frame.
AgoraRtmKit
instances.Operation | Method | Call limit |
---|---|---|
Log in to the RTM system | loginByToken |
2 calls per second |
Retrieve member count of specified channel(s) | getChannelMemberCount |
1 call per second |
Join a different channel each time | joinWithCompletion |
50 calls every 3 seconds |
Join the same channel each time | joinWithCompletion |
2 calls every 5 seconds |
Send messages | sendMessage sendMessage sendMessage sendMessage |
180 calls every three seconds |
Retrieve a member list of the channel | getMembersWithCompletion: |
5 calls every 2 seconds |
Renew the token | renewToken |
2 calls per second |
Query the online status of the specified users. | queryPeersOnlineStatus |
10 calls every 5 seconds |
Set user attributes | setLocalUserAttributes addOrUpdateLocalUserAttributes deleteLocalUserAttributesByKeys clearLocalUserAttributes |
10 calls every 5 seconds |
Get user attributes | getUserAttributes getUserAttributesByKeys |
40 calls every 5 seconds |
Set channel attributes | setChannelAttributes addOrUpdateChannelAttributes deleteChannelAttributesByKeys clearChannelAttributes |
10 calls every 5 seconds |
Get channel attributes | getChannelAttributes getChannelAttributesByKeys |
10 calls every 5 seconds |
Subscribe to the online status of the specified user(s) | subscribePeersOnlineStatus |
10 calls every 5 seconds |
Unsubscribe from the online status of the specified user(s) | unsubscribePeersOnlineStatus |
10 calls every 5 seconds |
Get a list of the peers whose status you have subscribed to. | queryPeersBySubscriptionOption |
10 calls every 5 seconds |
AgoraRtmMessage
.AgoraRtmLocalInvitation
.AgoraRtmRemoteInvitation
.filePath
parameter of the following methods must be in UTF-8 format: