Introduction
Video conferencing is now a core part of many apps in domains like healthcare and educational — but integrating Zoom natively in Flutter has been a challenge for both Android and iOS platforms...
I developed flutter_zoom_wrapper to help you seamlessly integrate Zoom into your Flutter apps, without digging deep into native code.
This blog will guide you step-by-step on how to install, configure, and use the package to join Zoom meetings with ease.
Why I Built This -
While working on apps that required Zoom meetings, I found existing solutions were either incomplete or outdated
So we built flutter_zoom_wrapper:
- Simple Dart API
- Native Zoom SDK support for Android and iOS
- JWT & SDK key-based auth
- Highly customizable meeting options
And it’s now available for everyone on pub.dev.
How It Works - Let's Get Started
Step 1: In Your pubspec.yaml
dependencies:
flutter_zoom_wrapper: ^0.0.4
Run - flutter pub get
Step 2: Download Zoom SDKs (Required)
Download SDKs from zoom marketplace : https://marketplace.zoom.us/
Create general app and from Embed section download below sdk versions or latest available compatible versions.
Android SDK: v6.3.1.26548
iOS SDK: v6.4.10.25465
SDK Key and SDK Secret will be on the marketplace.
*Step 3: Android Native Setup - (As SDK files are large and not available on github so require to update .pub-cache folder for flutter_zoom_wrapper *
Go to ~/.pub-cache/hosted/pub.dev/flutter_zoom_wrapper-0.0.4/android
Create a libs folder inside android.
Copy Mobilertc.aar file which is available in the downloaded sdk folder and paste it in the above path.
Add required permissions in AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
Android side setup is done.
Step 4: iOS Native Setup
Go to ~/.pub-cache/hosted/pub.dev/flutter_zoom_wrapper-0.0.4/ios.
Create a ZoomSDK folder.
Copy MobileRTC.xcframework and MobileRTCResources.bundle which is available in the downloaded SDK folder and paste it in the above path.
Add required permissions in Info.plist of your project:
key>NSCameraUsageDescription</key>
<string>This app uses your camera for Zoom meetings</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app uses your mic for Zoom meetings</string>
Then in your project IOS project, Paste MobileRTCResources.bundle inside runner.
Run pod install.
IOS setup is done.
Important:
The .aar for android and .xcframework and .bundle files for ios must be placed in the correct location for the plugin to function properly.
If the package is updated in future, then the zoom SDK files need to be updated, in the updated package location according to the version number.. ~/.pub-cache/hosted/pub.dev/flutter_zoom_wrapper-0.0.4
Step 5: Now Let’s use this package in your flutter project.
import 'package:flutter_zoom_wrapper/flutter_zoom_wrapper.dart';
Give your SDK key and secret to generate a JWT token, which is required for initializing the SDK and joining the meeting.
Future<void> _initializeZoomSDK() async {
final sdkKey = _sdkKeyController.text.trim();
final sdkSecret = _sdkSecretController.text.trim();
if (sdkKey.isEmpty || sdkSecret.isEmpty) {
_appendLog('❗ Please enter both SDK Key and SDK Secret.');
return;
}
try {
final jwtToken = FlutterZoomWrapper.generateZoomJWT(sdkKey, sdkSecret);
await FlutterZoomWrapper.initializeZoom(jwtToken);
debugPrint('✅ Zoom SDK initialized successfully.');
} catch (e) {
debugPrint('❌ Error initializing Zoom SDK: $e');
}
}
Future<void> _joinZoomMeeting() async {
final meetingId = _meetingIdController.text.trim();
final meetingPassword = _meetingPasswordController.text.trim();
final displayName = _displayNameController.text.trim();
try {
await FlutterZoomWrapper.joinMeeting(
meetingId: meetingId,
meetingPassword: meetingPassword,
displayName: displayName,
);
debugPrint('📞 Attempting to join the Zoom meeting...');
} catch (e) {
debugPrint('❌ Error joining Zoom meeting: $e');
}
}
For full Example code, Refer -
Example
If you find it useful:
🌟 Star the project on GitHub and give like on pub.dev
🗣 Share feedback or feature requests
Let’s Zoom Together!
Start integrating Zoom into your Flutter app with just a few lines of code — and let us handle the complexity under the hood.
Happy coding.
Final Result
Top comments (0)