Agora RTC Objective-C API Reference  Refactor
AgoraMetachatKit.h
Go to the documentation of this file.
1 //
2 // AgoraMetachatKit.h
3 // AgoraRtcKit
4 //
5 // Created by dingyusong on 12/4/22.
6 // Copyright (c) 2022 Agora. All rights reserved.
7 //
8 
9 #ifndef AgoraMetachatKit_h
10 #define AgoraMetachatKit_h
11 
12 #import <Foundation/Foundation.h>
13 #import "AgoraRtcEngineKit.h"
14 
15 
18 typedef NS_ENUM(NSUInteger, AgoraMetachatConnectionStateType){
19  /* The SDK is disconnected from the state metachat server. */
21  /* The SDK is connecting to the state metachat server. */
23  /* The SDK is connected to the state metachat server. */
25  /* The SDK is reconnecting to the state metachat server. */
27  /* The SDK is reconnected to the state metachat server. */
29 };
30 
33 typedef NS_ENUM(NSUInteger, AgoraMetachatConnectionChangedReasonType) {
34  /* The connection state is changed. */
36 };
37 
38 typedef NS_ENUM(NSUInteger, AgoraMetachatDownloadStateType) {
43 };
44 
45 typedef NS_ENUM(NSUInteger, AgoraMetachatErrorType) {
51 };
52 
53 // metachat avatar model information bound to metachat scene information
54 __attribute__((visibility("default"))) @interface AgoraMetachatAvatarInfo : NSObject
55 @property (nonatomic, assign) NSInteger avatarId;
56 @property (nonatomic, copy) NSString * _Nonnull avatarCode;
57 @property (nonatomic, copy) NSString * _Nonnull avatarName;
58 @property (nonatomic, copy) NSString * _Nonnull desc;
59 // local path of avatar model path
60 @property (nonatomic, copy) NSString * _Nonnull avatarPath;
61 // local path of avatar thumbnail
62 @property (nonatomic, copy) NSString * _Nonnull thumbnailPath;
63 @property (nonatomic, copy) NSString * _Nonnull assets;
64 @property (nonatomic, copy) NSString * _Nonnull extraInfo;
65 @end
66 
67 // metachat scene information retrieved by getScenes interface
68 __attribute__((visibility("default"))) @interface AgoraMetachatSceneInfo : NSObject
69 @property (nonatomic, assign) NSInteger sceneId;
70 @property (nonatomic, copy) NSString * _Nonnull sceneName;
71 // local path of scene thumbnail
72 @property (nonatomic, copy) NSString * _Nonnull thumbnailPath;
73 @property (nonatomic, copy) NSString * _Nonnull scenePath;
74 @property (nonatomic, copy) NSString * _Nonnull desc;
75 @property (nonatomic, copy) NSString * _Nonnull sceneConfig;
76 @property (nonatomic, copy) NSString * _Nonnull assets;
77 @property (nonatomic, copy) NSString * _Nonnull extraInfo;
78 @property (nonatomic, copy) NSString * _Nonnull sceneVersion;
79 @property (nonatomic, copy) NSString * _Nonnull sceneLocalVersion;
80 // avatar information bound to scene
81 @property (nonatomic, strong) NSArray<AgoraMetachatAvatarInfo *> * _Nonnull avatars;
82 @end
83 
84 __attribute__((visibility("default"))) @interface AgoraMetachatUserInfo : NSObject
85 @property (nonatomic, copy) NSString * _Nonnull userId;
86 @property (nonatomic, copy) NSString * _Nonnull userName;
87 @property (nonatomic, copy) NSString * _Nonnull userIconUrl;
88 @end
89 
90 __attribute__((visibility("default"))) @interface AgoraMetachatPositionInfo : NSObject
91 @property (nonatomic, strong) NSArray * _Nonnull position;
92 @property (nonatomic, strong) NSArray * _Nonnull forward;
93 @property (nonatomic, strong) NSArray * _Nonnull right;
94 @property (nonatomic, strong) NSArray * _Nonnull up;
95 @end
96 
97 @class AgoraMetachatKit;
98 @protocol AgoraMetachatEventDelegate <NSObject>
99 - (void)onConnectionStateChanged:(AgoraMetachatConnectionStateType)state reason:(AgoraMetachatConnectionChangedReasonType)reason NS_SWIFT_NAME(onConnectionStateChanged(_:reason:));
100 - (void)onRequestToken NS_SWIFT_NAME(onRequestToken());
101 - (void)onGetScenesResult:(NSMutableArray * _Nonnull)scenes errorCode:(NSInteger)errorCode NS_SWIFT_NAME(onGetScenesResult(_:errorCode:));
102 - (void)onDownloadSceneProgress:(AgoraMetachatSceneInfo * _Nullable)sceneInfo progress:(NSInteger)progress state:(AgoraMetachatDownloadStateType)state NS_SWIFT_NAME(onDownloadSceneProgress(_:progress:state:));
103 @end
104 
105 @class AgoraMetachatScene;
107 - (void)metachatScene:(AgoraMetachatScene *_Nonnull)scene onEnterSceneResult:(NSInteger)errorCode NS_SWIFT_NAME(metachatScene(_:onEnterSceneResult:));
108 - (void)metachatScene:(AgoraMetachatScene *_Nonnull)scene onLeaveSceneResult:(NSInteger)errorCode NS_SWIFT_NAME(metachatScene(_:onLeaveSceneResult:));
109 - (void)metachatScene:(AgoraMetachatScene *_Nonnull)scene onRecvMessageFromScene:(NSData * _Nonnull)message NS_SWIFT_NAME(metachatScene(_:onRecvMessageFromScene:));
110 - (void)metachatScene:(AgoraMetachatScene *_Nonnull)scene onUserPositionChanged:(NSString * _Nonnull)uid posInfo:(AgoraMetachatPositionInfo * _Nonnull)posInfo NS_SWIFT_NAME(metachatScene(_:onUserPositionChanged:posInfo:));
111 @end
112 
113 __attribute__((visibility("default"))) @interface AgoraMetachatUserAvatarConfig : NSObject
114 @property (nonatomic, copy) NSString * _Nonnull avatarCode;
115 @property (nonatomic,assign) BOOL localVisible;
116 @property (nonatomic,assign) BOOL remoteVisible;
117 @property (nonatomic,assign) BOOL syncPosition;
118 @end
119 
120 __attribute__((visibility("default"))) @interface AgoraMetachatConfig : NSObject
121 @property (nonatomic,copy) NSString * _Nonnull appId;
122 @property (nonatomic,copy) NSString * _Nonnull token;
123 @property (nonatomic,strong) AgoraMetachatUserInfo * _Nonnull userInfo;
124 @property (nonatomic,weak) id<AgoraMetachatEventDelegate> _Nullable delegate;
125 @property (nonatomic,copy) NSString * _Nonnull localDownloadPath;
126 @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine;
127 @end
128 
129 __attribute__((visibility("default"))) @interface AgoraMetachatScene : NSObject
130 - (NSInteger)destroy NS_SWIFT_NAME(destroy());
131 
132 - (NSInteger)enterScene:(AgoraMetachatSceneInfo *_Nonnull)sceneInfo avatarConfig:(AgoraMetachatUserAvatarConfig *_Nonnull)avatarConfig NS_SWIFT_NAME(enterScene(_:avatarConfig:));
133 - (NSInteger)leaveScene NS_SWIFT_NAME(leaveScene());
134 
135 - (NSInteger)sendMessageToScene:(NSData *_Nonnull)message NS_SWIFT_NAME(sendMessageToScene(_:));
136 - (NSInteger)setSceneParameters:(NSString *_Nonnull)jsonParam NS_SWIFT_NAME(setSceneParameters(_:));
137 - (NSInteger)enableUserPositionNotification:(BOOL)enable NS_SWIFT_NAME(enableUserPositionNotification(_:));
138 - (NSInteger)enableVideoDisplay:(uint32_t)displayId enable:(BOOL)enable NS_SWIFT_NAME(enableVideoDisplay(_:enable:));
139 - (NSInteger)pushVideoFrameToDisplay:(uint32_t)displayId frame:(AgoraVideoFrame *_Nullable)frame NS_SWIFT_NAME(pushVideoFrameToDisplay(_:frame:));
140 - (NSInteger)updateLocalAvatarConfig:(AgoraMetachatUserAvatarConfig *_Nonnull)config NS_SWIFT_NAME(updateLocalAvatarConfig(_:));
141 
142 - (void)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
143 @end
144 
145 __attribute__((visibility("default"))) @interface AgoraMetachatKit : NSObject
146 + (instancetype _Nonnull)sharedMetachatWithConfig:(AgoraMetachatConfig* _Nonnull)config NS_SWIFT_NAME(sharedMetachatWithConfig(_:));
147 + (void)destroy NS_SWIFT_NAME(destroy());
148 
149 - (NSString *_Nullable)getLauncherVersion NS_SWIFT_NAME(getLauncherVersion());
150 - (NSInteger)getScenes NS_SWIFT_NAME(getScenes());
151 - (NSInteger)isSceneDownloaded:(NSInteger)sceneId NS_SWIFT_NAME(isSceneDownloaded(_:));
152 - (NSInteger)downloadScene:(NSInteger)sceneId NS_SWIFT_NAME(downloadScene(_:));
153 - (NSInteger)cancelDownloadScene:(NSInteger)sceneId NS_SWIFT_NAME(cancelDownloadScene(_:));
154 - (NSInteger)cleanScene:(NSInteger)sceneId NS_SWIFT_NAME(cleanScene(_:));
155 
156 - (AgoraMetachatScene *_Nullable)createScene:(NSString *_Nullable)roomName delegate:(id<AgoraMetachatSceneEventDelegate>_Nonnull)delegate NS_SWIFT_NAME(createScene(_:delegate:));
157 @end
158 
159 #endif /*AgoraMetachat_h*/
160 
-[AgoraMetachatKit getScenes]
NSInteger getScenes()
AgoraMetachatDownloadStateTypeIdle
@ AgoraMetachatDownloadStateTypeIdle
Definition: AgoraMetachatKit.h:39
AgoraRtcEngineKit
Definition: AgoraRtcEngineKit.h:1776
AgoraMetachatEventDelegate-p
Definition: AgoraMetachatKit.h:98
-[AgoraMetachatScene leaveScene]
NSInteger leaveScene()
AgoraMetachatConnectionStateTypeConnecting
@ AgoraMetachatConnectionStateTypeConnecting
Definition: AgoraMetachatKit.h:22
AgoraMetachatAvatarInfo::desc
NSString *_Nonnull desc
Definition: AgoraMetachatKit.h:58
AgoraMetachatAvatarInfo::avatarPath
NSString *_Nonnull avatarPath
Definition: AgoraMetachatKit.h:60
-[AgoraMetachatScene destroy]
NSInteger destroy()
AgoraMetachatErrorTypeEngineLoadFailed
@ AgoraMetachatErrorTypeEngineLoadFailed
Definition: AgoraMetachatKit.h:47
AgoraVideoFrame
Definition: AgoraObjects.h:1579
AgoraMetachatAvatarInfo::avatarCode
NSString *_Nonnull avatarCode
Definition: AgoraMetachatKit.h:56
AgoraMetachatSceneInfo
Definition: AgoraMetachatKit.h:69
AgoraMetachatAvatarInfo::extraInfo
NSString *_Nonnull extraInfo
Definition: AgoraMetachatKit.h:64
AgoraMetachatAvatarInfo
Definition: AgoraMetachatKit.h:55
AgoraMetachatAvatarInfo::avatarId
NSInteger avatarId
Definition: AgoraMetachatKit.h:55
AgoraMetachatPositionInfo
Definition: AgoraMetachatKit.h:91
AgoraMetachatUserAvatarConfig
Definition: AgoraMetachatKit.h:114
AgoraMetachatErrorTypeJoinRoomFailed
@ AgoraMetachatErrorTypeJoinRoomFailed
Definition: AgoraMetachatKit.h:49
AgoraMetachatErrorType
AgoraMetachatErrorType
Definition: AgoraMetachatKit.h:45
AgoraRtcEngineKit.h
AgoraMetachatConnectionChangedReasonTypeDefault
@ AgoraMetachatConnectionChangedReasonTypeDefault
Definition: AgoraMetachatKit.h:35
AgoraMetachatUserInfo
Definition: AgoraMetachatKit.h:85
-[AgoraMetachatKit getLauncherVersion]
NSString *_Nullable getLauncherVersion()
AgoraMetachatConnectionChangedReasonType
AgoraMetachatConnectionChangedReasonType
Definition: AgoraMetachatKit.h:33
AgoraMetachatConnectionStateTypeReconnecting
@ AgoraMetachatConnectionStateTypeReconnecting
Definition: AgoraMetachatKit.h:26
AgoraMetachatAvatarInfo::thumbnailPath
NSString *_Nonnull thumbnailPath
Definition: AgoraMetachatKit.h:62
AgoraMetachatDownloadStateType
AgoraMetachatDownloadStateType
Definition: AgoraMetachatKit.h:38
AgoraMetachatErrorTypeSceneUnloadFailed
@ AgoraMetachatErrorTypeSceneUnloadFailed
Definition: AgoraMetachatKit.h:50
AgoraMetachatDownloadStateTypeDownloading
@ AgoraMetachatDownloadStateTypeDownloading
Definition: AgoraMetachatKit.h:40
AgoraMetachatErrorTypeSceneLoadFailed
@ AgoraMetachatErrorTypeSceneLoadFailed
Definition: AgoraMetachatKit.h:48
AgoraMetachatConnectionStateType
AgoraMetachatConnectionStateType
Definition: AgoraMetachatKit.h:18
AgoraMetachatAvatarInfo::assets
NSString *_Nonnull assets
Definition: AgoraMetachatKit.h:63
AgoraMetachatErrorTypeOK
@ AgoraMetachatErrorTypeOK
Definition: AgoraMetachatKit.h:46
+[AgoraMetachatKit destroy]
void destroy()
AgoraMetachatConfig
Definition: AgoraMetachatKit.h:121
AgoraMetachatConnectionStateTypeAborted
@ AgoraMetachatConnectionStateTypeAborted
Definition: AgoraMetachatKit.h:28
AgoraMetachatKit
Definition: AgoraMetachatKit.h:146
AgoraMetachatAvatarInfo::avatarName
NSString *_Nonnull avatarName
Definition: AgoraMetachatKit.h:57
AgoraMetachatSceneEventDelegate-p
Definition: AgoraMetachatKit.h:106
AgoraMetachatConnectionStateTypeDisconnected
@ AgoraMetachatConnectionStateTypeDisconnected
Definition: AgoraMetachatKit.h:20
AgoraMetachatDownloadStateTypeDownloaded
@ AgoraMetachatDownloadStateTypeDownloaded
Definition: AgoraMetachatKit.h:41
AgoraMetachatDownloadStateTypeFailed
@ AgoraMetachatDownloadStateTypeFailed
Definition: AgoraMetachatKit.h:42
-[AgoraMetachatEventDelegate-p onRequestToken]
void onRequestToken()
AgoraMetachatConnectionStateTypeConnected
@ AgoraMetachatConnectionStateTypeConnected
Definition: AgoraMetachatKit.h:24
AgoraMetachatScene
Definition: AgoraMetachatKit.h:130