Here are the release notes for the Windows 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 meeting_closedcaption_interface.h:

      virtual bool IsLiveTranscriptLegalNoticeAvailable() = 0;
      virtual const wchar_t* getLiveTranscriptLegalNoticesPrompt() = 0;
      virtual const wchar_t* getLiveTranscriptLegalNoticesExplained() = 0;
    • In meeting_share_interface.h:

      virtual bool IsWhiteboardLegalNoticeAvailable() = 0;
      virtual const wchar_t* getWhiteboardLegalNoticesPrompt() = 0;
      virtual const wchar_t* getWhiteboardLegalNoticesExplained() = 0;
    • In meeting_chat_interface.h:

      virtual bool IsMeetingChatLegalNoticeAvailable() = 0;
      virtual const wchar_t* getChatLegalNoticesPrompt() = 0;
      virtual const wchar_t* getChatLegalNoticesExplained() = 0;
    • In meeting_qa_interface.h:

      virtual bool IsQALegalNoticeAvailable() = 0;
      virtual const wchar_t* getQALegalNoticesPrompt() = 0;
      virtual const wchar_t* getQALegalNoticesExplained() = 0;
    • In meeting_annotation_interface.h:

      virtual bool IsAnnotationLegalNoticeAvailable() = 0;
      virtual const wchar_t* getAnnotationLegalNoticesPrompt() = 0;
      virtual const wchar_t* getAnnotationLegalNoticesExplained() = 0;
    • In auth_service_interface.h:

      virtual const wchar_t* getWebinalLegalNoticesPrompt() = 0;
      virtual bool getWebinalLegalNoticesExplained(WebinarLagelNoticesExplainedInfo& explained_info) = 0;
  • New interfaces to handle SSO login.

    • In auth_service_interface.h:

      virtual const wchar_t* GenerateSSOLoginWebURL(const wchar_t* prefix_of_vanity_url) = 0;
      virtual SDKError SSOLoginWithWebUriProtocol(const wchar_t* uri_protocol) = 0;
  • New interfaces to enhance breakout rooms.

    • IBOCreator(in meeting_breakout_rooms_interface_v2.h) adds the following methods:

      virtual bool SetBOOption(const BOOption& option) = 0;
      virtual bool GetBOOption(BOOption& option) = 0;
    •  IMeetingBOControllerEvent(in meeting_breakout_rooms_interface_v2.h) adds the following method: virtual void onBOStopCountDown(unsigned int nSeconds) = 0;

    • IBOAdmin(in meeting_breakout_rooms_interface_v2.h)` adds the following method: virtual bool InviteBOUserReturnToMainSession(const wchar_t* strUserID) = 0;

    • IMeetingBOControllerEvent(in meeting_breakout_rooms_interface_v2.h) adds the following method: virtual void onHostInviteReturnToMainSession(const wchar_t* strName, IReturnToMainSessionHandler* handler) = 0;

  • New interfaces in in-meeting settings.

    • In setting_service_interface.h:

    add a new class IRingSpeakerInfo;
    virtual IList<IRingSpeakerInfo* >* GetRingSpkList() = 0;
    virtual SDKError GetRingSpkVolume(FLOAT& fValue) = 0;
    virtual SDKError SetRingSpkVolume(FLOAT fValue) = 0;
    virtual SDKError SetRingSpkDevice(const wchar_t* spk_id) = 0;
    virtual SDKError EnableAlwaysUseSeparateRingSpk(bool bEnable) = 0;
    virtual bool IsAlwaysUseSeparateRingSpk() = 0;
    virtual SDKError UseDefaultSystemMic() = 0;
    virtual SDKError UseDefaultSystemSpeaker() = 0;
    virtual bool isSupportPromptJoinAudioDialogWhenUse3rdPartyAudio() = 0;
    virtual bool isAllowDelete() = 0;
    virtual SDKError GetShareOptionwWhenShareInMeeting(ShareOptionInMeeting& shareOption) = 0;
    virtual SDKError SetShareOptionwWhenShareInMeeting(ShareOptionInMeeting shareOption) = 0;
    virtual SDKError GetShareOptionWhenShareApplication(ShareSelectMode& select_mode) = 0;
    virtual SDKError SetShareOptionWhenShareApplication(ShareSelectMode select_mode) = 0;
    virtual SDKError GetShareOptionwWhenShareInDirectShare(ShareOptionToRoom& share_option) = 0;
    virtual SDKError SetShareOptionwWhenShareInDirectShare(ShareOptionToRoom share_option) = 0;
    virtual SDKError EnableShowMyAppWindowWhenShare(bool bEnable) = 0;
    virtual bool IsShowMyAppWindowWhenShareEnabled() = 0;
    virtual bool IsSupportShowMyAppWindowWhenShare() = 0;
    virtual bool IsDoNotDisturbInSharingOn() = 0;
    virtual SDKError EnableDoNotDisturbInSharing(bool bEnable) = 0;
  • A new callback to get the result when asking an attendee to be promoted.

    • In meeting_webinar_interface.h:

      virtual void onAttendeePromoteConfirmResult(bool agree, unsigned int userid) = 0;
  • A new callback when trying to invalidly reclaim the host key.

    • In meeting_participants_ctrl_interface.h:

      virtual void onInvalidReclaimHostkey() = 0;
  • A new callback when the host changes the share settings.

    • The method in IMeetingShareCtrlEvent(in meeting_sharing_interface.h):

      virtual void onShareSettingTypeChangedNotification(ShareSettingType type) = 0
  • A new interface to allow the user to specify the resolution for a customized video element.

    • The method in IVideoRenderElement(in customizd_video_container.h):

      virtual SDKError SetResolution(VideoRenderResolution resolution) = 0;
  • New interfaces to enable or to check showing the user's own application windows while sharing.

    • The methods in IShareSettingContext(in setting_service_interface.h):

      virtual SDKError EnableShowMyAppWindowWhenShare(bool bEnable) = 0;
      virtual bool IsShowMyAppWindowWhenShareEnabled() = 0;
      virtual bool IsSupportShowMyAppWindowWhenShare() = 0;
  • A new meeting fail error code, MEETING_FAIL_HOST_DISALLOW_OUTSIDE_USER_JOIN.

Changed & Fixed

  • Renamed ParticipantID to CustomerKey in the start/join meeting parameter.

  • Fixed an issue where a memory access exception occurs after calling the interface CleanUPSDK().

  • Fixed an issue where the user cannot receive the "Sharing_Resume" status from callback onSharingStatus.

  • Fixed an issue where the camera remains in use after leaving the meeting in Custom UI.

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

  • Fixed an issue where the interface SetShowInviteDlgTabPage doesn't take effect.

  • Fixed an issue where the callback onLostAttendeeRightsNotification is not always called.

  • Fixed an issue where the SDK_MODULE_FAILED error is thrown when subscribing to the local user's shared feed.

  • Modified the interface virtual bool IsAnnoataionDisable(SDKViewType viewtype = SDK_FIRST_VIEW) = 0; to virtual bool IsAnnoataionDisable() = 0;.

  • Modified the interface virtual SDKError StartAnnotation(SDKViewType viewtype, int left, int top) = 0; to virtual SDKError StartAnnotation(SDKViewType viewtype) = 0;.

  • Modified the interface virtual SDKError EnableMuteOnEntry(bool bEnable) = 0;` to`virtual SDKError EnableMuteOnEntry(bool bEnable,bool allowUnmuteBySelf) = 0;.

  • Modified the interface virtual void OnNewBroadcastMessageReceived(const wchar_t* strMsg) = 0; to virtual void onNewBroadcastMessageReceived(const wchar_t* strMsg, unsigned int nSenderID) = 0;.

  • Modified the interface virtual SDKError StartRecording(time_t& startTimestamp, wchar_t* recPath) = 0; to virtual SDKError StartRecording(time_t& startTimestamp) = 0;.

  • Modified the interface virtual void OnHelpRequestReceived(const wchar_t* strUserID) = 0; to virtual void onHelpRequestReceived(const wchar_t* strUserID) = 0;.

  • Modified the interface virtual void OnStartBOError(BOControllerError errCode) = 0;` to`virtual void onStartBOError(BOControllerError errCode) = 0;.

  • Modified the interface virtual void OnHelpRequestHandleResultReceived(ATTENDEE_REQUEST_FOR_HELP_RESULT eResult) = 0; to virtual void onHelpRequestHandleResultReceived(ATTENDEE_REQUEST_FOR_HELP_RESULT eResult) = 0;.

  • Modified the interface virtual void OnHostJoinedThisBOMeeting() = 0;` to`virtual void onHostJoinedThisBOMeeting() = 0;.

  • Modified the interface virtual void OnHostLeaveThisBOMeeting() = 0;` to`virtual void onHostLeaveThisBOMeeting() = 0;.

  • Modified the interface virtual void OnBOInfoUpdated(const wchar_t* strBOID) = 0; to virtual void onBOInfoUpdated(const wchar_t* strBOID) = 0;.

  • Modified the interface virtual void OnUnAssignedUserUpdated() = 0; to virtual void onUnAssignedUserUpdated() = 0;.

  • Modified the interface virtual void OnBOStatusChanged(BO_STATUS eStatus) = 0; to virtual void onBOStatusChanged(BO_STATUS eStatus) = 0;.

Removed

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

  • virtual void onLoginRet(LOGINSTATUS ret, IAccountInfo* pAccountInfo) = 0;

  • virtual IOutlookPluginIntegrationHelper* GetOutlookPluginHeler() = 0;

  • All interfaces and callbacks related to calendar service.

    • All the interfaces and callbacks in calender_service_interface.h.

      • The following interfaces in zoom_sdk.h are deleted:

        SDK_API SDKError CreateCalenderService(ICalenderService** ppCalenderService);
        SDK_API SDKError DestroyCalenderService(ICalenderService* pCalenderService);
  • In meeting_service_interface.h:

    • All interfaces in the IMeetingExternalSecureKeyHandler class are removed.

    • virtual void onMeetingSecureKeyNotification(const char* key, int len, IMeetingExternalSecureKeyHandler* pHandler) = 0;

    • virtual IMeetingBreakoutRoomsController* GetMeetingBreakoutRoomsController() = 0;

  • All interfaces and callbacks in outlook_plugin_integration_helper_interface.h are removed.

  • All interfaces and callbacks that belong to the premeeting service.

    • All the interfaces and callbacks in premeeting_service_interface.h are removed.

      • The following interfaces in zoom_sdk.h are deleted:

        SDK_API SDKError CreatePreMeetingService(IPreMeetingService** ppPreMeetingService);
        SDK_API SDKError DestroyPreMeetingService(IPreMeetingService* pPreMeetingService);
  • In setting_service_interface.h:

    virtual SDKError EnableAutoFullScreenVideoWhenViewShare(bool bEnable) = 0;
        virtual bool IsAutoFullScreenVideoWhenViewShareEnabled() = 0;
        virtual SDKError EnableAnnotateHardwareAcceleration(bool bEnable) = 0;
        virtual bool IsAnnotateHardwareAccelerationEnabled() = 0;
  • All interfaces and callbacks in meeting_breakout_rooms_interface.h are removed.

  • In network_connection_handler_interface.h:

    virtual void onSSLCertVerifyNotification (ISSLCertVerificationHandler *handler) = 0
  • In meeting_chat_interface.h:

    virtual SDKError SendChatTo(unsigned int receiver, wchar_t* content) = 0;
    virtual SDKError SendChat4WebinarMeeting(SendChatItem4Webinar& chatIteam) = 0;
  • In meeting_configuration_interface.h:

    • All the interfaces of class IFreeMeetingEndingReminderHandler are removed.

    • virtual void onFreeMeetingEndingReminderNotification(IFreeMeetingEndingReminderHandler* handler_) = 0;

    • virtual void onAirPlayInstructionWndNotification(bool bShow, const wchar_t* airhostName) = 0;

    • virtual void EnableAirplayInstructionWindow(bool bEnable) = 0;

    • virtual SDKError SetUICustomizedString(SDKCustomizedStringType customizedType, const wchar_t* customizedString) = 0;

    • virtual void EnableHideFullPhoneNumber4PureCallinUser(bool bHide) = 0;

    • virtual void EnableLeaveMeetingWhenScreenLocked(bool bEnable) = 0;

  • In meeting_share_interface.h:

    • virtual SDKError LockShare() = 0;

    • virtual SDKError UnlockShare() = 0;

  • In meeting_video_interface.h:

    • virtual void onSpotlightVideoChangeNotification(bool bSpotlight, unsigned int userid) = 0;