flutter_zoom_meeting_sdk 0.0.9
flutter_zoom_meeting_sdk: ^0.0.9 copied to clipboard
A Flutter plugin for integrating the Zoom Meeting SDK across multiple platforms.
Flutter Zoom Meeting SDK #
A Flutter plugin for integrating the Zoom Meeting SDK across multiple platforms.
Tested with SDK version v6.4.3.28970
.
This plugin assumes you have basic knowledge of the Zoom application and the Zoom Meeting SDK, including concepts like JWT authentication and meeting numbers.
Supported Platforms
- Android
- iOS
- macOS
- Windows
â ī¸ This plugin does NOT bundle the SDK binaries. You must download the Zoom Meeting SDK manually and configure it for each platform.
Getting Started #
1. Download the SDK #
- Go to the Zoom App Marketplace
- Sign in to your Zoom account.
- Click Develop â Build App
- Create a General App.
- Under Build your app > Features > Embed, enable the Meeting SDK.
- Download the SDK files for each target platform.
đ For more information: see Get Credentials
2. Platform Setup #
Follow the platform-specific setup guides:
Usage #
After completing the platform-specific setup, you can start using the plugin to integrate Zoom meeting functionality into your Flutter app. Below is a step-by-step example demonstrating how to initialize the SDK, authenticate with a JWT token, handle events, and join a meeting.
1. Initialize the SDK #
_zoomSdk.initZoom();
2. Authenticate using your JWT token #
_zoomSdk.authZoom(
jwtToken: "<YOUR_JWT_TOKEN>",
);
đ Refer to the Zoom docs on JWT tokens
3. Listen for authentication results and join the meeting #
_zoomSdk.onAuthenticationReturn.listen((event) {
if (event.params?.statusEnum == StatusZoomError.success) {
_zoomSdk.joinMeeting(
ZoomMeetingSdkRequest(
meetingNumber: '<YOUR_MEETING_NUMBER>',
password: '<YOUR_MEETING_PASSWORD>',
displayName: '<PARTICIPANT_NAME>',
),
);
}
});
4. Uninitialize the SDK (recommended when done) #
_zoomSdk.unInitZoom();
đĄ You can call this in the
dispose()
method of your widget.
5. Complete Example #
import 'package:flutter/material.dart';
import 'package:flutter_zoom_meeting_sdk/enums/status_zoom_error.dart';
import 'package:flutter_zoom_meeting_sdk/flutter_zoom_meeting_sdk.dart';
import 'package:flutter_zoom_meeting_sdk/models/zoom_meeting_sdk_request.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final FlutterZoomMeetingSdk _zoomSdk = FlutterZoomMeetingSdk();
@override
void dispose() {
_zoomSdk.unInitZoom();
super.dispose();
}
@override
Widget build(BuildContext context) {
_zoomSdk.initZoom();
_zoomSdk.authZoom(jwtToken: "<YOUR_JWT_TOKEN>");
_zoomSdk.onAuthenticationReturn.listen((event) {
if (event.params?.statusEnum == StatusZoomError.success) {
_zoomSdk.joinMeeting(
ZoomMeetingSdkRequest(
meetingNumber: '<YOUR_MEETING_NUMBER>',
password: '<YOUR_MEETING_PASSWORD>',
displayName: '<PARTICIPANT_NAME>',
),
);
}
});
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Flutter Zoom Meeting SDK Plugin')),
body: Center(),
),
);
}
}
SDK Authorization (JWT Token) #
Zoom Meeting SDK requires a valid JWT (JSON Web Token) for authentication before joining meetings. This section explains how to generate and use the token within your Flutter app.
1. How to Generate a JWT Token #
Zoom provides a sample JWT auth endpoint you can use to generate tokens securely:
- Clone the GitHub repo linked above.
- Set up and run the sample auth server locally or on your own backend.
- From your Flutter app, use the getJWTToken() method to request a token:
final result = await FlutterZoomMeetingSdk().getJWTToken(
authEndpoint: _authEndpoint,
meetingNumber: _meetingNumber,
role: _role, // 0: Participant, 1: Host / Co-Host
);
final signature = result?.token;
if (signature != null) {
print('Signature: $signature');
return signature;
} else {
throw Exception("Failed to get signature.");
}
âšī¸ For detailed information, refer to the official Meeting SDK authorization guide.
Example #
For a complete usage reference, see the full example code.
API Reference #
For a full list of available methods, event streams, and data models, refer to the API Reference.
Contributing #
Contributions are welcome! Feel free to open an issue or submit a pull request for improvements, bug fixes, or new features.
License #
MIT License â see LICENSE for details.