Use immersive view in Meeting SDK for macOS

View as Markdown

The immersive view in Zoom Meeting lets you choose a "room" and populate it with up to 25 of your meeting attendees. See our support documentation  for full details.

Prerequisites

  • Immersive view enabled on the meeting host's Zoom account
  • Zoom desktop client for macOS global minimum version  or later

Note: Immersive-view meetings must be started via a desktop client. Attendees may participate in immersive-view meetings using any Meeting client, including mobile apps.

To use the immersive view in meetings:

  1. Set up and verify readiness
  2. Choose default or custom immersive view
  3. Seat your participants

Set up and verify readiness

First, check whether the account supports immersive view.

ZoomSDKMeetingService* meetingService = [[ZoomSDK sharedSDK] getMeetingService];
ZoomSDKCustomImmersiveController* controller = [meetingService getMeetingImmersiveController];
if ([controller isSupportImmersive] == YES) {
                // do something
};

Once a user logs in and starts the meeting, Meeting automatically downloads the immersive view template and triggers the callback onTemplateThumbnailsDownloadEnded.

Next, get the template list from the ZoomSDKCustomImmersiveController.

NSArray<ZoomSDKCustomImmersiveTemplate*>* templates = [controller getTemplates];

See if the immersive view's thumbnail is ready.

 If ([controller isTemplateThumbnailsReady] == YES) {
	// do something
};

Verify that the template is able to start the immersive view.

 If ([controller canStartImmersiveView: templated] == YES) {
	// do something
};

Choose default or custom immersive view

To use the default immersive view, which includes any images provided by Zoom, select ZoomSDKCustomImmersiveTemplate with the template type ZoomSDKCustomImmersiveTemplateType_Default.

Alternatively, use a custom image as the immersive view.

[controller addCustomImageTemplate:filePath template:immersiveTemplate;]

Seat your participants

The immersive view can seat up to 25 meeting participants. They can initially be seated automatically, or manually by the host. No matter how the seats are initially populated, the meeting host can individually add or remove any participant in the immersive view at any time during the meeting.

Automatically include all meeting participants

A maximum of 25 meeting participants can be seated in the immersive view. The meeting host can then manually change the seating, if they desire.

ZoomSDKError* ret = [controller startImmersiveView: template];

Manually seat or remove individual participants

Get seat placement information from ZoomSDKCustomImmersiveTemplate.

NSArray<ZoomSDKSeatPlacementInfo*>* seatList = [template seatList];

Based on the placement information from the template, assign users to specific seat IDs or remove users from the template.

Assign a user to a specific seat.

[controller assignUser:userID seatID:seatID];

Assign a user to any available seat.

[controller putUserToFreeSeat:userID pos:pos];

Remove a user from the immersive view.

[controller removeUser:userID];

Get the current meeting's available audio types

To get an integer representing the current meeting's supported audio type, call the getSupportedMeetingAudioType interface after joining a meeting. The integer value is bitwise OR - a bitwise operation - of each supported audio type presented in the InMeetingSupportAudioType enum. For example, if the current meeting supports both VOIP and telephony, the return value of getSupportedMeetingAudioType for that meeting is AUDIO_TYPE_VOIP and AUDIO_TYPE_TELEPHONY.

Interface

- (int)getSupportedMeetingAudioType;

Enum

typedef NS_ENUM(NSInteger, MobileRTCInMeetingSupportAudioType) {
    MobileRTCInMeetingSupportAudioType_None = 0,
    MobileRTCInMeetingSupportAudioType_Voip = 1,
    MobileRTCInMeetingSupportAudioType_Telephone = 1 << 1
};