zoom / videosdk-ui-toolkit-ios

Zoom Video SDK UI toolkit iOS package.
0 stars 2 forks source link

Zoom Video SDK UI toolkit

The Zoom Video SDK UI toolkit is a prebuilt video chat user interface powered by the Zoom Video SDK.

The UI toolkit enables you to instantly start using a core set of Video SDK features in your app, including:

The use of this UI Took Kit is subject to the Video SDK terms of service. Copyright 2024 Zoom Video Communications, Inc. All rights reserved.

Prerequisites

Installation

Currently, the Zoom Video SDK UI toolkit is available in Swift Package Manager and Cocoapod. The current branch you are viewing right now is the main branch which consists of all 5 xcframeworks (ZoomVideoSDK, ZoomVideoSDKUIToolkit, ZoomVideoSDKScreenShare, CptShare, and zoomcml) with all the UI toolkit features listed earlier. However, if you do not need the virtual background or screen sharing features, you can use the essential branch instead of the main branch.

https://github.com/zoom/videosdk-ui-toolkit-ios.git

Required App Permissions

For the camera and mic to work during the session, add the following:

Permission Required Optional Permission Key Description
Camera Required NSCameraUsageDescription Required for Video
Microphone Required NSMicrophoneUsageDescription Required for Audio
Bluetooth Required NSBluetoothPeripheralUsageDescription Required for Bluetooth audio devices

Authorize

Learn how to use your credentials to authenticate so you can connect.

See the Video SDK Auth Endpoint Sample for a sample app that shows how to quickly, easily, and securely generate a Video SDK JWT.

Usage

After understanding the authorization process, we can simply add the Zoom Video SDK UI toolkit to your View Controller by following the 3 steps below.

Step 1. Create the SessionContext

Create the SessionContext that takes in the required parameters such as JWT, session name and username (display name). If your session requires a password, you can use the password parameter.

let sessionContext = SessionContext(jwt: String, sessionName: String, username: String)

// OR if password is required
let sessionContext = SessionContext(jwt: String, sessionName: String, sessionPassword: String?, username: String)

Step 2. Create the Zoom Video View Controller and present it

Create the UIToolkitVC that takes in the sessionContext and present it.

let vc = UIToolkitVC(sessionContext: sessionContext)
vc.delegate = self
vc.modalPresentationStyle = .fullScreen
present(toolkitVC, animated: true)

Step 3. Delegate

There is a delegate class UIToolkitDelegate which consists of important callbacks such as error, view is loaded and dismissed.

extension YourViewController: UIToolkitDelegate {
    func onError(_ errorType: UIToolkitError) {
        print("UIToolkitVC onError: \(errorType.rawValue) -> \(errorType.description)")
    }

    func onViewLoaded() {
        print("UIToolkitVC onViewLoaded")
    }

    func onViewDismissed() {
        print("UIToolkitVC onViewDismissed")
    }
}

See the Zoom Video SDK UI toolkit documentation for more.

Need help?

If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.



Copyright 2024 Zoom Video Communications, Inc. All rights reserved.