πŸ“± Flutter Zoom Meeting Wrapper

A Flutter plugin that allows you to integrate the Zoom Meeting SDK into your Flutter application. This plugin enables users to join Zoom meetings directly within your app without switching to the Zoom app.

Zoom Meeting Banner

✨ Features

πŸš€ Easy integration with the Zoom Meeting SDK
πŸ”„ Initialize SDK using a JWT token
🎯 Join meetings directly within your app (no Zoom app required)
πŸ“± Android platform support
πŸ”Š Full audio and video meeting experience
πŸ” Secure authentication flow via JWT

πŸ“¦ Installation

Add the following to your pubspec.yaml file:

dependencies:
  flutter_zoom_meeting_wrapper: ^0.0.1

βš™οΈ Mandatory Zoom SDK Setup

Follow these steps to properly set up the Zoom SDK:

  1. Add the dependency and run flutter pub get.

  2. Download the Zoom SDK ZIP from the following link:
    πŸ‘‰ Zoom SDK Download

  3. Extract the ZIP file after downloading.

  4. Copy the libs folder and paste it inside your Flutter pub-cache directory at:

    ~/.pub-cache/hosted/pub.dev/flutter_zoom_meeting_wrapper-0.0.1/android/
    

    πŸ” Replace 0.0.1 with the version you’re using, if different.

  5. Or run the following command to open the folder directly:

    open ~/.pub-cache/hosted/pub.dev/flutter_zoom_meeting_wrapper-0.0.1/android
    

⚠️ Important: The libs folder must be placed in the correct location for the plugin to function properly.


πŸ”‘ Getting Started with Zoom SDK

  1. Create a Zoom Developer Account at https://marketplace.zoom.us/
  2. Create an app in the Zoom Marketplace
  3. Get your API Key and API Secret from the app credentials
  4. Use these to generate your JWT token

πŸ”’ Generate JWT Token

To generate a ZOOM JWT token, you can use https://jwt.io/ with the following payload and signature: Payload:

{
  "appKey": "ZOOM-CLIENT-KEY",
  "iat": ANY-TIME-STAMP, 
  "exp": ANY-TIME-STAMP, //greater than iat
  "tokenExp": ANY-TIME-STAMP //greater than iat
}

Verify Signature:

HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  "ZOOM-CLIENT-SECRET"
)

πŸš€ Usage

Initialize the SDK

First, initialize the Zoom SDK with your JWT token:

import 'package:flutter_zoom_meeting_wrapper/flutter_zoom_meeting_wrapper.dart';

// Initialize Zoom SDK

bool isInitialized = await ZoomMeetingWrapper.initZoom(jwtToken);

Join a Meeting

Once initialized, you can join a Zoom meeting like this:

bool joinSuccess = await ZoomMeetingWrapper.joinMeeting(
  meetingId: "your_meeting_id",
  meetingPassword: "meeting_password",
  displayName: "Your Name",
);

⚠️ Common Issues

JWT Token Invalid: Ensure your API Key and Secret are correct, and check that your system time is accurate.
Failed to initialize SDK: Make sure you have a stable internet connection and valid JWT token.
Cannot join meeting: Verify that the meeting ID and password are correct.

⚑ Limitations

πŸ–ΌοΈ Custom UI overlays are not supported in the current version
πŸ“Ή Recording meetings is not supported in this plugin
πŸ–₯️ Screen sharing functionality is limited to platform capabilities

πŸ‘¨β€πŸ’» Code Contributors

Zoom Meeting Wrapper contributors