/zoom-sdk-android

Zoom Android SDK

Primary LanguageJavaOtherNOASSERTION

Zoom Android Software Development Kit (SDK)

Table of Contents

Latest SDK News

  1. Starting from Client SDK 5.0, if you are using tokens to start a meeting, you will only need to retrieve ZAK from Zoom API. The user token has been deprecated.
  2. To follow with Zoom client's recent changes, Zoom SDK has temporary remove the "Unmute All" interface in Client SDK 5.0.
  3. To align with Zoom’s recent announcement pertaining to our security initiative, Zoom Client SDKs have added AES 256-bit GCM encryption support, which provides more protection for meeting data and greater resistance to tampering. The system-wide account enablement of AES 256-bit GCM encryption will take place on June 01. You are strongly recommended to start the required upgrade to this latest version 4.6.21666.0429 at your earliest convenience. Please note that any Client SDK versions below 4.6.21666.0429 will no longer be operational from June 01.
  4. πŸ”΄ Non-AndroidX Version (EOL: 01/01/2020) Per Google's suggestions and guidance, we have upgraded our regular Android SDK to support AndroidX. We used to offer a non-AndroidX version to help you migrate to the AndroidX project. However, the previous non-AndroidX version has reached its End-of-Life (01/01/20). Please plan to upgrade your Android project to AndroidX to use the latest Android SDK

Full Documentation && Community Support

You can find the full Zoom Android SDK documentation and the community support forum here:

What is Zoom Android SDK?

Zoom SDK makes it easy to integrate Zoom with your Android applications, and boosts up your applications with the power of Zoom.

  • Easy to use: Our SDK is built to be easy to use. Just import the libraries, call a few functions, and we will take care all video conferencing related stuffs for you.
  • Localizable: Our SDK naturally supports 7 major languages, and you can add more to grow your applications internationally.
  • Custom Meeting UI: If you want to add your own decorations to your Zoom meeting rooms, try our Custom UI feature to make your meeting room special.

Disclaimer

Please be aware that all hard-coded variables and constants shown in the documentation and in the demo, such as Zoom Token, Zoom Access, Token, etc., are ONLY FOR DEMO AND TESTING PURPOSES. We STRONGLY DISCOURAGE the way of HARDCODING any Zoom Credentials (username, password, API Keys & secrets, SDK keys & secrets, etc.) or any Personal Identifiable Information (PII) inside your application. WE DON’T MAKE ANY COMMITMENTS ABOUT ANY LOSS CAUSED BY HARD-CODING CREDENTIALS OR SENSITIVE INFORMATION INSIDE YOUR APP WHEN DEVELOPING WITH OUR SDK.

Getting Started

The following instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Before you try out our SDK, you would need the following to get started:

  • A Zoom Account: If you do not have one, you can sign up at https://zoom.us/signup.
  • An Android device:
    • OS: Android 5.0 (API Level 21) or later.
    • CPU: armeabi-v7a, x86, armeabi, arm64-v8a, x86_64
  • Android Project:
    • Support AndroidX
  • Gradle settings:
    • compileSdkVersion: 29+
    • buildToolsVersion: 29+
    • minSdkVersion: 21
    • Required dependencies
    implementation 'androidx.multidex:multidex:2.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.0.0-rc01'
    

Installing

Clone or download a copy of our SDK files from GitHub. After you unzipped the file, you should have the following folders:

.
β”œβ”€β”€ CHANGELOG.md
β”œβ”€β”€ LICENSE.md
β”œβ”€β”€ README.md
β”œβ”€β”€ docs
β”œβ”€β”€ [mobilertc-android-studio] <- Libraries and examples are inside.
β”œβ”€β”€ proguard.cfg
└── version.txt

Launch your Android Studio, navigate to the "mobilerte-android-studio" folder, and open it.

Once the project is fully loaded, you will see the following structure:

.
β”œβ”€β”€ build.gradle
β”œβ”€β”€ commonlib
β”œβ”€β”€ example2
β”œβ”€β”€ gradle
β”œβ”€β”€ gradlew
β”œβ”€β”€ gradlew.bat
β”œβ”€β”€ mobilertc
β”œβ”€β”€ sample
└── settings.gradle

We provide 2 different examples for you:

  • sample: An Android app that has all basic features for both login users and non-login users.
  • example2: An Android app that shows how to join meeting without any login credentials.

In sample app, we provide detailed examples of how to implement each feature, which could be very helpful when you are integrating Zoom SDK into your app. Here are the categories of the code sample that we offer

.
β”œβ”€β”€ initsdk
β”œβ”€β”€ inmeetingfunction
β”‚   β”œβ”€β”€ customizedmeetingui
β”‚   β”‚   β”œβ”€β”€ audio
β”‚   β”‚   β”œβ”€β”€ other
β”‚   β”‚   β”œβ”€β”€ remotecontrol
β”‚   β”‚   β”œβ”€β”€ share
β”‚   β”‚   β”œβ”€β”€ user
β”‚   β”‚   β”œβ”€β”€ video
β”‚   β”‚   └── view
β”‚   β”‚       β”œβ”€β”€ adapter
β”‚   β”‚       └── share
β”‚   └── zoommeetingui
β”œβ”€β”€ otherfeatures
β”‚   └── scheduleforloginuser
β”œβ”€β”€ startjoinmeeting
β”‚   β”œβ”€β”€ apiuser
β”‚   β”œβ”€β”€ emailloginuser
β”‚   β”œβ”€β”€ joinmeetingonly
β”‚   └── ssologinuser
└── ui

Running the examples

Connect your Android device to your computer and simply press "Run" on selected example, the example will run on your device.

Documentation

Please visit [https://marketplace.zoom.us/docs/sdk/native-sdks/android] for details of each features and functions.

Navigating SDK sample files

The following table provides the link to the implementation of each features in our demo app:

UI mode Feature Corresponding sample files
Essential features SDK Initialization & Authentication * InitAuthSDKHelper.java
* InitAuthSDKCallback.java
Authenticate with Zoom REST API and start a meeting as API user * ApiUserStartMeetingHelper.java
* APIUserInfoHelper.java
* APIUserInfo.java
* APIUserConstants.java
Login with email & password * EmailUserLoginHelper.java
* UserLoginCallback.java
Login with SSO token * SSOlUserLoginHelper.java
* UserLoginCallback.java
Start an instant meeting(For Logged-in user) * EmailLoginUserStartMeetingHelper.java
* SSOLoginUserStartMeetingHelper.java
Join a meeting * JoinMeetingHelper.java
Schedule a meeting (For logged-in user) * ScheduleMeetingExampleActivity.java
* PreMeetingExampleActivity.java
Settings * MeetingSettingActivity.java
* ZoomMeetingUISettingHelper.java
Invitation * MyInviteActivity.java
* MyInviteContentGenerator.java
Custom UI Basic UI management * MyMeetingActivity.java
* SimpleInMeetingListener.java
Video/Share View * MeetingWindowHelper.java
* MeetingOptionBar.java
* VideoListLayout.java
* AttenderVideoAdapter.java
* ToolbarDragView.java
* RCMouseView.java
* RCFloatView.java
* CustomShareView.java
* AnnotateToolbar.java
Basic callback * MeetingCommonCallback.java
Audio * MeetingAudioHelper.java
* MeetingAudioCallback.java
Video * MeetingVideoHelper.java
* MeetingVideoCallback.java
User * MeetingUserCallback.java
Share * MeetingShareHelper.java
* MeetingShareCallback.java
Remote Control * MeetingRemoteControlHelper.java

SDK Reference

You may find the SDK interface reference at https://marketplace.zoom.us/docs/sdk/native-sdks/android/sdk-reference. If you would like to get a local copy of the SDK reference, you may download it here.

Versioning

For the versions available, see the tags on this repository.

Change log

Please refer to our CHANGELOG for all changes.

Frequently Asked Questions (FAQ)

  • 1️⃣ Emulator is not working:
    • SDK releases before v4.3.53571.0118 only supports emulators with ABI arm series(armeabi-v7a, arm64-v8a). Starting from v4.3.53571.0118, both arm series(armeabi-v7a, arm64-v8a) and x86 ABI are supported.
  • 2️⃣ java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/fragment/app/FragmentActivity:
    • The Zoom SDK has adapted AndroidX since the release v4.4.55130.0712, if you have not migrated your project to be a AndroidX project, you will receive the above error message. Upgrading your Android project to be a AndroidX project will fix this issue.
  • Not finding what you want? We are here to help! Please visit our Zoom Developer Community Forum for further assistance.

Support

For any issues regarding our SDK, please visit our new Community Support Forum at https://devforum.zoom.us/.

License

Please refer to LICENSE.md file for details

Acknowledgments

  • ⭐ If you like our SDK, please give us a "Star". Your support is what keeps us moving forward and delivering happiness to you! Thanks a million! πŸ˜ƒ
  • If you need any support or assistance, we are here to help you: Zoom Developer Community Forum;

Copyright Β©2020 Zoom Video Communications, Inc. All rights reserved.