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 
167 - (void) renewToken:(NSString* _Nonnull)token
168  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(renewToken(_:completion:));
169 
178 - (void) subscribeWithChannel:(NSString* _Nonnull)channelName
179  option:(AgoraRtmSubscribeOptions* _Nullable)subscribeOption
180  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(subscribe(channelName:option:completion:));
181 
189 - (void) unsubscribeWithChannel:(NSString* _Nonnull)channelName
190  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(unsubscribe(_:completion:));
200 - (void) publish:(NSString* _Nonnull)channelName
201  message:(NSString* _Nonnull)message
202  option:(AgoraRtmPublishOptions* _Nullable)publishOption
203  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(publish(channelName:message:option:completion:));
204 
214 - (void) publish:(NSString* _Nonnull)channelName
215  data:(NSData* _Nonnull)data
216  option:(AgoraRtmPublishOptions* _Nullable)publishOption
217  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(publish(channelName:data:option:completion:));
218 
225 - (void) addDelegate:(id <AgoraRtmClientDelegate> _Nonnull)delegate NS_SWIFT_NAME(addDelegate(_:));
226 
233 - (void) removeDelegate:(id <AgoraRtmClientDelegate> _Nonnull)delegate NS_SWIFT_NAME(removeDelegate(_:));
242 - (AgoraRtmErrorCode)setParameters:(NSString* _Nonnull)parameter NS_SWIFT_NAME(setParameters(_:));
243 
250 + (NSString* _Nullable)getErrorReason:(AgoraRtmErrorCode)errorCode NS_SWIFT_NAME(getErrorReason(_:));
256 + (NSString * _Nonnull)getVersion NS_SWIFT_NAME(getVersion());
257 
258 
268 - (AgoraRtmStreamChannel * _Nullable)createStreamChannel:(NSString * _Nonnull)channelName
269  error:(NSError**)error NS_SWIFT_NAME(createStreamChannel(_:));
270 
271 
279 - (AgoraRtmErrorCode)destroy NS_SWIFT_NAME(destroy());
280 @end
281 
282 NS_ASSUME_NONNULL_END
283 
284 __attribute__((visibility("default"))) @interface AgoraRtmStreamChannel : NSObject
285 
286 - (instancetype _Nullable)init NS_UNAVAILABLE;
294 - (void)joinWithOption:(AgoraRtmJoinChannelOption * _Nonnull)option
295  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(join(_:completion:));
296 
303 - (void)leave:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(leave(_:));
304 
313 - (void)renewToken:(NSString* _Nonnull)token
314  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(renewToken(_:completion:));
315 
324 - (void) joinTopic:(NSString * _Nonnull)topic
325  option:(AgoraRtmJoinTopicOption * _Nullable)option
326  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(joinTopic(_:option:completion:));
327 
335 - (void) leaveTopic:(NSString * _Nonnull)topic
336  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(leaveTopic(_:completion:));
337 
346 - (void) subscribeTopic:(NSString * _Nonnull)topic
347  option:(AgoraRtmTopicOption * _Nullable)option
348  completion:(AgoraRtmTopicSubscriptionBlock _Nullable)completionBlock NS_SWIFT_NAME(subscribeTopic(_:option:completion:));
349 
350 
359 - (void) unsubscribeTopic:(NSString * _Nonnull)topic
360  option:(AgoraRtmTopicOption * _Nullable)option
361  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(unsubscribeTopic(_:option:completion:));
362 
372 - (void) publishTopicMessage:(NSString * _Nonnull)topic
373  message:(NSString * _Nonnull)message
374  option:(AgoraRtmTopicMessageOptions * _Nullable)options
375  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(publishTopicMessage(topic:message:option:completion:));
376 
377 
387 - (void) publishTopicMessage:(NSString * _Nonnull)topic
388  data:(NSData * _Nonnull)data
389  option:(AgoraRtmTopicMessageOptions * _Nullable)options
390  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(publishTopicMessage(topic:data:option:completion:));
398 - (void) getSubscribedUserList:(NSString* _Nonnull)topic
399  completion:(AgoraRtmGetTopicSubscribedUsersBlock _Nullable)completionBlock NS_SWIFT_NAME(getSubscribedUserList(_:completion:));
400 
406 - (NSString * _Nonnull)getChannelName NS_SWIFT_NAME(getChannelName());
407 
416 
417 @end
418 
419 __attribute__((visibility("default"))) @interface AgoraRtmStorage : NSObject
420 
421 - (instancetype _Nullable)init NS_UNAVAILABLE;
433 - (void) setChannelMetadata:(NSString * _Nonnull)channelName
434  channelType:(AgoraRtmChannelType)channelType
435  data:(AgoraRtmMetadata* _Nonnull)data
436  options:(AgoraRtmMetadataOptions* _Nullable)options
437  lock:(NSString * _Nullable)lock
438  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(setChannelMetadata(channelName:channelType:data:options:lock:completion:));
439 
451 - (void) updateChannelMetadata:(NSString * _Nonnull)channelName
452  channelType:(AgoraRtmChannelType)channelType
453  data:(AgoraRtmMetadata* _Nonnull)data
454  options:(AgoraRtmMetadataOptions* _Nullable)options
455  lock:(NSString * _Nullable)lock
456  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(updateChannelMetadata(channelName:channelType:data:options:lock:completion:));
457 
469 - (void) removeChannelMetadata:(NSString * _Nonnull)channelName
470  channelType:(AgoraRtmChannelType)channelType
471  data:(AgoraRtmMetadata* _Nonnull)data
472  options:(AgoraRtmMetadataOptions* _Nullable)options
473  lock:(NSString * _Nullable)lock
474  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(removeChannelMetadata(channelName:channelType:data:options:lock:completion:));
475 
484 - (void) getChannelMetadata:(NSString * _Nonnull)channelName
485  channelType:(AgoraRtmChannelType)channelType
486  completion:(AgoraRtmGetMetadataBlock _Nullable)completionBlock NS_SWIFT_NAME(getChannelMetadata(channelName:channelType:completion:));
487 
498 - (void) setUserMetadata:(NSString * _Nonnull)userId
499  data:(AgoraRtmMetadata* _Nonnull)data
500  options:(AgoraRtmMetadataOptions* _Nullable)options
501  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(setUserMetadata(userId:data:options:completion:));
502 
512 - (void) updateUserMetadata:(NSString * _Nonnull)userId
513  data:(AgoraRtmMetadata* _Nonnull)data
514  options:(AgoraRtmMetadataOptions* _Nullable)options
515  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(updateUserMetadata(userId:data:options:completion:));
516 
526 - (void) removeUserMetadata:(NSString * _Nonnull)userId
527  data:(AgoraRtmMetadata* _Nonnull)data
528  options:(AgoraRtmMetadataOptions* _Nullable)options
529  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(removeUserMetadata(userId:data:options:completion:));
530 
538 - (void) getUserMetadata:(NSString * _Nonnull)userId
539  completion:(AgoraRtmGetMetadataBlock _Nullable)completionBlock NS_SWIFT_NAME(getUserMetadata(userId:completion:));
540 
548 - (void) subscribeUserMetadata:(NSString * _Nonnull)userId
549  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(subscribeUserMetadata(userId:completion:));
550 
558 - (void) unsubscribeUserMetadata:(NSString * _Nonnull)userId
559  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(unsubscribeUserMetadata(userId:completion:));
560 @end
561 
562 __attribute__((visibility("default"))) @interface AgoraRtmLock : NSObject
563 
564 - (instancetype _Nullable)init NS_UNAVAILABLE;
575 -(void) setLock:(NSString * _Nonnull)channelName
576  channelType:(AgoraRtmChannelType)channelType
577  lockName:(NSString * _Nonnull)lockName
578  ttl:(int) ttl
579  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(setLock(channelName:channelType:lockName:ttl:completion:));
580 
590 -(void) removeLock:(NSString * _Nonnull)channelName
591  channelType:(AgoraRtmChannelType)channelType
592  lockName:(NSString * _Nonnull)lockName
593  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(removeLock(channelName:channelType:lockName:completion:));
594 
605 -(void) acquireLock:(NSString * _Nonnull)channelName
606  channelType:(AgoraRtmChannelType)channelType
607  lockName:(NSString * _Nonnull)lockName
608  retry:(BOOL)retry
609  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(acquireLock(channelName:channelType:lockName:retry:completion:));
610 
611 
621 -(void) releaseLock:(NSString * _Nonnull)channelName
622  channelType:(AgoraRtmChannelType)channelType
623  lockName:(NSString * _Nonnull)lockName
624  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(releaseLock(channelName:channelType:lockName:completion:));
625 
636 -(void) revokeLock:(NSString * _Nonnull)channelName
637  channelType:(AgoraRtmChannelType)channelType
638  lockName:(NSString * _Nonnull)lockName
639  userId:(NSString * _Nonnull)userId
640  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(revokeLock(channelName:channelType:lockName:userId:completion:));
641 
642 
651 -(void) getLocks:(NSString * _Nonnull)channelName
652  channelType:(AgoraRtmChannelType)channelType
653  completion:(AgoraRtmGetLocksBlock _Nullable)completionBlock NS_SWIFT_NAME(getLocks(channelName:channelType:completion:));
654 @end
655 
656 
662 __attribute__((visibility("default"))) @interface AgoraRtmPresence : NSObject
663 
664 - (instancetype _Nullable)init NS_UNAVAILABLE;
665 
675 -(void) whoNow:(NSString * _Nonnull)channelName
676  channelType:(AgoraRtmChannelType)channelType
677  options:(AgoraRtmPresenceOptions* _Nullable)options
678  completion:(AgoraRtmWhoNowBlock _Nullable)completionBlock NS_SWIFT_NAME(whoNow(channelName:channelType:options:completion:));
679 
689 -(void) getOnlineUsers:(NSString * _Nonnull)channelName
690  channelType:(AgoraRtmChannelType)channelType
691  options:(AgoraRtmGetOnlineUsersOptions* _Nullable)options
692  completion:(AgoraRtmGetOnlineUsersBlock _Nullable)completionBlock NS_SWIFT_NAME(getOnlineUser(channelName:channelType:options:completion:));
693 
701 -(void) whereNow:(NSString * _Nonnull)userId
702  completion:(AgoraRtmWhereNowBlock _Nullable)completionBlock NS_SWIFT_NAME(whereNow(userId:completion:));
703 
711 -(void) getUserChannels:(NSString * _Nonnull)userId
712  completion:(AgoraRtmGetUserChannelsBlock _Nullable)completionBlock NS_SWIFT_NAME(getUserChannels(userId:completion:));
713 
723 -(void) setState:(NSString * _Nonnull)channelName
724  channelType:(AgoraRtmChannelType)channelType
725  items:(NSDictionary<NSString *, NSString *> *_Nonnull)items
726  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(setState(channelName:channelType:items:completion:));
727 
737 -(void) removeState:(NSString * _Nonnull)channelName
738  channelType:(AgoraRtmChannelType)channelType
739  keys:(NSArray<NSString *> * _Nonnull)keys
740  completion:(AgoraRtmOperationBlock _Nullable)completionBlock NS_SWIFT_NAME(removeState(channelName:channelType:keys:completion:));
741 
751 -(void) getState:(NSString * _Nonnull)channelName
752  channelType:(AgoraRtmChannelType)channelType
753  userId:(NSString * _Nonnull)userId
754  completion:(AgoraRtmPresenceGetStateBlock _Nullable)completionBlock NS_SWIFT_NAME(getState(channelName:channelType:userId:completion:));
755 @end
AgoraRtmStorageEvent
Definition: AgoraRtmObjects.h:281
AgoraRtmGetOnlineUsersOptions
Definition: AgoraRtmObjects.h:154
-[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:419
AgoraRtmPublishOptions
Definition: AgoraRtmObjects.h:51
-[AgoraRtmStreamChannel NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
-[AgoraRtmStreamChannel destroy]
AgoraRtmErrorCode destroy()
AgoraRtmMetadata
Definition: AgoraRtmObjects.h:118
AgoraRtmClientKit
Definition: AgoraRtmClientKit.h:99
-[AgoraRtmClientKit getStorage]
AgoraRtmStorage *_Nullable getStorage()
AgoraRtmTopicEvent
Definition: AgoraRtmObjects.h:215
-[AgoraRtmClientKit destroy]
AgoraRtmErrorCode destroy()
AgoraRtmTopicMessageOptions
Definition: AgoraRtmObjects.h:64
AgoraRtmClientConfig
Definition: AgoraRtmObjects.h:554
AgoraRtmClientConnectionChangeReason
AgoraRtmClientConnectionChangeReason
Definition: AgoraRtmEnumerates.h:821
AgoraRtmLockEvent
Definition: AgoraRtmObjects.h:255
AgoraRtmJoinTopicOption
Definition: AgoraRtmObjects.h:383
AgoraRtmMessageEvent
Definition: AgoraRtmObjects.h:432
-[AgoraRtmClientKit getLock]
AgoraRtmLock *_Nullable getLock()
AgoraRtmMetadataOptions
Definition: AgoraRtmObjects.h:77
AgoraRtmStreamChannel
Definition: AgoraRtmClientKit.h:285
-[AgoraRtmPresence NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
AgoraRtmStorage
Definition: AgoraRtmClientKit.h:420
AgoraRtmErrorCode
AgoraRtmErrorCode
Definition: AgoraRtmEnumerates.h:78
-[AgoraRtmLock NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
AgoraRtmClientConnectionState
AgoraRtmClientConnectionState
Definition: AgoraRtmEnumerates.h:792
AgoraRtmObjects.h
AgoraRtmPresenceEvent
Definition: AgoraRtmObjects.h:510
AgoraRtmSubscribeOptions
Definition: AgoraRtmObjects.h:477
-[AgoraRtmClientKit NS_UNAVAILABLE]
instancetype _Nullable NS_UNAVAILABLE()
AgoraRtmPresenceOptions
Definition: AgoraRtmObjects.h:171
+[AgoraRtmClientKit getVersion]
NSString *_Nonnull getVersion()
AgoraRtmTopicOption
Definition: AgoraRtmObjects.h:409
AgoraRtmChannelType
AgoraRtmChannelType
Definition: AgoraRtmEnumerates.h:940
AgoraRtmPresence
Definition: AgoraRtmClientKit.h:663
AgoraRtmLock
Definition: AgoraRtmClientKit.h:563