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.
π Easy integration with the Zoom Meeting SDK
π Initialize SDK using a JWT token
π― Join meetings directly within your app (no Zoom app required)
π± Android & iOS platform support
π Full audio and video meeting experience
π Secure authentication flow via JWT
Add the following to your pubspec.yaml file:
dependencies:
flutter_zoom_meeting_wrapper: ^0.0.2-
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
libsfolder and paste it inside your Flutter pub-cache directory at:~/.pub-cache/hosted/pub.dev/flutter_zoom_meeting_wrapper-0.0.2/android/π Replace
0.0.2with 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.2/android
β οΈ Important: Thelibsfolder must be placed in the correct location for the plugin to function properly.
The iOS integration requires placing the Zoom Meeting SDK frameworks into the pluginβs ios/Frameworks/ directory inside the Flutter pub-cache. Follow these steps:
You can download the iOS SDK using either option below:
Option A β Direct Download (Google Drive)
π Download iOS SDK from Google Drive
Extract the ZIP file after downloading.
Option B β Zoom Marketplace
- Go to https://marketplace.zoom.us/ and sign in.
- Navigate to your appβs credentials page.
- Download the iOS Meeting SDK ZIP package.
- Extract the ZIP file.
Open the pub-cache directory for the pluginβs iOS folder:
open ~/.pub-cache/hosted/pub.dev/flutter_zoom_meeting_wrapper-0.0.2/ios/Frameworksπ Replace
0.0.2with the version youβre using, if different.
Copy all of the following items from the extracted Zoom SDK into the Frameworks/ folder:
| File / Folder | Description |
|---|---|
MobileRTC.xcframework |
Core Zoom Meeting SDK |
MobileRTCResources.bundle |
UI resources (required at runtime) |
MobileRTCScreenShare.xcframework |
Screen sharing support |
zoomcml.xcframework |
Zoom companion framework (required) |
After copying, the folder should look like:
ios/Frameworks/
βββ MobileRTC.xcframework
βββ MobileRTCResources.bundle
βββ MobileRTCScreenShare.xcframework
βββ zoomcml.xcframework
β οΈ Important:zoomcml.xcframeworkis required. If it is missing,pod installwill fail with an error.
In your appβs ios/Podfile, make sure the platform is set to iOS 15.0 or higher:
platform :ios, β15.0βThe Zoom SDK frameworks include arm64 simulator slices only (no x86_64). Add the following to your ios/Podfileβs post_install block to prevent build errors on Intel Mac simulators:
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
installer.aggregate_targets.each do |aggregate_target|
aggregate_target.user_project.native_targets.each do |target|
target.build_configurations.each do |config|
config.build_settings[βEXCLUDED_ARCHS[sdk=iphonesimulator*]β] = β$(inherited) i386 x86_64β
config.build_settings[βSUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPADβ] = βNOβ
end
end
aggregate_target.user_project.save
end
endRun the following from your projectβs ios/ directory:
cd ios && pod installAdd the following keys to your appβs ios/Runner/Info.plist so the system grants Zoom the access it needs:
<key>NSCameraUsageDescription</key>
<string>Camera access is required for video meetings.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone access is required for audio in meetings.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access is required to share images in meetings.</string>flutter run
β οΈ Note: The Zoom SDK simulator frameworks arearm64-only. Testing on a physical iPhone or iPad is recommended. Running on an Intel-based Mac simulator may not work even with the architecture exclusions above.
- 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
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"
)
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);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",
);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.
πΌοΈ 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

