首先需要下载 Meetingkit,并解压缩到本地目录。 注意:公有云和私有云使用同一套 SDK。版本下载
SDK 版本 | 公有云 | 私有云 |
3.3.4-20240712 | 支持 | v3.9 |
集成步骤请参阅 SDK集成
将Meetingkit下的UI源码拷贝到你的工程中,使用方法如下步骤,更多内容请查阅源码。
初始化
- (void)createSDK {
//设置参数
XYSettings *settings = [XYSettings settings];
settings.extID = @"xxx";
settings.server = @"xxx";
settings.httpsPort = @"xxx";
settings.clientID = @"xxx";
settings.clientSecret = @"xxx";
//初始化
[[XYSDKManager sharedInstance] create:settings];
}
登录
- (void)login {
//登录
[[XYSDKManager sharedInstance] loginWithExternalId:@"userId" username:@"name" enterpriseId:@"extId"];
}
- (void)nemoSDKDidLoginResult:(XYUser *)user success:(BOOL)success {
//登录结果回调
[XYHUDManager hideToast];
_isLogin = success;
if (success) {
self.user = user;
[[NSNotificationCenter defaultCenter] postNotificationName:@"LoginSuccess" object:nil];
}else{
[XYHUDManager showBriefToast:_errorCodeDic[user.error]?:user.error];
}
}
- (void)nemoSDKDidConnectStateWithNemo:(BOOL)isConnect {
//SDK与小鱼服务器连接状态回调
_isConnect = isConnect;
}
入会
- (void)joinMeeting {
//入会参数
NemoCallConfig *config = [[NemoCallConfig alloc] init];
config.audioMute = NO;
config.videoMute = YES;
//加入会议
if (_isLogin && _isConnect) {
[[XYSDKManager sharedInstance] joinMeeting:@"number" password:@"password" config:config];
}
}
- (void)nemoSDKDidCallStateChange:(NemoMeetingStateInfo *)info {
//会议状态回调
[XYHUDManager hideToast];
if (info.state == NemoCallState_Connecting) {
[self showMeetingUI];
} else {
[self.meetingVC meetingState:callState];
if (info.state == NemoCallState_DisConnected) {
[self delayDimissMeetingVC];
if (![reason isEqualToString:@"STATE:200"]) {
WEAKSELF
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XYHUDManager showBriefToast:weakSelf.errorCodeDic[reason]];
});
}
}
}
}