π± 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.

β¨ 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:
-
Add the dependency and run
flutter pub get
. -
Download the Zoom SDK ZIP from the following link:
π Zoom SDK Download -
Extract the ZIP file after downloading.
-
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. -
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
- Create a Zoom Developer Account at https://marketplace.zoom.us/
- Create an app in the Zoom Marketplace
- Get your API Key and API Secret from the app credentials
- 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
