Agora RTC Objective-C API Reference  Refactor
AgoraRtmClientKit.h
Go to the documentation of this file.
1 //
2 // AgoraRtmClientKit.h
3 // AgoraRtcKit
4 //
5 // Copyright (c) 2022 Agora. All rights reserved.
6 //
7 #import <Foundation/Foundation.h>
8 #import "AgoraRtmObjects.h"
9 @protocol AgoraRtmClientDelegate <NSObject>
10 @optional
11 
17 - (void)rtmKit:(AgoraRtmClientKit * _Nonnull)rtmKit
18  didReceiveLinkStateEvent:(AgoraRtmLinkStateEvent * _Nonnull)event NS_SWIFT_NAME(rtmKit(_:didReceiveLinkStateEvent:));
19 
25 - (void)rtmKit:(AgoraRtmClientKit * _Nonnull)rtmKit
26  didReceiveMessageEvent:(AgoraRtmMessageEvent * _Nonnull)event NS_SWIFT_NAME(rtmKit(_:didReceiveMessageEvent:));
27 
34 - (void)rtmKit:(AgoraRtmClientKit * _Nonnull)rtmKit
35  didReceivePresenceEvent:(AgoraRtmPresenceEvent * _Nonnull)event NS_SWIFT_NAME(rtmKit(_:didReceivePresenceEvent:));
36 
42 - (void)rtmKit:(AgoraRtmClientKit * _Nonnull)rtmKit
43  didReceiveLockEvent:(AgoraRtmLockEvent * _Nonnull)event NS_SWIFT_NAME(rtmKit(_:didReceiveLockEvent:));
44 
51 - (void)rtmKit:(AgoraRtmClientKit * _Nonnull)rtmKit
52  didReceiveStorageEvent:(AgoraRtmStorageEvent * _Nonnull)event NS_SWIFT_NAME(rtmKit(_:didReceiveStorageEvent:));
53 
61 - (void)rtmKit:(AgoraRtmClientKit * _Nonnull)rtmKit
62  didReceiveTopicEvent:(AgoraRtmTopicEvent * _Nonnull)event NS_SWIFT_NAME(rtmKit(_:didReceiveTopicEvent:));
63 
70 - (void)rtmKit:(AgoraRtmClientKit * _Nonnull)rtmKit
71  tokenPrivilegeWillExpire:(NSString * _Nullable)channel NS_SWIFT_NAME(rtmKit(_:tokenPrivilegeWillExpire:));
72 
81 - (void)rtmKit:(AgoraRtmClientKit * _Nonnull)kit
82  channel:(NSString * _Nonnull)channelName
83  connectionChangedToState:(AgoraRtmClientConnectionState)state
84  reason:(AgoraRtmClientConnectionChangeReason)reason NS_SWIFT_NAME(rtmKit(_:channel:connectionChangedToState:reason:));
85 @end
86 
87 NS_ASSUME_NONNULL_BEGIN
98 __attribute__((visibility("default"))) @interface AgoraRtmClientKit : NSObject
99 
100 - (instancetype _Nullable)init NS_UNAVAILABLE;
101 
113 - (instancetype _Nullable)initWithConfig:(AgoraRtmClientConfig * _Nonnull)config
114  delegate:(id <AgoraRtmClientDelegate> _Nullable)delegate
115  error:(NSError**)error NS_SWIFT_NAME(init(_:delegate:));
116 
124 - (void) loginByToken:(NSString* _Nullable)token
125  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(login(_:completion:));
126 
133 - (void) logout:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(logout(_:));
134 
141 - (AgoraRtmStorage* _Nullable)getStorage NS_SWIFT_NAME(getStorage());
142 
149 - (AgoraRtmLock* _Nullable)getLock NS_SWIFT_NAME(getLock());
150 
157 - (AgoraRtmPresence* _Nullable)getPresence NS_SWIFT_NAME(getPresence());
158 
165 - (AgoraRtmHistory* _Nullable) getHistory NS_SWIFT_NAME(getHistory());
166 
175 - (void) renewToken:(NSString* _Nonnull)token
176  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(renewToken(_:completion:));
177 
186 - (void) subscribeWithChannel:(NSString* _Nonnull)channelName
187  option:(AgoraRtmSubscribeOptions* _Nullable)subscribeOption
188  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(subscribe(channelName:option:completion:));
189 
197 - (void) unsubscribeWithChannel:(NSString* _Nonnull)channelName
198  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(unsubscribe(_:completion:));
208 - (void) publish:(NSString* _Nonnull)channelName
209  message:(NSString* _Nonnull)message
210  option:(AgoraRtmPublishOptions* _Nullable)publishOption
211  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(publish(channelName:message:option:completion:));
212 
222 - (void) publish:(NSString* _Nonnull)channelName
223  data:(NSData* _Nonnull)data
224  option:(AgoraRtmPublishOptions* _Nullable)publishOption
225  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(publish(channelName:data:option:completion:));
226 
233 - (void) addDelegate:(id <AgoraRtmClientDelegate> _Nonnull)delegate NS_SWIFT_NAME(addDelegate(_:));
234 
241 - (void) removeDelegate:(id <AgoraRtmClientDelegate> _Nonnull)delegate NS_SWIFT_NAME(removeDelegate(_:));
250 - (AgoraRtmErrorCode)setParameters:(NSString* _Nonnull)parameter NS_SWIFT_NAME(setParameters(_:));
251 
258 + (NSString* _Nullable)getErrorReason:(AgoraRtmErrorCode)errorCode NS_SWIFT_NAME(getErrorReason(_:));
264 + (NSString * _Nonnull)getVersion NS_SWIFT_NAME(getVersion());
265 
266 
276 - (AgoraRtmStreamChannel * _Nullable)createStreamChannel:(NSString * _Nonnull)channelName
277  error:(NSError**)error NS_SWIFT_NAME(createStreamChannel(_:));
278 
279 
287 - (AgoraRtmErrorCode)destroy NS_SWIFT_NAME(destroy());
288 @end
289 
290 NS_ASSUME_NONNULL_END
291 
292 __attribute__((visibility("default"))) @interface AgoraRtmStreamChannel : NSObject
293 
294 - (instancetype _Nullable)init NS_UNAVAILABLE;
302 - (void)joinWithOption:(AgoraRtmJoinChannelOption * _Nonnull)option
303  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(join(_:completion:));
304 
311 - (void)leave:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(leave(_:));
312 
321 - (void)renewToken:(NSString* _Nonnull)token
322  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(renewToken(_:completion:));
323 
332 - (void) joinTopic:(NSString * _Nonnull)topic
333  option:(AgoraRtmJoinTopicOption * _Nullable)option
334  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(joinTopic(_:option:completion:));
335 
343 - (void) leaveTopic:(NSString * _Nonnull)topic
344  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(leaveTopic(_:completion:));
345 
354 - (void) subscribeTopic:(NSString * _Nonnull)topic
355  option:(AgoraRtmTopicOption * _Nullable)option
356  completion:(AgoraRtmTopicSubscriptionBlock _Nullable)completionBlock NS_SWIFT_NAME(subscribeTopic(_:option:completion:));
357 
358 
367 - (void) unsubscribeTopic:(NSString * _Nonnull)topic
368  option:(AgoraRtmTopicOption * _Nullable)option
369  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(unsubscribeTopic(_:option:completion:));
370 
380 - (void) publishTopicMessage:(NSString * _Nonnull)topic
381  message:(NSString * _Nonnull)message
382  option:(AgoraRtmTopicMessageOptions * _Nullable)options
383  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(publishTopicMessage(topic:message:option:completion:));
384 
385 
395 - (void) publishTopicMessage:(NSString * _Nonnull)topic
396  data:(NSData * _Nonnull)data
397  option:(AgoraRtmTopicMessageOptions * _Nullable)options
398  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(publishTopicMessage(topic:data:option:completion:));
406 - (void) getSubscribedUserList:(NSString* _Nonnull)topic
407  completion:(AgoraRtmGetTopicSubscribedUsersBlock _Nullable)completionBlock NS_SWIFT_NAME(getSubscribedUserList(_:completion:));
408 
414 - (NSString * _Nonnull)getChannelName NS_SWIFT_NAME(getChannelName());
415 
424 
425 @end
426 
427 __attribute__((visibility("default"))) @interface AgoraRtmStorage : NSObject
428 
429 - (instancetype _Nullable)init NS_UNAVAILABLE;
441 - (void) setChannelMetadata:(NSString * _Nonnull)channelName
442  channelType:(AgoraRtmChannelType)channelType
443  data:(AgoraRtmMetadata* _Nonnull)data
444  options:(AgoraRtmMetadataOptions* _Nullable)options
445  lock:(NSString * _Nullable)lock
446  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(setChannelMetadata(channelName:channelType:data:options:lock:completion:));
447 
459 - (void) updateChannelMetadata:(NSString * _Nonnull)channelName
460  channelType:(AgoraRtmChannelType)channelType
461  data:(AgoraRtmMetadata* _Nonnull)data
462  options:(AgoraRtmMetadataOptions* _Nullable)options
463  lock:(NSString * _Nullable)lock
464  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(updateChannelMetadata(channelName:channelType:data:options:lock:completion:));
465 
477 - (void) removeChannelMetadata:(NSString * _Nonnull)channelName
478  channelType:(AgoraRtmChannelType)channelType
479  data:(AgoraRtmMetadata* _Nonnull)data
480  options:(AgoraRtmMetadataOptions* _Nullable)options
481  lock:(NSString * _Nullable)lock
482  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(removeChannelMetadata(channelName:channelType:data:options:lock:completion:));
483 
492 - (void) getChannelMetadata:(NSString * _Nonnull)channelName
493  channelType:(AgoraRtmChannelType)channelType
494  completion:(AgoraRtmGetMetadataBlock _Nullable)completionBlock NS_SWIFT_NAME(getChannelMetadata(channelName:channelType:completion:));
495 
506 - (void) setUserMetadata:(NSString * _Nonnull)userId
507  data:(AgoraRtmMetadata* _Nonnull)data
508  options:(AgoraRtmMetadataOptions* _Nullable)options
509  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(setUserMetadata(userId:data:options:completion:));
510 
520 - (void) updateUserMetadata:(NSString * _Nonnull)userId
521  data:(AgoraRtmMetadata* _Nonnull)data
522  options:(AgoraRtmMetadataOptions* _Nullable)options
523  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(updateUserMetadata(userId:data:options:completion:));
524 
534 - (void) removeUserMetadata:(NSString * _Nonnull)userId
535  data:(AgoraRtmMetadata* _Nonnull)data
536  options:(AgoraRtmMetadataOptions* _Nullable)options
537  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(removeUserMetadata(userId:data:options:completion:));
538 
546 - (void) getUserMetadata:(NSString * _Nonnull)userId
547  completion:(AgoraRtmGetMetadataBlock _Nullable)completionBlock NS_SWIFT_NAME(getUserMetadata(userId:completion:));
548 
556 - (void) subscribeUserMetadata:(NSString * _Nonnull)userId
557  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(subscribeUserMetadata(userId:completion:));
558 
566 - (void) unsubscribeUserMetadata:(NSString * _Nonnull)userId
567  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(unsubscribeUserMetadata(userId:completion:));
568 @end
569 
570 __attribute__((visibility("default"))) @interface AgoraRtmLock : NSObject
571 
572 - (instancetype _Nullable)init NS_UNAVAILABLE;
583 -(void) setLock:(NSString * _Nonnull)channelName
584  channelType:(AgoraRtmChannelType)channelType
585  lockName:(NSString * _Nonnull)lockName
586  ttl:(int) ttl
587  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(setLock(channelName:channelType:lockName:ttl:completion:));
588 
598 -(void) removeLock:(NSString * _Nonnull)channelName
599  channelType:(AgoraRtmChannelType)channelType
600  lockName:(NSString * _Nonnull)lockName
601  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(removeLock(channelName:channelType:lockName:completion:));
602 
613 -(void) acquireLock:(NSString * _Nonnull)channelName
614  channelType:(AgoraRtmChannelType)channelType
615  lockName:(NSString * _Nonnull)lockName
616  retry:(BOOL)retry
617  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(acquireLock(channelName:channelType:lockName:retry:completion:));
618 
619 
629 -(void) releaseLock:(NSString * _Nonnull)channelName
630  channelType:(AgoraRtmChannelType)channelType
631  lockName:(NSString * _Nonnull)lockName
632  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(releaseLock(channelName:channelType:lockName:completion:));
633 
644 -(void) revokeLock:(NSString * _Nonnull)channelName
645  channelType:(AgoraRtmChannelType)channelType
646  lockName:(NSString * _Nonnull)lockName
647  userId:(NSString * _Nonnull)userId
648  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(revokeLock(channelName:channelType:lockName:userId:completion:));
649 
650 
659 -(void) getLocks:(NSString * _Nonnull)channelName
660  channelType:(AgoraRtmChannelType)channelType
661  completion:(AgoraRtmGetLocksBlock _Nullable)completionBlock NS_SWIFT_NAME(getLocks(channelName:channelType:completion:));
662 @end
663 
664 
670 __attribute__((visibility("default"))) @interface AgoraRtmPresence : NSObject
671 
672 - (instancetype _Nullable)init NS_UNAVAILABLE;
673 
683 -(void) whoNow:(NSString * _Nonnull)channelName
684  channelType:(AgoraRtmChannelType)channelType
685  options:(AgoraRtmPresenceOptions* _Nullable)options
686  completion:(AgoraRtmWhoNowBlock _Nullable)completionBlock NS_SWIFT_NAME(whoNow(channelName:channelType:options:completion:));
687 
697 -(void) getOnlineUsers:(NSString * _Nonnull)channelName
698  channelType:(AgoraRtmChannelType)channelType
699  options:(AgoraRtmGetOnlineUsersOptions* _Nullable)options
700  completion:(AgoraRtmGetOnlineUsersBlock _Nullable)completionBlock NS_SWIFT_NAME(getOnlineUser(channelName:channelType:options:completion:));
701 
709 -(void) whereNow:(NSString * _Nonnull)userId
710  completion:(AgoraRtmWhereNowBlock _Nullable)completionBlock NS_SWIFT_NAME(whereNow(userId:completion:));
711 
719 -(void) getUserChannels:(NSString * _Nonnull)userId
720  completion:(AgoraRtmGetUserChannelsBlock _Nullable)completionBlock NS_SWIFT_NAME(getUserChannels(userId:completion:));
721 
731 -(void) setState:(NSString * _Nonnull)channelName
732  channelType:(AgoraRtmChannelType)channelType
733  items:(NSDictionary<NSString *, NSString *> *_Nonnull)items
734  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(setState(channelName:channelType:items:completion:));
735 
745 -(void) removeState:(NSString * _Nonnull)channelName
746  channelType:(AgoraRtmChannelType)channelType
747  keys:(NSArray<NSString *> * _Nonnull)keys
748  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(removeState(channelName:channelType:keys:completion:));
749 
759 -(void) getState:(NSString * _Nonnull)channelName
760  channelType:(AgoraRtmChannelType)channelType
761  userId:(NSString * _Nonnull)userId
762  completion:(AgoraRtmPresenceGetStateBlock _Nullable)completionBlock NS_SWIFT_NAME(getState(channelName:channelType:userId:completion:));
763 @end
764 
771 __attribute__((visibility("default"))) @interface AgoraRtmHistory : NSObject
772 
773 - (instancetype _Nullable)init NS_UNAVAILABLE;
774 
783 -(void) getMessages:(NSString* _Nonnull)channelName
784  channelType:(AgoraRtmChannelType)channelType
785  options:(AgoraRtmGetHistoryMessagesOptions* _Nullable)options
786  completion:(AgoraRtmGetHistoryMessagesBlock _Nullable)completionBlock NS_SWIFT_NAME(getMessages(channelName:channelType:options:completion:));
787 
788 @end
AgoraRtmGetHistoryMessagesOptions
The option to query history message.
Definition: AgoraRtmObjects.h:847
AgoraRtmStorageEvent
Definition: AgoraRtmObjects.h:290
AgoraRtmGetOnlineUsersOptions
Definition: AgoraRtmObjects.h:163
-[AgoraRtmClientKit getPresence]
AgoraRtmPresence *_Nullable getPresence()
-[AgoraRtmStreamChannel getChannelName]
NSString *_Nonnull getChannelName()
AgoraRtmClientDelegate-p
Definition: AgoraRtmClientKit.h:9
-[AgoraRtmStorage NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
AgoraRtmJoinChannelOption
Definition: AgoraRtmObjects.h:428
AgoraRtmPublishOptions
Definition: AgoraRtmObjects.h:55
-[AgoraRtmStreamChannel NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
-[AgoraRtmStreamChannel destroy]
AgoraRtmErrorCode destroy()
AgoraRtmMetadata
Definition: AgoraRtmObjects.h:127
AgoraRtmClientKit
Definition: AgoraRtmClientKit.h:99
-[AgoraRtmClientKit getStorage]
AgoraRtmStorage *_Nullable getStorage()
-[AgoraRtmHistory NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
-[AgoraRtmClientKit getHistory]
AgoraRtmHistory *_Nullable getHistory()
AgoraRtmTopicEvent
Definition: AgoraRtmObjects.h:224
-[AgoraRtmClientKit destroy]
AgoraRtmErrorCode destroy()
AgoraRtmTopicMessageOptions
Definition: AgoraRtmObjects.h:73
AgoraRtmClientConfig
Definition: AgoraRtmObjects.h:563
AgoraRtmClientConnectionChangeReason
AgoraRtmClientConnectionChangeReason
Definition: AgoraRtmEnumerates.h:1009
AgoraRtmLockEvent
Definition: AgoraRtmObjects.h:264
AgoraRtmJoinTopicOption
Definition: AgoraRtmObjects.h:392
AgoraRtmMessageEvent
Definition: AgoraRtmObjects.h:441
-[AgoraRtmClientKit getLock]
AgoraRtmLock *_Nullable getLock()
AgoraRtmMetadataOptions
Definition: AgoraRtmObjects.h:86
AgoraRtmStreamChannel
Definition: AgoraRtmClientKit.h:293
-[AgoraRtmPresence NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
AgoraRtmStorage
Definition: AgoraRtmClientKit.h:428
AgoraRtmErrorCode
AgoraRtmErrorCode
Definition: AgoraRtmEnumerates.h:78
-[AgoraRtmLock NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
AgoraRtmClientConnectionState
AgoraRtmClientConnectionState
Definition: AgoraRtmEnumerates.h:980
AgoraRtmObjects.h
AgoraRtmPresenceEvent
Definition: AgoraRtmObjects.h:519
AgoraRtmSubscribeOptions
Definition: AgoraRtmObjects.h:486
-[AgoraRtmClientKit NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
AgoraRtmPresenceOptions
Definition: AgoraRtmObjects.h:180
+[AgoraRtmClientKit getVersion]
NSString *_Nonnull getVersion()
AgoraRtmTopicOption
Definition: AgoraRtmObjects.h:418
AgoraRtmHistory
Definition: AgoraRtmClientKit.h:772
AgoraRtmChannelType
AgoraRtmChannelType
Definition: AgoraRtmEnumerates.h:1128
AgoraRtmPresence
Definition: AgoraRtmClientKit.h:671
AgoraRtmLock
Definition: AgoraRtmClientKit.h:571