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');
  }
}