云会议SDK提供了一套用于加入视频会议的接口集合,开发者通过调用这些接口,可以在自己应用中快速集成云会议功能。通过阅读本文,您可以了解到云会议SDK的集成方法。
环境要求
类别 |
说明 |
系统版本 |
支持iOS 9.0及以上版本。 |
CPU架构 |
支持的ARM架构:armv7和arm64。
说明
armv7及iPhone 6以下设备只支持音频会议,不支持视频会议。
|
语言 |
支持Objective-C或Swift语言。 |
Xcode版本 |
支持Xcode 10.0及以上版本。 |
操作步骤
- 下载并解压UI SDK。下载地址请参见SDK下载。
- 添加UI SDK。
- 将解压好的AliMeetingUISDK.framework文件夹复制到工程目录中。
- 单击General页签,在Frameworks, Libraries, and Embedded Content区域单击+添加AliMeetingUISDK.framework。
- 单击Build Phases页签,在Copy Files区域,选择Destination为Frameworks。
- 添加Meeting SDK,即AliMeetingSDK.framework。具体操作,请参见步骤 2。
- 开启VoIP模式。
单击Signing & Capabilities页签,在Background Modes区域选中Voice over IP。

- 在info.plist中添加摄像头、麦克风权限以及网络权限。
- 单击Build Settings页签,在Build Options区域,设置Enable Bitcode为No。
- 集成业务代码。
- 构建入会信息,添加各项入会参数。
AliMeetingDetail *detail = AliMeetingDetail.new;
detail.subject = @"Test";
detail.shareLink = @"";
detail.shareMessage = @"";
detail.beginDate = NSDate.date.timeIntervalSince1970 * 1000;
detail.endDate = NSDate.date.timeIntervalSince1970 * 1000;
NSDictionary *meetingConfig = @{
AliMeetingConfigKey.meetingCode: meetingCode,
AliMeetingConfigKey.meetingToken: meetingToken,
AliMeetingConfigKey.meetingUUID: meetingUUID,
AliMeetingConfigKey.memberUUID: memberUUID,
AliMeetingConfigKey.meetingDomain:meetingDomain,
AliMeetingConfigKey.clientAppID: clientAppID,
AliMeetingConfigKey.userID: userID,
AliMeetingConfigKey.meetingPassword:password,
AliMeetingConfigKey.openBeautifier:@(openBeautifer),
AliMeetingConfigKey.meetingDetail: detail
};
- 自定义邀请操作(根据实际情况选择实现)。
- (BOOL)showMeetingDetail:(UIViewController *)sourceVC {
return NO;
}
- (BOOL)showMeetingChat:(UIViewController *)sourceVC granted:(BOOL)chatPermissionGranted {
return NO;
}
- (BOOL)onInviteAction:(UIViewController *)sourceVC {
return NO;
}
- (BOOL)loadAvatar:(AMSDKMeetingClient *)client imageView:(UIImageView *)imageView {
[imageView sd_setImageWithURL:[NSURL URLWithString:@"https://gss0.baidu.com/7Po3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/267f9e2f07082838685c484ab999a9014c08f11f.jpg"] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
}];
return YES;
}
- 会议回调(根据实际情况选择实现)。
#pragma mark - AliMeetingCallback
- (void)onMeetingJoined {
}
- (void)onClientStatusChanged:(AMSDKMeetingClient *)client event:(AliMeetingClientStatusEvent)event {
}
- (void)onMeetingFinished:(AMSDKFinishCode)code msg:(NSString *)msg {
}
- (void)onMeetingError:(AMSDKErrorCode)code msg:(NSString *)msg {
}
- (void)onUserLeaveMeeting {
}
- (void)onUserFinishMeeting {
}
- 最小化悬浮窗(根据实际情况选择实现)。
UI SDK支持最小化浮窗展示,可以通过实现回调来改动浮窗大小及位置。
- (UIView *)parentViewOfFloatingView;
- (UIEdgeInsets)edgeInsetsOfFloatingView;
- (CGRect)frameOfFloatingView;
- (UIViewController *)viewControllerToPresentMeetingVC;
- 设置日志等级。
///设置log等级
AliMeetingUISDKManager.shared.logLevel = AMSDKLoggingLevelError
日志级别如下所示:
typedef NS_ENUM(NSUInteger, AMSDKLoggingLevel){
//! 关闭
AMSDKLoggingLevelOff = 0,
//! 输出Error日志
AMSDKLoggingLevelError = (AMSDKLoggingFlagError),
//! 输出Error、Warning日志
AMSDKLoggingLevelWarning = (AMSDKLoggingLevelError | AMSDKLoggingFlagWarning),
//! 输出Error、Warning、Info日志
AMSDKLoggingLevelInfo = (AMSDKLoggingLevelWarning | AMSDKLoggingFlagInfo),
//! 输出Error、Warning、Info、Debug日志
AMSDKLoggingLevelDebug = (AMSDKLoggingLevelInfo | AMSDKLoggingFlagDebug),
//! 输出Error、Warning、Info、Debug、Verbose日志
AMSDKLoggingLevelVerbose = (AMSDKLoggingLevelDebug | AMSDKLoggingFlagVerbose),
//! 输出所有日志
AMSDKLoggingLevelAll = NSUIntegerMax
};
- 支持横竖屏旋转。
- 在info.plist选中支持的方向。

- 在AppDelegate中实现以下回调。
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
if (AliMeetingUISDKManager.shared.isInMeeting &&
!AliMeetingUISDKManager.shared.isInFloating) {
return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape);
}
return UIInterfaceOrientationMaskPortrait;
}
- 加入会议。
AliMeetingUISDKManager.shared.callback = meetingCallback
AliMeetingUISDKManager.shared.UIController = uiController
[AliMeetingSDKManager.shared joinMeetingWithConfig:meetingConfig sourceVC:sourceVC]
- 编译运行。