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进行查找。