joinMeeting method

  1. @override
Future<bool> joinMeeting({
  1. required MeetingOptions meetingOptions,
})
override

Flutter Zoom SDK Join Meeting function

Implementation

@override
Future<bool> joinMeeting({required MeetingOptions meetingOptions}) async {
  try {
    // Prepare options map
    final options = <String, dynamic>{
      ZoomConstants.USER_ID: meetingOptions.userId??'',
      ZoomConstants.MEETING_ID: meetingOptions.meetingId??'',
      ZoomConstants.MEETING_PASSWORD: meetingOptions.meetingPassword??'',
      ZoomConstants.DISABLE_DIAL_IN: meetingOptions.noDialInViaPhone??'',
      ZoomConstants.DISABLE_DRIVE: meetingOptions.noDrivingMode??'',
      ZoomConstants.DISABLE_INVITE: meetingOptions.noInvite??'',
      ZoomConstants.DISABLE_SHARE: meetingOptions.noShare??'',
      ZoomConstants.DISABLE_TITLEBAR: meetingOptions.noTitlebar??'',
      ZoomConstants.NO_DISCONNECT_AUDIO: meetingOptions.noDisconnectAudio??'',
      ZoomConstants.VIEW_OPTIONS: meetingOptions.viewOptions??'',
      ZoomConstants.NO_AUDIO: meetingOptions.noAudio??'',
    };

    // Invoke method and handle the result
    final result = await methodChannel.invokeMethod<bool>(
      ZoomConstants.JOIN_MEETING,
      options,
    );

    // Use null coalescing operator to return false if null
    return result ?? false;
  } catch (e) {
    throw ZoomError('Error joining meeting: $e');
  }
}