Flutter Zoom Meeting Wrapper

Introduction

In today’s connected world, video conferencing has become an essential part of our daily lives. As mobile app developers, integrating reliable video conferencing capabilities can significantly enhance the user experience of your applications.

TheĀ Flutter Zoom Meeting WrapperĀ is a powerful Flutter plugin that allows you to seamlessly integrate the Zoom Meeting SDK into your Flutter applications. This means your users can join and participate in Zoom meetings directly within your app without ever needing to switch to the Zoom application.

Key Features

This plugin offers a range of capabilities to enhance your Flutter application:

  • šŸš€Ā Seamless Integration: Easy integration with the Zoom Meeting SDK
  • šŸ”„Ā Simple Initialization: Initialize the SDK using a JWT token
  • šŸŽÆĀ In-App Experience: Join meetings directly within your app (no Zoom app required)
  • šŸ“±Ā Platform Support: Complete Android platform compatibility
  • šŸ”ŠĀ Rich Meeting Experience: Full audio and video meeting functionality
  • šŸ”Ā Secure Authentication: Robust security through JWT authentication flow

Getting Started

Installation

To begin using the Flutter Zoom Meeting Wrapper in your project, add the following to yourĀ pubspec.yamlĀ file:

dependencies:
  flutter_zoom_meeting_wrapper: ^0.0.1

RunĀ flutter pub getĀ to install the package.

Mandatory Zoom SDK Setup

For the plugin to function correctly, you need to set up the Zoom SDK:

  1. Download the Zoom SDK ZIP fromĀ this link
  2. Extract the ZIP file after downloading
  3. 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/

Note: ReplaceĀ 0.0.1Ā with the version you’re using, if different.

4. Alternatively, 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.

Setting Up Zoom API Credentials

To use the Zoom Meeting SDK in your application, you’ll need to:

  1. Create a Zoom Developer Account atĀ Zoom Marketplace
  2. Create a new app in the Zoom Marketplace
  3. Obtain your API Key and API Secret from the app credentials page
  4. Use these credentials to generate your JWT token

Generating a JWT Token

You can generate a Zoom JWT token usingĀ jwt.ioĀ with the following payload and signature:

Payload:

json{
  "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"
)

Implementation Guide

Initializing 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);

Joining a Meeting

Once initialized, you can join a Zoom meeting with this simple code:

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

Troubleshooting Common Issues

When implementing the Flutter Zoom Meeting Wrapper, you might encounter these common issues:

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

Current Limitations

While the Flutter Zoom Meeting Wrapper provides powerful functionality, be aware of these current limitations:

  • šŸ–¼ļø Custom UI overlays are not supported in the current version
  • šŸ“¹ Meeting recording functionality is not available in this plugin
  • šŸ–„ļø Screen sharing capabilities are limited to platform capabilities

Conclusion

The Flutter Zoom Meeting Wrapper offers a straightforward way to integrate Zoom’s powerful meeting capabilities into your Flutter applications. With minimal setup and easy-to-use API, you can enhance your app with professional video conferencing features.

By providing users with the ability to join meetings without leaving your app, you create a more seamless and integrated experience that keeps users engaged with your application.