// // MobileRTCSMSService.h // MobileRTC // // Created by Zoom Video Communications on 2019/9/23. // Copyright © 2019 Zoom Video Communications, Inc. All rights reserved. // #import <Foundation/Foundation.h> #import "MobileRTCMeetingDelegate.h" /*! @brief for real name auth usage. @warning country code will used in retrieve and verify handler. */ @interface MobileRTCRealNameCountryInfo : NSObject @property (nonatomic, copy) NSString * _Nullable countryId; @property (nonatomic, copy) NSString * _Nullable countryName; @property (nonatomic, copy) NSString * _Nullable countryCode; @end /*! @brief for send SMS usage. @warning if retrieve return NO, please get new retrieve handler 60s later. 'getResendSMSVerificationCodeHandler' in 'MobileRTCSMSService' */ @interface MobileRTCRetrieveSMSHandler : NSObject /*! @brief countryCode, counry code in country code list. @param phoneNum, your phone number. @warning if retrieve return NO, please get new retrieve handler 60s later. 'getResendSMSVerificationCodeHandler' in 'MobileRTCSMSService' */ - (BOOL)retrieve:(NSString * _Nullable)countryCode andPhoneNumber:(NSString * _Nullable)phoneNum; /*! @brief cancelAndLeaveMeeting sms @warning cancel and leavemb meeting */ - (BOOL)cancelAndLeaveMeeting; @end /*! @brief for verify SMS usage. @warning if verify return NO, please get new retrieve handler 60s later. 'getReVerifySMSVerificationCodeHandler' in 'MobileRTCSMSService' */ @interface MobileRTCVerifySMSHandler : NSObject /*! @brief countryCode, counry code in country code list. @param phoneNum, your phone number. @param verifyCode, your received verify code. @warning if verify return NO, please get new verify handler 60s later. 'getReVerifySMSVerificationCodeHandler' in 'MobileRTCSMSService' */ - (BOOL)verify:(NSString * _Nullable)countryCode phoneNumber:(NSString * _Nullable)phoneNum andVerifyCode:(NSString * _Nullable)verifyCode; /*! @brief cancelAndLeaveMeeting sms @warning cancel and leavemb meeting */ - (BOOL)cancelAndLeaveMeeting; @end /*! @brief for SMS service usage like following flow. @warning 1.need enable sms service by 'enableZoomAuthRealNameMeetingUIShown' @warning 2.try to join meeting or start meeting. if Real Name verify not pass, will call the callback 'onNeedRealNameAuth: privacyURL: retrieveHandle:' @warning 3.try to send sms with retrieveHandle, or you can use the retrieve handle cancel and leave the meeting, 'cancelAndLeaveMeeting' @warning 4.if success in step 3, pop up the dialog for input the verify code, in the same time, you will receive a sms and a callback 'onRetrieveSMSVerificationCodeResultNotification: verifyHandle:'. @warning if failed, please try to get retrieve handle 60s later, and go to step 3. @warning 5.you can verify sms by verifyHandle. or you can cancel and leave meeting. 'cancelAndLeaveMeeting'. @warning 6.you will receive callback 'onVerifySMSVerificationCodeResultNotification:' for the verify result. */ @interface MobileRTCSMSService : NSObject @property (nullable, assign, nonatomic) id<MobileRTCSMSServiceDelegate> delegate; /*! @brief enable, pass YES for using the auth real name service. the call back function will called when need.(Judged by sdk logic) @warning enable/disable auth real name service. */ - (void)enableZoomAuthRealNameMeetingUIShown:(bool)enable; /*! @brief for get new retrieve handle. @warning need get new handle 60s later. */ - (MobileRTCRetrieveSMSHandler * _Nullable)getResendSMSVerificationCodeHandler; /*! @brief for get new verify handle. @warning need get new handle 60s later. */ - (MobileRTCVerifySMSHandler * _Nullable)getReVerifySMSVerificationCodeHandler; /*! @brief getSupportPhoneNumberCountryList. @warning get country code iist after call join meeting or start meeting interface. */ - (NSArray <MobileRTCRealNameCountryInfo *> * _Nullable)getSupportPhoneNumberCountryList; /*! @brief set default cellphone for signed account. @param countryCode, the user account's country code. @param phoneNum, default phoen number. @return yes, for set success. */ - (BOOL)setDefaultCellPhoneInfo:(NSString * _Nullable)countryCode phoneNum:(NSString * _Nullable)phoneNum; @end