AgoraRtmKit Class Reference
Inherits from | NSObject |
---|---|
Declared in | AgoraRtmKit.h |
agoraRtmDelegate
AgoraRtmDelegate enables Agora RTM callback event notifications to your app.
@property (atomic, weak, nullable) id<AgoraRtmDelegate> agoraRtmDelegate
Declared In
AgoraRtmKit.h
__deprecated
*DEPRECATED** The property for managing channels for the local user.
@property (atomic, readonly, nullable) NSMutableDictionary<NSString*AgoraRtmChannel*> *__deprecated
Declared In
AgoraRtmKit.h
– initWithAppId:delegate:
Creates and initializes an AgoraRtmKit
instance.
- (instancetype _Nullable)initWithAppId:(NSString *_Nonnull)appId delegate:(id<AgoraRtmDelegate> _Nullable)delegate
Parameters
appId |
The App ID issued to you from the Agora Console. Apply for a new App ID from Agora if it is missing from your kit. |
---|---|
delegate |
AgoraRtmDelegate invokes callbacks to be passed to the app on Agora RTM SDK runtime events. |
Return Value
- An
AgoraRtmKit
instance if this method call succeeds. nil
if this method call fails for the reason that the length of theappId
is not 32 characters.
Discussion
The Agora RTM SDK supports creating multiple AgoraRtmKit
instances. All methods in the AgoraRtmKit
class, except the destroyChannelWithId method, are executed asynchronously.
Declared In
AgoraRtmKit.h
– loginByToken:user:completion:
Logs in the Agora RTM system.
- (void)loginByToken:(NSString *_Nullable)token user:(NSString *_Nonnull)userId completion:(AgoraRtmLoginBlock _Nullable)completionBlock
Parameters
token |
A token generated by the app server and used to log in the Agora RTM system. |
---|---|
userId |
The user ID of the user logging in the Agora RTM system. The string length must be less than 64 bytes with the following character scope:
NOTE A |
completionBlock |
AgoraRtmLoginBlock returns the result of this method call. See AgoraRtmLoginErrorCode for the error codes. |
Discussion
NOTE
- If you log in with the same user ID from a different instance, you will be kicked out of your previous login and removed from previously joined channels.
- The call frequency limit for this method is two queries per second.
Only after you successfully call this method and receives the
AgoraRtmLoginErrorOk
error code, can you call the key RTM methods except:
After the app calls this method, the local user receives the connectionStateChanged callback and switches to the AgoraRtmConnectionStateConnecting
state.
- Success: The local user receives the AgoraRtmLoginBlock and connectionStateChanged callbacks, and switches to the
AgoraRtmConnectionStateConnected
state. - Failure: The local user receives the AgoraRtmLoginBlock and connectionStateChanged callbacks, and switches to the
AgoraRtmConnectionStateDisconnected
state.
Declared In
AgoraRtmKit.h
– logoutWithCompletion:
Logs out of the Agora RTM system.
- (void)logoutWithCompletion:(AgoraRtmLogoutBlock _Nullable)completionBlock
Parameters
completionBlock |
AgoraRtmLogoutBlock returns the result of this method call. See AgoraRtmLogoutErrorCode for the error codes. |
---|
Discussion
- Success: The local user receives the AgoraRtmLogoutBlock and connectionStateChanged callbacks, and switches to the
AgoraRtmConnectionStateDisConnected
state. - Failure: The local user receives the AgoraRtmLogoutBlock callback.
Declared In
AgoraRtmKit.h
– renewToken:completion:
Renews the RTM Token of the SDK.
- (void)renewToken:(NSString *_Nonnull)token completion:(AgoraRtmRenewTokenBlock _Nullable)completionBlock
Parameters
token |
Your new RTM Token. You need to generate the RTM Token yourself. See Generate an RTM Token. |
---|---|
completionBlock |
AgoraRtmRenewTokenBlock returns the result of this method call.
|
Discussion
You are required to renew your Token when receiving the rtmKitTokenDidExpire callback, and the AgoraRtmRenewTokenBlock callback returns the result of this method call. The call frequency limit for this method is two calls per second.
Declared In
AgoraRtmKit.h
– sendMessage:toPeer:completion:
Sends a peer-to-peer message to a specified peer user.
- (void)sendMessage:(AgoraRtmMessage *_Nonnull)message toPeer:(NSString *_Nonnull)peerId completion:(AgoraRtmSendPeerMessageBlock _Nullable)completionBlock
Parameters
message |
The message to be sent. For information about creating a message, see AgoraRtmMessage. |
---|---|
peerId |
The ID of the remote user. |
completionBlock |
AgoraRtmSendPeerMessageBlock returns the result of this method call. See AgoraRtmSendPeerMessageErrorCode for the error codes. |
Discussion
DEPRECATED
We do not recommend using this method to send a peer-to-peer message. Use sendMessage instead.
- Success:
- The local user receives the AgoraRtmSendPeerMessageBlock callback.
- The specified remote user receives the messageReceived callback.
- Failure: The local user receives the AgoraRtmSendPeerMessageBlock callback with an error. See AgoraRtmSendPeerMessageErrorCode for the error codes.
NOTE
You can send messages, including peer-to-peer and channel messages, at a maximum speed of 180 calls every three seconds.
Declared In
AgoraRtmKit.h
– downloadMediaToMemory:withRequest:completion:
DEPRECATED Deprecated as of v1.5.0. Agora recommends that you do not use it.
- (void)downloadMediaToMemory:(NSString *_Nonnull)mediaId withRequest:(long long *)requestId completion:(AgoraRtmDownloadMediaToMemoryBlock _Nullable)completionBlock
Parameters
mediaId |
The media ID of the file or image on the Agora server. |
---|---|
requestId |
The unique ID to identify one request. |
completionBlock |
AgoraRtmDownloadMediaToMemoryBlock returns the result of this method call. See AgoraRtmDownloadMediaErrorCode for the error codes. |
Discussion
Downloads a file or image from the Agora server to the local memory by media ID.
NOTE
- This method applies to scenarios requiring quick access to the downloaded file or image.
- The SDK releases the downloaded file or image immediately after returning the AgoraRtmDownloadMediaToMemoryBlock callback.
Declared In
AgoraRtmKit.h
– downloadMedia:toFile:withRequest:completion:
DEPRECATED Deprecated as of v1.5.0. Agora recommends that you do not use it.
- (void)downloadMedia:(NSString *_Nonnull)mediaId toFile:(NSString *_Nonnull)filePath withRequest:(long long *)requestId completion:(AgoraRtmDownloadMediaToFileBlock _Nullable)completionBlock
Parameters
mediaId |
The media ID of the file or image on the Agora server. |
---|---|
filePath |
The full path to the downloaded file or image. Must be in UTF-8. |
requestId |
The unique ID of this download request. |
completionBlock |
AgoraRtmDownloadMediaToFileBlock returns the result of this method call. See AgoraRtmDownloadMediaErrorCode for the error codes. |
Discussion
Downloads a file or image from the Agora server to a specified local directory by media ID.
Declared In
AgoraRtmKit.h
– createFileMessageByUploading:withRequest:completion:
DEPRECATED Deprecated as of v1.5.0. Agora recommends that you do not use it.
- (void)createFileMessageByUploading:(NSString *_Nonnull)filePath withRequest:(long long *)requestId completion:(AgoraRtmUploadFileMediaBlock _Nullable)completionBlock
Parameters
filePath |
The full path to the local file to upload. Must be in UTF-8. |
---|---|
requestId |
The unique ID of this upload request. |
completionBlock |
AgoraRtmUploadFileMediaBlock returns the result of this method call. See AgoraRtmUploadMediaErrorCode for the error codes. |
Discussion
Gets an AgoraRtmFileMessage instance by uploading a file to the Agora server.
The SDK returns the result with the AgoraRtmUploadFileMediaBlock callback. If success, this callback returns a corresponding AgoraRtmMessage instance, and then you can downcast it to AgoraRtmFileMessage according to its type.
NOTE
- If you have at hand the media ID of a file on the Agora server, you can call createFileMessageByMediaId to create an AgoraRtmFileMessage instance.
- To cancel an ongoing upload task, call cancelMediaUpload.
Declared In
AgoraRtmKit.h
– createImageMessageByUploading:withRequest:completion:
DEPRECATED Deprecated as of v1.5.0. Agora recommends that you do not use it.
- (void)createImageMessageByUploading:(NSString *_Nonnull)filePath withRequest:(long long *)requestId completion:(AgoraRtmUploadImageMediaBlock _Nullable)completionBlock
Parameters
filePath |
The full path to the local image to upload. Must be in UTF-8. |
---|---|
requestId |
The unique ID of the upload request. |
completionBlock |
AgoraRtmUploadImageMediaBlock returns the result of this method call. See AgoraRtmUploadMediaErrorCode for the error codes. |
Discussion
Gets an AgoraRtmImageMessage instance by uploading an image to the Agora server.
The SDK returns the result by the AgoraRtmUploadImageMediaBlock callback. If success, this callback returns a corresponding AgoraRtmMessage instance, and then you can downcast it to AgoraRtmImageMessage according to its type.
- If the uploaded image is in JPEG, JPG, BMP, or PNG format, the SDK calculates the width and height of the image. You can get the calculated width and height from the received AgoraRtmImageMessage instance.
- Otherwise, you need to set the width and height of the uploaded image within the received AgoraRtmImageMessage instance by yourself.
NOTE
- If you have at hand the media ID of an image on the Agora server, you can call createImageMessageByMediaId to create an AgoraRtmImageMessage instance.
- To cancel an ongoing upload task, call cancelMediaUpload.
Declared In
AgoraRtmKit.h
– cancelMediaDownload:completion:
DEPRECATED Deprecated as of v1.5.0. Agora recommends that you do not use it.
- (void)cancelMediaDownload:(long long)requestId completion:(AgoraRtmCancelMediaBlock _Nullable)completionBlock
Parameters
requestId |
The unique Id to identify one request |
---|---|
completionBlock |
AgoraRtmCancelMediaBlock returns the result of this method call. See AgoraRtmCancelMediaErrorCode for the error codes. |
Discussion
Cancels an ongoing file or image download task by request ID.
NOTE You can only cancel an ongoing download task. After a download task completes, the corresponding request ID is no longer valid and hence you cannot cancel it.
Declared In
AgoraRtmKit.h
– cancelMediaUpload:completion:
DEPRECATED Deprecated as of v1.5.0. Agora recommends that you do not use it.
- (void)cancelMediaUpload:(long long)requestId completion:(AgoraRtmCancelMediaBlock _Nullable)completionBlock
Parameters
requestId |
The unique ID of the upload request to cancel. |
---|---|
completionBlock |
AgoraRtmCancelMediaBlock returns the result of this method call. See AgoraRtmCancelMediaErrorCode for the error codes. |
Discussion
Cancels an ongoing file or image upload task by request ID.
NOTE You can only cancel an ongoing upload task. After an upload task completes, you cannot cancel it and the corresponding request ID is no longer valid.
Declared In
AgoraRtmKit.h
– createFileMessageByMediaId:
DEPRECATED Deprecated as of v1.5.0. Agora recommends that you do not use it.
- (AgoraRtmFileMessage *)createFileMessageByMediaId:(NSString *_Nonnull)mediaId
Parameters
mediaId |
The media ID of an uploaded file on the Agora server. |
---|
Return Value
An AgoraRtmFileMessage instance.
Discussion
Creates an AgoraRtmFileMessage instance by media ID.
- If you have at hand the media ID of a file on the Agora server, you can call this method to create an AgoraRtmFileMessage instance.
- If you do not have a media ID, then you must call createFileMessageByUploading to get a corresponding AgoraRtmFileMessage instance by uploading a file to the Agora RTM server.
Declared In
AgoraRtmKit.h
– createImageMessageByMediaId:
DEPRECATED Deprecated as of v1.5.0. Agora recommends that you do not use it.
- (AgoraRtmImageMessage *)createImageMessageByMediaId:(NSString *_Nonnull)mediaId
Parameters
mediaId |
The media ID of an uploaded image on the Agora server. |
---|
Return Value
An AgoraRtmImageMessage instance.
Discussion
Creates an AgoraRtmImageMessage instance by media ID.
- If you have at hand the media ID of an image on the Agora server, you can call this method to create an AgoraRtmImageMessage instance.
- If you do not have a media ID, then you must call createFileMessageByUploading to get a corresponding AgoraRtmImageMessage instance by uploading an image to the Agora RTM server.
Declared In
AgoraRtmKit.h
– sendMessage:toPeer:sendMessageOptions:completion:
Sends an (offline) peer-to-peer message to a specified peer user.
- (void)sendMessage:(AgoraRtmMessage *_Nonnull)message toPeer:(NSString *_Nonnull)peerId sendMessageOptions:(AgoraRtmSendMessageOptions *_Nonnull)options completion:(AgoraRtmSendPeerMessageBlock _Nullable)completionBlock
Parameters
message |
The message to be sent. For information about creating a message, see AgoraRtmMessage. |
---|---|
peerId |
The user ID of the remote user. The string length must be less than 64 bytes with the following character scope:
NOTE A |
options |
Options when sending the message to a peer. See AgoraRtmSendMessageOptions. |
completionBlock |
AgoraRtmSendPeerMessageBlock returns the result of this method call. See AgoraRtmSendPeerMessageErrorCode for the error codes. |
Discussion
This method allows you to send a message to a specified user when the user is offline. If you set a message as an offline message and the specified user is offline when you send it, the RTM server caches it. Please note that for now we only cache 200 offline messages for up to seven days for each receiver. When the number of the cached messages reaches this limit, the newest message overrides the oldest one.
If you use this method to send off a text message that starts off with AGORA_RTM_ENDCALL_PREFIX_<channelId>_<your additional information>, then this method is compatible with the endCall method of the legacy Agora Signaling SDK. Replace <channelId> with the channel ID from which you want to leave (end call), and replace <your additional information> with any additional information. Note that you must not put any “_” (underscore) in your additional information but you can set <your additional information> as empty “”.
- Success:
- The local user receives the AgoraRtmSendPeerMessageBlock callback.
- The specified remote user receives the messageReceived callback.
- Failure: The local user receives the AgoraRtmSendPeerMessageBlock callback with an error. See AgoraRtmSendPeerMessageErrorCode for the error codes.
NOTE
You can send messages, including peer-to-peer and channel messages, at a maximum speed of 180 calls every three seconds.
Declared In
AgoraRtmKit.h
– createChannelWithId:delegate:
Creates an Agora RTM channel.
- (AgoraRtmChannel *_Nullable)createChannelWithId:(NSString *_Nonnull)channelId delegate:(id<AgoraRtmChannelDelegate> _Nullable)delegate
Parameters
channelId |
The unique channel name of the Agora RTM session. The string length must not exceed 64 bytes with the following character scope:
NOTE A |
---|---|
delegate |
AgoraRtmChannelDelegate invokes callbacks to be passed to the app on Agora RTM SDK runtime events. |
Return Value
- An AgoraRtmChannel instance if this method call succeeds. If a channel with the same
channelId
does not exist, the method returns the created channel instance. If a channel with the samechannelId
already exists, the method returns the existing channel instance. nil
if this method call fails. Possible reasons: The @p channelId is invalid or you have joined the maximum number of channels..
Discussion
NOTE
You can create multiple AgoraRtmChannel
instances in an AgoraRtmKit
instance. But you can only join a maximum of 20 channels at the same time. As a good practice, Agora recommends calling the destroyChannelWithId method to release all resources of an RTM channel that you no longer use.
Declared In
AgoraRtmKit.h
– destroyChannelWithId:
Destroys a specified local AgoraRtmChannel instance.
- (BOOL)destroyChannelWithId:(NSString *_Nonnull)channelId
Parameters
channelId |
The channel ID of the channel to be destroyed. |
---|
Discussion
NOTE
Do not call this method in any of your callbacks.
Declared In
AgoraRtmKit.h
– getRtmCallKit
Gets the AgoraRtmCallKit instance.
- (AgoraRtmCallKit *_Nullable)getRtmCallKit
Return Value
The AgoraRtmCallKit instance.
Declared In
AgoraRtmKit.h
– queryPeersOnlineStatus:completion:
Queries the online status of the specified users.
- (void)queryPeersOnlineStatus:(NSArray<NSString*> *_Nonnull)peerIds completion:(AgoraRtmQueryPeersOnlineBlock _Nullable)completionBlock
Parameters
peerIds |
User IDs of the specified users. |
---|---|
completionBlock |
AgoraRtmQueryPeersOnlineBlock returns the result of this method call.
|
Discussion
- Online: The user has logged in the Agora RTM system.
- Offline: The user has logged out of the Agora RTM system.
Declared In
AgoraRtmKit.h
– setLocalUserAttributes:completion:
Substitutes the local user’s attributes with new ones.
- (void)setLocalUserAttributes:(NSArray<AgoraRtmAttribute*> *_Nullable)attributes completion:(AgoraRtmSetLocalUserAttributesBlock _Nullable)completionBlock
Parameters
attributes |
The new attributes. See AgoraRtmAttribute. |
---|---|
completionBlock |
AgoraRtmSetLocalUserAttributesBlock returns the result of this method call. |
Discussion
For setLocalUserAttributes, addOrUpdateLocalUserAttributes, deleteLocalUserAttributesByKeys and clearLocalUserAttributes taken together: the limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– addOrUpdateLocalUserAttributes:completion:
Adds or updates the local user’s attributes.
- (void)addOrUpdateLocalUserAttributes:(NSArray<AgoraRtmAttribute*> *_Nullable)attributes completion:(AgoraRtmAddOrUpdateLocalUserAttributesBlock _Nullable)completionBlock
Parameters
attributes |
The attrubutes to be added or updated. See AgoraRtmAttribute 。 |
---|---|
completionBlock |
AgoraRtmAddOrUpdateLocalUserAttributesBlock returns the result of this method call. |
Discussion
For setLocalUserAttributes, addOrUpdateLocalUserAttributes, deleteLocalUserAttributesByKeys and clearLocalUserAttributes taken together: the limit is 10 queries every five seconds.
This method updates the local user’s attributes if it finds that the attributes has/have the same keys, or adds attributes to the local user if it does not.
Declared In
AgoraRtmKit.h
– deleteLocalUserAttributesByKeys:completion:
Deletes the local user’s attributes using attribute keys.
- (void)deleteLocalUserAttributesByKeys:(NSArray<NSString*> *_Nullable)attributeKeys completion:(AgoraRtmDeleteLocalUserAttributesBlock _Nullable)completionBlock
Parameters
attributeKeys |
An array of the attribute keys to be deleted. |
---|---|
completionBlock |
AgoraRtmDeleteLocalUserAttributesBlock returns the result of this method call. |
Discussion
For setLocalUserAttributes, addOrUpdateLocalUserAttributes, deleteLocalUserAttributesByKeys and clearLocalUserAttributes taken together: the limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– clearLocalUserAttributesWithCompletion:
Clears all attributes of the local user.
- (void)clearLocalUserAttributesWithCompletion:(AgoraRtmClearLocalUserAttributesBlock _Nullable)completionBlock
Parameters
completionBlock |
AgoraRtmClearLocalUserAttributesBlock returns the result of this method call. |
---|
Discussion
For setLocalUserAttributes, addOrUpdateLocalUserAttributes, deleteLocalUserAttributesByKeys and clearLocalUserAttributes taken together: the limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– getUserAllAttributes:completion:
Gets all attributes of a specified user.
- (void)getUserAllAttributes:(NSString *)userId completion:(AgoraRtmGetUserAttributesBlock _Nullable)completionBlock
Parameters
userId |
The user ID of the specified user. |
---|---|
completionBlock |
AgoraRtmGetUserAttributesBlock returns the result of this method call. |
Discussion
For getUserAttributes and getUserAttributesByKeys taken together, the call frequency limit is 40 queries every five seconds.
Declared In
AgoraRtmKit.h
– getUserAttributes:ByKeys:completion:
Gets the attributes of a specified user using attribute keys.
- (void)getUserAttributes:(NSString *)userId ByKeys:(NSArray<NSString*> *_Nullable)attributeKeys completion:(AgoraRtmGetUserAttributesBlock _Nullable)completionBlock
Parameters
userId |
The user ID of the specified user. |
---|---|
attributeKeys |
An array of the attribute keys. |
completionBlock |
AgoraRtmGetUserAttributesBlock returns the result of this method call. |
Discussion
For getUserAttributes and getUserAttributesByKeys taken together, the call frequency limit is 40 queries every five seconds.
Declared In
AgoraRtmKit.h
– getChannelMemberCount:completion:
Gets the member count of specified channels.
- (void)getChannelMemberCount:(NSArray<NSString*> *_Nonnull)channelIds completion:(AgoraRtmChannelMemberCountBlock _Nullable)completionBlock
Parameters
channelIds |
An array of the specified channel IDs. |
---|---|
completionBlock |
AgoraRtmChannelMemberCountBlock returns the result of this method call. |
Discussion
NOTE
- The call frequency limit for this method is one query per second.
- We do not support getting the member counts of more than 32 channels in one method call.
- You do not have to join the specified channels to call this method.
Declared In
AgoraRtmKit.h
– setChannel:Attributes:Options:completion:
Resets the attributes of a specified channel.
- (void)setChannel:(NSString *_Nonnull)channelId Attributes:(NSArray<AgoraRtmChannelAttribute*> *_Nullable)attributes Options:(AgoraRtmChannelAttributeOptions *_Nonnull)options completion:(AgoraRtmSetChannelAttributesBlock _Nullable)completionBlock
Parameters
channelId |
The ID of the specified channel. |
---|---|
attributes |
An array of the attributes. See AgoraRtmChannelAttribute. |
options |
Options for this attribute operation. See AgoraRtmChannelAttributeOptions. |
completionBlock |
AgoraRtmSetLocalUserAttributesBlock returns the result of this method call. |
Discussion
- You do not have to join the specified channel to reset its attributes.
- The attributes of a channel will be cleared if the channel remains empty (has no members) for a couple of minutes.
- If more than one user can update the channel attributes, then Agora recommends calling getChannelAttributes to update the cache before calling this method.
- For setChannelAttributes, addOrUpdateChannelAttributes, deleteChannelAttributesByKeys and clearChannelAttributes taken together: the limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– addOrUpdateChannel:Attributes:Options:completion:
Adds or updates the attributes of a specified channel.
- (void)addOrUpdateChannel:(NSString *_Nonnull)channelId Attributes:(NSArray<AgoraRtmChannelAttribute*> *_Nullable)attributes Options:(AgoraRtmChannelAttributeOptions *_Nonnull)options completion:(AgoraRtmAddOrUpdateChannelAttributesBlock _Nullable)completionBlock
Parameters
channelId |
The ID of the specified channel. |
---|---|
attributes |
An array of the attributes. See AgoraRtmChannelAttribute. |
options |
Options for this attribute operation. See AgoraRtmChannelAttributeOptions. |
completionBlock |
AgoraRtmAddOrUpdateLocalUserAttributesBlock returns the result of this method call. |
Discussion
This method updates the specified channel’s attributes if it finds that the attributes has/have the same keys, or adds attributes to the channel if it does not.
- You do not have to join the specified channel to update its attributes.
- The attributes of a channel will be cleared if the channel remains empty (has no members) for a couple of minutes.
- If more than one user can update the channel attributes, then Agora recommends calling getChannelAttributes to update the cache before calling this method.
- For setChannelAttributes, addOrUpdateChannelAttributes, deleteChannelAttributesByKeys and clearChannelAttributes taken together: the limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– deleteChannel:AttributesByKeys:Options:completion:
Deletes the attributes of a specified channel by attribute keys.
- (void)deleteChannel:(NSString *_Nonnull)channelId AttributesByKeys:(NSArray<NSString*> *_Nullable)attributeKeys Options:(AgoraRtmChannelAttributeOptions *_Nonnull)options completion:(AgoraRtmDeleteChannelAttributesBlock _Nullable)completionBlock
Parameters
channelId |
The ID of the specified channel. |
---|---|
attributeKeys |
An array of the attribute keys. |
options |
Options for this attribute operation. See AgoraRtmChannelAttributeOptions. |
completionBlock |
AgoraRtmDeleteLocalUserAttributesBlock returns the result of this method call. |
Discussion
- You do not have to join the specified channel to delete its attributes.
- The attributes of a channel will be cleared if the channel remains empty (has no members) for a couple of minutes.
- If more than one user can update the channel attributes, then Agora recommends calling getChannelAttributes to update the cache before calling this method.
- For setChannelAttributes, addOrUpdateChannelAttributes, deleteChannelAttributesByKeys and clearChannelAttributes taken together: the limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– clearChannel:Options:AttributesWithCompletion:
Clears all attributes of a specified channel.
- (void)clearChannel:(NSString *_Nonnull)channelId Options:(AgoraRtmChannelAttributeOptions *_Nonnull)options AttributesWithCompletion:(AgoraRtmClearChannelAttributesBlock _Nullable)completionBlock
Parameters
channelId |
The ID of the specified channel. |
---|---|
options |
Options for this attribute operation. See AgoraRtmChannelAttributeOptions. |
completionBlock |
AgoraRtmClearLocalUserAttributesBlock returns the result of this method call. |
Discussion
- You do not have to join the specified channel to clear its attributes.
- The attributes of a channel will be cleared if the channel remains empty (has no members) for a couple of minutes.
- For getChannelAttributes and getChannelAttributesByKeys taken together, the call frequency limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– getChannelAllAttributes:completion:
Gets all attributes of a specified channel.
- (void)getChannelAllAttributes:(NSString *_Nonnull)channelId completion:(AgoraRtmGetChannelAttributesBlock _Nullable)completionBlock
Parameters
channelId |
The ID of the specified channel. |
---|---|
completionBlock |
AgoraRtmGetUserAttributesBlock returns the result of this method call. |
Discussion
- You do not have to join the specified channel to get its attributes.
- For getChannelAttributes and getChannelAttributesByKeys taken together, the call frequency limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– getChannelAttributes:ByKeys:completion:
Gets the attributes of a specified channel by attribute keys.
- (void)getChannelAttributes:(NSString *_Nonnull)channelId ByKeys:(NSArray<NSString*> *_Nullable)attributeKeys completion:(AgoraRtmGetChannelAttributesBlock _Nullable)completionBlock
Parameters
channelId |
The ID of the specified channel. |
---|---|
attributeKeys |
An array of the attribute keys. |
completionBlock |
AgoraRtmGetUserAttributesBlock returns the result of this method call. |
Discussion
- You do not have to join the specified channel to get its attributes.
- For getChannelAttributes and getChannelAttributesByKeys taken together, the call frequency limit is 10 queries every five seconds.
Declared In
AgoraRtmKit.h
– subscribePeersOnlineStatus:completion:
Subscribes to the online status of the specified users.
- (void)subscribePeersOnlineStatus:(NSArray<NSString*> *_Nonnull)peerIds completion:(AgoraRtmSubscriptionRequestBlock _Nullable)completionBlock
Parameters
peerIds |
User IDs of the specified users. |
---|---|
completionBlock |
AgoraRtmSubscriptionRequestBlock returns the result of this method call. |
Discussion
- When the method call succeeds, the SDK returns the PeersOnlineStatusChanged callback to report the online status of peers, to whom you subscribe.
- When the online status of the peers, to whom you subscribe, changes, the SDK returns the PeersOnlineStatusChanged callback to report whose online status has changed.
- If the online status of the peers, to whom you subscribe, changes when the SDK is reconnecting to the server, the SDK returns the PeersOnlineStatusChanged callback to report whose online status has changed when successfully reconnecting to the server.
NOTE
- When you log out of the Agora RTM system, all the status that you subscribe to will be cleared. To keep the original subscription after you re-log in the system, you need to redo the whole subscription process.
- When the SDK reconnects to the server from the state of being interupted, the SDK automatically subscribes to the peers and states before the interruption without human intervention.
Declared In
AgoraRtmKit.h
– unsubscribePeersOnlineStatus:completion:
Unsubscribes from the online status of the specified users.
- (void)unsubscribePeersOnlineStatus:(NSArray<NSString*> *_Nonnull)peerIds completion:(AgoraRtmSubscriptionRequestBlock _Nullable)completionBlock
Parameters
peerIds |
User IDs of the specified users. |
---|---|
completionBlock |
AgoraRtmUnsubscriptionRequestBlock returns the result of this method call. |
Declared In
AgoraRtmKit.h
– queryPeersBySubscriptionOption:completion:
Gets a list of the peers, to whose specific status you have subscribed.
- (void)queryPeersBySubscriptionOption:(AgoraRtmPeerSubscriptionOptions)option completion:(AgoraRtmQueryPeersBySubscriptionOptionBlock _Nullable)completionBlock
Parameters
option |
The status type, to which you have subscribed. See AgoraRtmPeerSubscriptionOptions. |
---|---|
completionBlock |
AgoraRtmQueryPeersBySubscriptionOptionBlock returns the result of this method call. |
Declared In
AgoraRtmKit.h
– setParameters:
Provides the technical preview functionalities or special customizations by configuring the SDK with JSON options.
- (int)setParameters:(NSString *_Nonnull)parameters
Parameters
parameters |
SDK options in the JSON format. @return - 0: Success. - ≠0: Failure. |
---|
Discussion
NOTE
The JSON options are not public by default. Agora is working on making commonly used JSON options public in a standard way. Contact support@agora.io for more information.
Declared In
AgoraRtmKit.h
– setLogFile:
Specifies the default path to the SDK log file.
- (int)setLogFile:(NSString *_Nonnull)logFile
Parameters
logFile |
The absolute file path to the log file. The string of the |
---|
Return Value
- 0: Success.
- ≠0: Failure.
Discussion
NOTE
- Ensure that the directory holding the log file exists and is writable.
- Ensure that you call this method immediately after calling the initWithAppId method, otherwise the output log may be incomplete.
- The default log file location is as follows:
- iOS:
App Sandbox/Library/caches/agorartm.log
- macOS
- Sandbox enabled:
App Sandbox/Library/Logs/agorartm.log
, for example/Users/<username>/Library/Containers/<App Bundle Identifier>/Data/Library/Logs/agorartm.log
. - Sandbox disabled:
~/Library/Logs/agorartm.log
.
- iOS:
Declared In
AgoraRtmKit.h
– setLogFileSize:
Sets the size of a single log file. The SDK has two log files with the same size.
- (int)setLogFileSize:(int)fileSize
Parameters
fileSize |
The size of a single log file (KB). The default is |
---|
Declared In
AgoraRtmKit.h
– setLogFilters:
Sets the output log level of the SDK.
- (int)setLogFilters:(AgoraRtmLogFilter)filter
Parameters
filter |
The log filter level. See AgoraRtmLogFilter. |
---|
Return Value
- 0: Success.
- ≠0: Failure.
Discussion
You can use one or a combination of the filters. The log level follows the sequence of OFF, CRITICAL, ERROR, WARNING, and INFO. Choose a level to see the logs preceding that level. If, for example, you set the log level to WARNING, you see the logs within levels CRITICAL, ERROR, and WARNING.
Declared In
AgoraRtmKit.h
+ getSDKVersion
Gets the version of the Agora RTM SD
+ (NSString *)getSDKVersion
Return Value
The RTM SDK version.
Declared In
AgoraRtmKit.h
+ setRtmServiceContext:
Sets the context of all AgoraRtmKit
instances. All AgoraRtmKit
instances you create after calling this method match the context.
+ (AgoraRtmSetContextErrorCode)setRtmServiceContext:(AgoraRtmServiceContext *_Nonnull)context
Parameters
context |
Context of the |
---|
Return Value
Discussion
Note: You must call this method before calling initWithAppId to create an AgoraRtmKit
instance or after destroying any existing AgoraRtmKit
instance by setting it to nil
. Otherwise, this method returns the AgoraRtmSetContextErrorFailure
error code.
Declared In
AgoraRtmKit.h