initZoom method

  1. @override
Future<List> initZoom({
  1. required ZoomOptions options,
})
override

Platform-specific implementations should set this with their own platform-specific class that extends ZoomAllInOneSdkPlatform when they register themselves. Flutter Zoom SDK Initialization function

Implementation

@override
Future<List<dynamic>> initZoom({required ZoomOptions options}) async {
  final Completer<List<dynamic>> completer = Completer();

  zoomoptions = options;

  ZoomMtg.setZoomJSLib('https://source.zoom.us/2.18.0/lib', '/av');
  ZoomMtg.preLoadWasm();
  ZoomMtg.prepareWebSDK();

  ZoomMtg.i18n.load(options.language);
  ZoomMtg.init(InitParams(
    leaveUrl: '/index.html',
    success: allowInterop((res) {
      var zr = window.document.getElementById("zmmtg-root");
      querySelector('body')?.append(zr!);

      var div = window.document.getElementById("aria-notify-area");
      querySelector('body')?.append(div!);
      completer.complete([200, 0]);
    }),
    error: allowInterop((res) {
      completer.completeError([1, 0]);
    }),
    // URL for web participants to leave the meeting
  ));
  try {
    return await completer.future;
  } catch (e) {
    return [1, 0];
  }
}