Here are the release notes for the macOS Meeting SDK v5.7.1

Client SDK is now officially ‘Meeting SDK’

To better reflect the functionality of the Client SDK for Android, iOS, macOS, Windows, and Web, we’re changing its name to the Meeting SDK. This does not impact any of the SDKs directly.

SDK Resource folder moved

The SDK Resource folder has been moved to ZSDKRes.bundle/Contents/Resources/SDK_Localization_Resources. The SDK will use this as the default localization file. If you would like to customize your localization file path, please use the customLocalizationFilePath interface.

Using RESTful API for PreMeeting services

The RESTful API parameters and requests to perform meeting management are constantly enhanced to support the latest Zoom meeting features. The SDK services do not get updated as often. Therefore, we are removing the pre meeting services in the SDK as of this release. Please consider using the RESTful API as a replacement. Here are the API for meeting management:

Please follow the instructions in https://marketplace.zoom.us/docs/api-reference/using-zoom-apis to use Zoom RESTful APIs.

Please also consider using the following webhooks:

See the webhook reference for more details: https://marketplace.zoom.us/docs/api-reference/webhook-reference

Added

  • Consent dialog in the following scenarios(both Zoom UI and Custom UI):

    • Recording/Archiving/Live Streaming in meetings or in webinars.

    • Join webinar as a panelist.

    • Promote an attendee to panelist.

    • The host tries to unmute the current user.

  • New interfaces to retrieve legal disclaimers. See https://marketplace.zoom.us/docs/sdk/native-sdks/ui-notices for more information on how to display these in your app.

    • In ZoomSDKCloseCaptionController.h:

      - (BOOL)isLiveTranscriptLegalNoticeAvailable;
      - (NSString *)getLiveTranscriptLegalNoticesPrompt;
      - (NSString *)getLiveTranscriptLegalNoticesExplained;
    • In ZoomSDKASController.h:

      - (BOOL)isWhiteboardLegalNoticeAvailable;
      - (NSString *)getWhiteboardLegalNoticesPrompt;
      - (NSString *)getWhiteboardLegalNoticesExplained;
    • In ZoomSDKMeetingActionController.h:

      - (BOOL)isMeetingChatLegalNoticeAvailable;
      - (NSString *)getChatLegalNoticesPrompt;
      - (NSString *)getChatLegalNoticesExplained;
    • In ZoomSDKQAController.h:

      - (NSString *)getQALegalNoticesPrompt;
      - (NSString *)getQALegalNoticesExplained;
      - (BOOL)isQALegalNoticeAvailable;
    • In ZoomSDKASController.h:

      - (NSString *)getAnnotationLegalNoticesPrompt;
      - (NSString *)getAnnotationLegalNoticesExplained;
      - (BOOL)isAnnotationLegalNoticeAvailable;
    • In ZoomSDKAuthService.h:

      - (NSString *)getWebinarRegistrationLegalNoticesPrompt;
      - (ZoomSDKWebinarRegistrationExplainInfo *)getWebinarRegistrationLegalNoticesExplained;
  • New interfaces to handle SSO login.

    • In ZoomSDKAuthService.h:

      - (NSString*)generateSSOLoginWebURL:(NSString*)prefixOfVanityUrl;
      - (ZoomSDKError)SSOLoginWithWebUriProtocol:(NSString*)uriProtocol;
  • New interfaces in in-meeting settings.

    • In ZoomSDKSettingService.h:

      - (ZoomSDKError)enableMuteOnEntry:(BOOL)bEnable allowUnmuteBySelf:(BOOL)allow;
      - (BOOL)isAllowDelete;
      - (ZoomSDKError)useBGItem:(ZoomSDKVirtualBGImageInfo*)item;
  • New interfaces to enhance breakout rooms.

    -(ZoomSDKBOStatus)getBOStatus;
    -(ZoomSDKError)setBOOption:(ZoomSDKBOStopCountDown)countDown;
    -(ZoomSDKBOStopCountDown)getBOOption;
    -(ZoomSDKError)inviteBOUserReturnToMainSession:(NSString *)userID;
    -(void)onBOStopCountDown:(ZoomSDKBOStopCountDown)countDown;
    -(void)onHostInviteReturnToMainSession:(NSString*)userName handler:(ZoomSDKBOMeetingReturnToMainSessionHandler*)handler;
    -(void)onBOControlStatusChanged:(ZoomSDKBOStatus)status;
  • A new callback when the host changes the share settings.

    • In ZoomSDKASController.h:

      - (void)onShareSettingTypeChanged:(ZoomSDKShareSettingType)type;
  • A new interface to allow the user to specify the resolution for a customized video element.

    • In ZoomSDKRenderer.h:

      - (void)setResolution:(ZoomSDKVideoRenderResolution)resolution;
  • An option in meeting settings to hide the record button.

    • New enumerator RecordButton.

  • A new interface to allow user to specify the localization file path.

    • In ZoomSDK.h:

      @property (retain, nonatomic) NSString *customLocalizationFilePath;
  • A new callback when trying to invalidly reclaim the host key.

    • In ZoomSDKMeetingActionController.h:

      -(void)onInvalidReclaimHostKey
  • A new callback when the host changes the share settings.

    • The interface in ZoomSDKASController.h:

      - (void)onShareSettingTypeChanged:(ZoomSDKShareSettingType)type;
  • A new meeting fail error code.

    ZoomSDKMeetingError_HostDisallowOutsideUserJoin
  • Xcode 12 support for the Intel-Only package. Xcode version requirements are now the same for all macOS packages.

Changed & Fixed

  • Renamed ParticipantID to CustomerKey in the start/join meeting parameter. This does not impact the underlying functionality.

  • Enhanced the SDK sample app to support ARC.

  • Fixed an issue that the default UI can appear intermittently when the Custom UI mode is enabled.

  • Fixed memory leaks in the sample app.

  • Fixed an issue of not able to programmatically assign CC to other users.

  • Fixed IsMeetingSupportCloseCaption returns incorrect value.

  • Fixed an issue that the onChatMessageNotification callback isn't called after sending a message.

  • Fixed an issue that prevented displayUserNameOnVideo from being dynamically updated when using a custom meeting UI.

  • Fixed an issue where creating custom annotation failed when the shared element does not set to nil.

  • Renamed the following enums in SDKButton enum:

    • FitBarAudioButton is replaced with AudioButton.

    • FitBarVideoButton and ToolBarVideoButton are replaced with VideoButton.

    • FitBarParticipantButton is replaced with ParticipantButton.

    • FitBarQAButton and ToolBarQandAButton are replaced with QAButton.

    • FitBarPolling and ToolBarPollingButton are replaced with PollingButton.

  • Modified - (ZoomSDKError)startRecording:(time_t*)startTimestamp saveFilePath:(NSString*)filePath to - (ZoomSDKError)startRecording:(time_t*)startTimestamp . Use ZoomSDKRecordSetting.setRecordingPath to set the path instead.

  • Modified - (ZoomSDKError)loginSSO:(NSString*)ssoToken RememberMe:(BOOL)rememberMe NS_AVAILABLE_MAC(4.3); to - (NSString*)generateSSOLoginWebURL:(NSString*)prefixOfVanityUrl; and - (ZoomSDKError)SSOLoginWithWebUriProtocol:(NSString*)uriProtocol;

  • Modified the following in ZoomSDKSettingService.h:

“- (BOOL)isAlwaysUseSeparateRingSpkOn:(BOOL*)isDisabled“ is replaced with  “- (BOOL)isAlwaysUseSeparateRingSpkOn;”
“- (BOOL)isSyncHeadsetButtonStatus:(BOOL*)isDisabled“   is change to “- (BOOL)isSyncHeadsetButtonStatus;”
“- (BOOL)isHighFideMusicMode:(BOOL*)isDisabled“ is replaced with  “  - (BOOL)isHighFideMusicMode;”
“-(ZoomSDKSettingVideoLightAdaptionModel)getLightAdjustModel:(BOOL*)isDisabled;“ is replaced with  “ -(ZoomSDKSettingVideoLightAdaptionModel)getLightAdjustModel”
“-(int)getLightAdaptionManualValue:(BOOL*)isDisabled;“  is replaced with  “ -(int)getLightAdaptionManualValue”
“-(BOOL)isHardwareAccelerationForVideoReceiveOn:(BOOL*)isDisabled“ is replaced with  “-(BOOL)isHardwareAccelerationForVideoReceiveOn;”
“-(BOOL)isTemporalDeNoiseOn:(BOOL*)isDisabled; “ is replaced with  “-(BOOL)isTemporalDeNoiseOn:(BOOL*)isDisabled;”
“- (BOOL)isMutedVideoAndAudioWhenLockScreen:(BOOL*)isDisabled“ is replaced with  “- (BOOL)isMutedVideoAndAudioWhenLockScreen”
“-(BOOL)isDoNotDisturbInSharingOn:(BOOL*)isDisabled; “ is replaced with  “ -(BOOL)isDoNotDisturbInSharingOn”
“-(BOOL)isGreenBorderOn:(BOOL*)isDisabled;“ is replaced with  “ -(BOOL)isGreenBorderOn”
“-(BOOL)isShareSelectedWndOnlyOn:(BOOL*)isDisabled;“ is replaced with  “ -(BOOL)isShareSelectedWndOnlyOn”
“-(BOOL)isTCPConnectionOn:(BOOL*)isDisabled;“ is replaced with  “ -(BOOL)isTCPConnectionOn”
“-(ZoomSDKScreenCaptureMode)getScreenCaptureMode:(BOOL*)isDisabled; “ is replaced with  “ -(ZoomSDKScreenCaptureMode)getScreenCaptureMode”
“- (ZoomSDKSettingShareScreenShareOption)getShareOptionWhenShareApplication:(BOOL*)isDisabled;“ is replaced with  “- (ZoomSDKSettingShareScreenShareOption)getShareOptionWhenShareApplication”
“- (ZoomSDKSettingShareScreenShareOption)getShareOptionwWhenShareInMeeting:(BOOL*)isDisabled; “is replaced with  “ - (ZoomSDKSettingShareScreenShareOption)getShareOptionwWhenShareInMeeting”
“- (ZoomSDKSettingShareScreenShareOption)getShareOptionwWhenShareInDirectShare:(BOOL*)isDisabled;“ is replaced with “-(ZoomSDKSettingShareScreenShareOption)getShareOptionwWhenShareInDirectShare”

Removed

The following interfaces that were being announced "deprecated" in the previous releases have been removed.

  • - (ZoomSDKError)saveSnapshot:(NSString*)snapShotName

    • Resolution: Use (ZoomSDKError)saveSnapshot:(NSString*)snapShotName snapshotSaveType:(ZoomSDKAnnotationSavedType)savedType;

  • In ZoomSDKMeetingActionController.h:

    - (BOOL)isAudioMuted
    -(void)onSpotlightVideoUserChange:(BOOL)spotlight User:(unsigned int)userID
    - (void)onActiveSpeakerChanged:(unsigned int)userID
    - (void)onUserActiveAudioChanage:(NSArray *)useridArray
    - (BOOL) canSwapToShowShareViewOrVideo
    - (BOOL)isDisplayingShareViewOrVideo
    • Resolution: Use new interfaces:

    -(ZoomSDKAudioStatus)getAudioStatus
    -(void)onSpotlightVideoUserChange:(NSArray*)spotlightedUserList;
    -(void)onUserActiveAudioChange:(NSArray *)useridArray
    -(BOOL)canSwapBetweenShareViewOrVideo
    -(ZoomSDKError)isDisplayingShareViewOrVideo:(BOOL*)isShowingShareView
  • - (ZoomSDKError)canStartRecording:(BOOL)isCloud User:(unsigned int)userid

    • Resolution: Use - (ZoomSDKError)canStartRecording:(BOOL)isCloud

  • In ZoomSDKMeetingService.h:

    @property(nonatomic, copy)NSString* displayName
    @property(nonatomic, copy)NSString* userId -(BOOL)isInternalMeeting
    - (ZoomSDKError)setSecuritySessionKey:(NSArray*)keyArray isLeaveMeeting:(BOOL)leaveMeeting
  • -(ZoomSDKError)minimizeShareFloatVideoWindow:(BOOL)bMin

    • Resolution: Use -(ZoomSDKError)switchFloatVideoToMinimizeMode;

  • In ZoomSDKSettingService.h:

    - (BOOL)isSupportStereo
    -(ZoomSDKError)enableSetShareScreen:(BOOL)enable SettingCmd:(shareSettingCmd)shareCmd
    -(BOOL)isEnableToSettingShare:(shareSettingCmd)sharingCmd
    - (int)getLimitFPSValue
    - (ZoomSDKError)setLimitFPSValue:(int)value
    - (ZoomSDKError)setLimitedFPSValue:(ZoomSDKFPSValue)value
    - (BOOL)isEnableToSetLimitFPS
    - (ZoomSDKError)setEnableLimitFPS:(BOOL)enable
  • In ZoomSDKWebinarController.h:

    - (ZoomSDKError)AllowAttendeeChat ZoomSDK.h  
    - (void)initSDK:(BOOL)customizedFlag - (NSArray*)getLanguageArray
    - (void)enableDefaultLog:(BOOL)enable
    - (void)enableDefaultLog:(BOOL)enable fileSize:(unsigned int)
    - (void)setCustomLocalizationFileName:(NSString*)fileName
    - (void)setAppLocale:(ZoomSDKLocale)locale
    - (void)setTeamIdentifier:(NSString*)identifier
  • The following enums are removed:

    ActionMeetingCmd_RequestRemoteControl,
    ActionMeetingCmd_GiveUpRemoteControl,
    ActionMeetingCmd_GiveRemoteControlTo,
    ActionMeetingCmd_DeclineRemoteControlRequest,
    ActionMeetingCmd_RevokeRemoteControl,
    ActionMeetingCmd_PinVideo,
    ActionMeetingCmd_UnPinVideo,
    ActionMeetingCmd_SpotlightVideo,
    ActionMeetingCmd_UnSpotlightVideo,
    MeetingSettingCmd_AutoFitToWindowWhenViewShare
    MeetingSettingCmd_EnableMuteOnEntry
    
    typedef enum{
      SDKReminderType_CanFreeTrial,
      SDKReminderType_CanUpgradeAccount,
      SDKReminderType_GuestReminder,
      SDKReminderType_UpgradeSuccess,
      SDKReminderType_UpgradeFailed,
      SDKReminderType_None,
      }SDKReminderType;
  • All interfaces in ZoomSDKBreakoutRoomsController.h

    • Resolution: Use Use ZoomSDKNewBreakoutRoomController.h

  • All interfaces in ZoomSDKPremeetingService.h

    • Resolution: Please use RESTful API for PreMeeting management

  • In ZoomSDKNetworkServiceDelegate.h:

    -(void) onSSLCertVerifyNotification
  • Removal of property:

    @property(nonatomic, assign)BOOL mainToolBarVisible;
    @property(nonatomic, assign)BOOL hideMainWindowMeetingInfo;
    @property(nonatomic, assign)unsigned int newMeetingID;
    @property(nonatomic, assign)BOOL hideFullPhoneNumber4PureCallinUser;
  • (ZoomSDKError)modifyWindowTitle:(BOOL)modify NewMeetingNum:(unsigned int)meetingnumber