Join a meeting for any user

The code on this page works with either the default UI or the custom UI.

This content applies to all user types.

Join with a meeting number

To join a meeting, retrieve a MobileRTCMeetingService instance from ZoomSDK.

if let meetingService = MobileRTC.shared().getMeetingService() {
}
MobileRTCMeetingService *meetingService = [[MobileRTC sharedRTC] getMeetingService];
if (meetingService != nil) {
}

Then, configure the meeting settings in MobileRTCMeetingSettings.

if let settings = MobileRTC.shared().getMeetingSettings() {
    /*
     For full list of meeting settings available, visit https://marketplacefront.zoom.us/sdk/meeting/ios/interface_mobile_r_t_c_meeting_settings.html
     */
    settings.setAutoConnectInternetAudio(true)
    settings.setMuteAudioWhenJoinMeeting(true)
    settings.setMuteVideoWhenJoinMeeting(true)
    settings.setFaceBeautyEnabled(true)
    settings.enableMirrorEffect(true)
    settings.disableDriveMode(true)
}
MobileRTCMeetingSettings *settings = [[MobileRTC sharedRTC] getMeetingSettings];
if (settings != nil) {
    /*
     For full list of meeting settings available, visit https://marketplacefront.zoom.us/sdk/meeting/ios/interface_mobile_r_t_c_meeting_settings.html
     */
    [settings setAutoConnectInternetAudio:YES];
    [settings setMuteAudioWhenJoinMeeting:YES];
    [settings setMuteVideoWhenJoinMeeting:YES];
    [settings setFaceBeautyEnabled:YES];
    [settings enableMirrorEffect:YES];
    [settings disableDriveMode:YES];
}

When the settings are set, prepare the meeting parameters to pass to the join meeting function.

let joinMeetingParameters = MobileRTCMeetingJoinParam()
joinMeetingParameters.userName = username // Display name
joinMeetingParameters.meetingNumber = meetingNo
joinMeetingParameters.password = meetingPassword
joinMeetingParameters.noAudio = true // If required, to disable audio when join in meeting
joinMeetingParameters.noVideo = true // If required, to disable video when join in meeting
MobileRTCMeetingJoinParam *joinMeetingParameters = [[MobileRTCMeetingJoinParam alloc] init];
joinMeetingParameters.userName = username; // Display name
joinMeetingParameters.meetingNumber = meetingNo;
joinMeetingParameters.password = meetingPassword;
joinMeetingParameters.noAudio = YES; // If required, to disable audio when join in meeting
joinMeetingParameters.noVideo = YES; // If required, to disable video when join in meeting

Once the options and parameters are ready, pass them to joinMeeting to join the meeting.

let error = meetingService.joinMeeting(with: joinMeetingParameters)
// Response will be MobileRTCMeetError. If error = 0 -> MobileRTCMeetError_Success
MobileRTCMeetError error = [meetingService joinMeetingWithJoinParam:joinMeetingParameters];
// Response will be MobileRTCMeetError. If error = 0 -> MobileRTCMeetError_Success

Join with a vanity ID

A vanity ID is a special and personalized ID that uniquely belongs to a user.

To join a meeting with vanity ID instead of meeting number, the process is exactly the same as joining a meeting with meeting number. Just store vanityID in MobileRTCMeetingJoinParam instead of storing meetingNumber.

if let meetingService = MobileRTC.shared().getMeetingService() {
    let joinMeetingParameters = MobileRTCMeetingJoinParam()
    joinMeetingParameters.userName = username // Display name
    joinMeetingParameters.vanityID = vanityID
    joinMeetingParameters.password = meetingPassword
    let error = meetingService.joinMeeting(with: joinMeetingParameters)
    // Response will be MobileRTCMeetError. If error = 0 -> MobileRTCMeetError_Success
}
MobileRTCMeetingService *meetingService = [[MobileRTC sharedRTC] getMeetingService];
if (meetingService != nil) {
    MobileRTCMeetingJoinParam *joinMeetingParameters = [[MobileRTCMeetingJoinParam alloc] init];
    joinMeetingParameters.userName = username; // Display name
    joinMeetingParameters.vanityID = vanityID;
    joinMeetingParameters.password = meetingPassword;
    MobileRTCMeetError error = [meetingService joinMeetingWithJoinParam:joinMeetingParameters];
    // Response will be MobileRTCMeetError. If error = 0 -> MobileRTCMeetError_Success
}

Join Meeting status

To know whether the join meeting action is a success or not, or to get the error message, implement both onMeetingError and the onMeetingStateChange method by confirming to the MobileRTCMeetingServiceDelegate protocol.

func onMeetingError(_ error: MobileRTCMeetError, message: String?) {
}
func onMeetingStateChange(_ state: MobileRTCMeetingState) {
}
- (void)onMeetingError:(MobileRTCMeetError)error message:(NSString*)message
{
}
- (void)onMeetingStateChange:(MobileRTCMeetingState)state
{
}