Zoom REST API和SDK-第4部分
只要您具有Objective-C或Swift的编程经验,就可以轻松使用Zoom的iOS SDK。 在开始使用之前,一些一般性的评论。
·阅读REST API博客的第1部分和第2部分
·通过登录Zoom.us中的帐户下载SDK(zoom-ios-sdk.zip)。 该SDK附带一个示例xcode项目(ZoomSDKSample.xcodeproj),您可以在xcode中打开该项目。 我推荐xcode 7
·SDK支援iOS 6.0以上版本
·将框架和系统库导入到您的项目中(在将库导入到自己的项目中之前,请确保可以在模拟器中编译并运行演示应用程序)。 导入后,您应该看到以下内容:
·您会注意到Zoom SDK的内存占用量更大-大约150 MB。 这是因为SDK使用了设备/模拟器框架,并且还使用了多个外部库-这是任何实时协作产品所特有的
·使用SDK时,应用程序应使用Zoom的REST API来注意用户管理。 稍后在博客中对此有更多的了解
·SDK尚不提供很多会议控件,但Zoom正在进行中
初始化SDK
SDK下载随附的演示应用程序具有obj-C的示例。 初始化非常简单-您需要准备好SDK密钥/秘密,并在调用Auth之前提供它。 这是我的appdelegate.swift-我排除了错误处理,因为此处的目的是演示SDK的用法。
导入UIKit
@UIApplicationMain
AppDelegate类:UIResponder,UIApplicationDelegate,ZoomSDKAuthDelegate {
var window:UIWindow?
func application(应用程序:UIApplication,didFinishLaunchingWithOptions launchOptions:[NSObject:AnyObject]?)-> Bool {
//应用程序启动后进行自定义的替代点。
// sdk_domain指向您帐户所属的生产云— Zoom为大型企业和服务提供商提供了专用的云,这些云将属于不同的域。
let sdk:ZoomSDK = ZoomSDK.sharedSDK();
sdk.zoomDomain =“ zoom.us”;
self.sdkAuth();
返回真
}
func sdkAuth()
{
let sdk:ZoomSDK = ZoomSDK.sharedSDK();
let auth:ZoomSDKAuthService = sdk.getAuthService();
auth.delegate =自我;
auth.clientKey =“您的SDK密钥”;
auth.clientSecret =“您的sdk秒”;
auth.sdkAuth();
}
func onZoomSDKAuthReturn(returnValue:ZoomSDKAuthError)
{
NSLog(“ SDK auth return:%@”,String(returnValue));
}
}
会议服务
正如我们在之前的文章中所看到的,您需要使用REST API创建用户帐户,但是您需要制定如何管理这些帐户的服务策略。 我们需要四个关键的信息来开始会议: 用户ID,用户令牌,会议号和用户类型 。 我们可以使用API的(/ v1 / user / create,/ v1 / user / get,/ v1 / meeting / create,/ v1 / meeting / get)来获取此信息。 显示名称可以是任何字符串值。 为了简单起见,我在此处对值进行了硬编码。 请参阅框架中的ZoomSDKMeetingService.h。
让会议= ZoomSDK.sharedSDK()。getMeetingService();
let userid =“ LeE4XRa8Zw”;
让userToken =“ mL4KVYD-8fI2TtnE1nFM5IeEMjNXT4xfgdFj62PmqNg.BgIsb0NFOURZNStNZGJuNXhXSGY5SWRyd”;
让userType = ZoomSDKUserType_ZoomUser;
让displayName =“ Demo”;
让MeetingNumber =“ 12345”;
如果(ZoomSDKMeetError_Success == Meeting.startMeeting(userid,userToken:userToken,userType:userType,displayName:displayName,MeetingNumber:MeetingNumber)){
打印(“会议\(meetingNumber)成功启动”);
}其他{
打印(“会议\(meetingNumber)无法启动”);
}
仅此而已。 现在,会议由Zoom的会议视频控制器接管。 根据应用程序UI工作流程的方式,可以禁用或启用的控件很少。
让设置= ZoomSDK.sharedSDK()。getMeetingSettings();
setting.topBarHidden = false;
setting.meetingTitleHidden = true;
setting.meetingAudioHidden = true;
setting.meetingInviteHidden = true;
setting.meetingVideoHidden = true;
setting.meetingShareHidden = true;
setting.meetingParticipantHidden = true;
setting.bottomBarHidden = true;
参加会议很容易。 您只需要传递会议号和显示名称,因为任何人都可以加入Zoom会议而无需拥有用户帐户。
如果(ZoomSDKMeetError_Success == Meeting.joinMeeting(displayName:displayName,MeetingNumber:meetingNumber)){
打印(“成功加入会议\(meetingNumber)”);
}其他{
打印(“无法加入\(meetingNumber)”);
}
现在,您如何知道是否需要开始或参加会议? 如果用户是会议的主持人,则我们的应用需要呼叫开始会议,否则,我们需要呼叫加入会议。 在某些情况下,您的应用程序可能不知道该特定用户是否已经安排了会议,并且他/她想加入该会议,但他们只会给您会议ID-我们将如何知道是否需要呼叫开始或加入会议? 如果我们不知道该用户是否是主机,则可以调用/ v1 / meeting / get并将调用返回的主机ID与用户的主机ID进行比较。 如果匹配,则调用开始会议功能。
会议服务为您的应用程序提供了许多回调,请查看ZoomSDKMeetingService.h进行查找。