Original publication date: December 21, 2022
Added
-
New interfaces to support Immersive Scene in customized user interfaces.
-
New interface in
ZoomSDKMeetingService
:-(ZoomSDKCustomImmersiveController*)getMeetingImmersiveController;
-
New interface class named
ZoomSDKCustomImmersiveController
defined inZoomSDKCustomImmersiveController.h
:@property(nonatomic,assign) id<ZoomSDKCustomImmersiveDelegate> delegate; - (BOOL)isImmersiveViewOn; - (BOOL)isSupportImmersive; - (BOOL)isTemplateThumbnailsReady; - (BOOL)canStartImmersiveView:(ZoomSDKCustomImmersiveTemplate*)immersiveTemplate; - (ZoomSDKError)startImmersiveView:(ZoomSDKCustomImmersiveTemplate*)immersiveTemplate; - (ZoomSDKError)changeTemplate:(ZoomSDKCustomImmersiveTemplate*)immersiveTemplate; - (ZoomSDKError)exitImmersiveView; - (BOOL)canUserShowInImmersiveView:(unsigned int)userID; - (ZoomSDKError)assignUser:(unsigned int)userID seatID:(NSString*)seatID; - (ZoomSDKError)putUserToFreeSeat:(unsigned int)userID pos:(NSRect)pos; - (ZoomSDKError)removeUser:(unsigned int)userID; - (BOOL)isUserInImmersiveView:(unsigned int)userID; - (ZoomSDKError)downloadTemplateThumbnails; - (ZoomSDKError)downloadTemplate:(ZoomSDKCustomImmersiveTemplate*)immersiveTemplate; - (ZoomSDKError)addCustomImageTemplate:(NSString*)filePath template:(ZoomSDKCustomImmersiveTemplate**)immersiveTemplate; - (ZoomSDKError)removeCustomImageTemplate:(ZoomSDKCustomImmersiveTemplate*)immersiveTemplate; - (ZoomSDKCustomImmersiveTemplate*)getCurrentTemplate; - (NSArray<ZoomSDKCustomImmersiveTemplate*>*)getTemplates; - (ZoomSDKCustomImmersiveContainer*)createImmersiveContainer:(NSRect)rect; - (ZoomSDKError)destroyImmersiveContainer; - (void)onImmersiveContainerDestroyed;
-
New interface class
ZoomSDKCustomImmersiveTemplate
defined inZoomSDKCustomImmersiveController.h
:@property(nonatomic,copy, readonly) NSString* templateName; @property(nonatomic,retain, readonly) NSBitmapImageRep* thumbnailBitmap; @property(nonatomic,assign, readonly) unsigned int capacity; @property(nonatomic,assign, readonly) BOOL isTemplateReady; @property(nonatomic,assign, readonly) BOOL isSupportFreeSeat; @property(nonatomic,assign, readonly) NSSize canvasSize; @property(nonatomic,assign, readonly) ZoomSDKCustomImmersiveTemplateType templateType; @property(nonatomic,retain, readonly) NSArray<ZoomSDKSeatPlacementInfo*>* seatList
-
New interface class
ZoomSDKCustomTemplateSeat
defined inZoomSDKCustomImmersiveController.h
@property(nonatomic, copy, readonly) NSString* seatID; @property(nonatomic, assign, readonly) NSRect pos; @property(nonatomic, assign, readonly) ZoomSDKCustomTemplateSeatType type;
-
New interface class
ZoomSDKCustomImmersiveLayoutData
defined inZoomSDKCustomImmersiveController.h
:@property(nonatomic,assign, readonly) BOOL isSeatFree; @property(nonatomic,copy, readonly) NSString* seatID; @property(nonatomic,assign, readonly) unsigned int userID; @property(nonatomic,assign, readonly) unsigned int zOrder; @property(nonatomic,assign, readonly) NSRect position;
-
New interface class
ZoomSDKSeatPlacementInfo
defined inZoomSDKCustomImmersiveController.h
:@property(nonatomic,copy, readonly) NSString* seatID; @property(nonatomic,assign, readonly) NSRect position;
-
New interface class
ZoomSDKCustomImmersiveContainer
defined inZoomSDKCustomImmersiveController.h
:- (ZoomSDKError)repositionContainer:(NSRect)rect; - (ZoomSDKError)showWaitingArea; - (ZoomSDKError)hideWaitingArea;
-
New protocol class
ZoomSDKCustomImmersiveDelegate
defined inZoomSDKCustomImmersiveController.h
:- (void)onImmersiveStatusChanged:(BOOL)isOn; - (void)onSelectedImmersiveTemplateChanged:(ZoomSDKCustomImmersiveTemplate*)immersiveTemplate; - (void)onImmersiveSeatLayoutUpdated:(NSArray<ZoomSDKCustomImmersiveLayoutData*>*)data; - (void)onTemplateDownloadProgress:(ZoomSDKCustomImmersiveTemplate*)immersiveTemplate progress:(unsigned int)progress; - (void)onTemplateDownloadEnded:(ZoomSDKCustomImmersiveTemplate*)immersiveTemplate bSuccess:(BOOL)bSuccess; - (void)onTemplateThumbnailsDownloadEnded:(BOOL)bSuccess;
-
New enum
ZoomSDKCustomImmersiveTemplateType
ZoomSDKCustomImmersiveTemplateType_Default, ZoomSDKCustomImmersiveTemplateType_CustomImage, ZoomSDKCustomImmersiveTemplateType_MyVideo
-
New enum
ZoomSDKCustomTemplateSeatType
ZoomSDKCustomTemplateSeatType_Normal, ZoomSDKCustomTemplateSeatType_OnlyHost
-
-
New interface to support transferring an ongoing meeting or webinar from another logged-in Zoom device. This is currently a beta feature. See upcoming release notes for details.
-
New interface class
ZoomSDKNotificationServiceController
defined inZoomSDKNotificationServiceController.h
:- (BOOL)isTransferMeetingEnabled; - (ZoomSDKError)transferMeeting:(int)index;
-
New interface class
ZoomSDKInMeetingDeviceInfo
defined inZoomSDKNotificationServiceController.h
:@property (assign, nonatomic,readonly) int index; @property (copy, nonatomic,readonly) NSString *deviceName; @property (copy, nonatomic,readonly) NSString *meetingTopic; @property (assign, nonatomic,readonly) long long meetingNumber;
-
New protocol class
ZoomSDKNotificationServiceDelegate
defined inZoomSDKNotificationServiceController.h
:-(void)onTransferMeetingStatus:(BOOL)bSuccess; -(void)onMeetingDeviceListChanged:(NSArray <ZoomSDKInMeetingDeviceInfo*>*)deviceList;
-
New interface in
ZoomSDKAuthService
:- (void)enableAutoRegisterNotificationServiceForLogin:(BOOL)enable; - (ZoomSDKError)registerNotificationService:(NSString*)accessToken; - (ZoomSDKError)unregisterNotificationService; - (ZoomSDKNotificationServiceController *)getNotificationServiceController;
-
New callback in
ZoomSDKAuthDelegate
:- (void)onNotificationServiceStatus:(ZoomSDKNotificationServiceStatus)status;
-
New enum
ZoomSDKNotificationServiceStatus
:ZoomSDKNotificationServiceStatus_None = 0, ZoomSDKNotificationServiceStatus_Starting, ZoomSDKNotificationServiceStatus_Started, ZoomSDKNotificationServiceStatus_StartFailed, ZoomSDKNotificationServiceStatus_Closed,
-
-
New interface to allow everyone in the waiting room to be in the meeting.
-
New interface in
ZoomSDKWaitingRoomController
:- (ZoomSDKError)admitAllToMeeting;
-
-
New interface to support a customized video filter.
-
New interface in
ZoomSDKVirtualBackgroundSetting
:- (ZoomSDKError)useVideoFilterItem:(ZoomSDKVideoFilterItemInfo*)imageInfo;
-
Add new enum values to enum
ZoomSDKVideoEffectType
inZoomSDKErrors.h
:ZoomSDKVideoEffectType_CustomFilter = 3,
-
-
New callback for sign language interpretation.
-
New callback in
ZoomSDKSignInterpretationControllerDelegate
-(void)onTalkPrivilegeChanged:(BOOL)hasPrivilege;
Fixed and Changed
-
-
Fixed an issue where the userID is required when starting a meeting with a ZAK.
-
Fixed an issue where the interface
hideCloudWhiteboardShareButton
couldn’t work. -
Fixed the user interface displaying issue.
-
Fixed an issue when sign interpretation stopped, the interpreter did not receive the callback
onSignInterpreterRoleChanged
. -
Fixed an issue where the attendees are able to receive
OnSignInterpreterListChanged
when the meeting host enables sign interpretation.
-
Fixed an issue where the callback
onSpotlightVideoUserChange
might return the incorrect value when there is only one spotlight user. -
Fixed an issue where the video preview would show a black screen after ending a meeting.
-
Fixed an issue when gallery view has multiple pages, the callback
onLocalVideoOrderUpdated
would not be triggered. -
Fixed an issue where the attendees couldn’t receive a callback when others’ raw-live-streaming-status changed.
Deprecated
-
The callback
(void)onDisallowSignInterpreterToTalk
is marked as deprecated. -
The interface
(ZoomSDKError)useVideoFilterItem:(ZoomSDKVideoEffectType)type index:(int)index;
is marked as deprecated.