npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@zoom/appssdk

v0.16.23

Published

Zoom Apps SDK

Downloads

97,619

Readme

Zoom Apps SDK

The Zoom Apps SDK is a JavaScript library that facilitates communication between your Zoom App and the Zoom client. The SDK allows you to take advantage of the many APIs and events Zoom exposes in its embedded browser.

Installation

There are two ways to install the Zoom Apps SDK into your frontend project

NPM

You can install it from NPM, if you are using a module bundler such as Webpack:

$ npm install @zoom/appssdk

CDN

Alternatively, you can load the SDK from a CDN, using a script tag in your HTML document:

<script src="https://appssdk.zoom.us/sdk.js"></script>

You can also load a minified SDK, using a script tag in your HTML document:

<script src="https://appssdk.zoom.us/sdk.min.js"></script>

Usage

If you installed Zoom Apps SDK from NPM, import zoomSdk into the component where you wanted to use the SDK and call config as your first call to verify your application with Zoom.

import zoomSdk from "@zoom/appssdk"

async function configureApp() {
  const configResponse = await zoomSdk.config({
    popoutSize: {width: 480, height: 360},
    capabilities: ["shareApp"]
  })
}

When you load the SDK using a script tag, zoomSDK is served as a global object and can be called across components. Even in this case zoomSdk.config should be the first call.

<script src="https://appssdk.zoom.us/sdk.js"></script>

async function configureApp() {
  const configResponse = await zoomSdk.config({
    version: "0.16",
    popoutSize: {width: 480, height: 360},
    capabilities: ["shareApp"]
  })
}

The cloud SDK is designed to provide on-demand patch updates, and it does not support exact versions. You will always get the latest patch version within the major version specified in the version parameter of zoomSdk.config. In other words, if you supplied an exact version like 0.16.1, you will get the latest patch within the 0.16 major version.

zoomSdk.config response object. Read more about zoomSdk.config

{
  "clientVersion": "5.11.1.8356",
  "browserVersion": "applewebkit/17613.2.7.1.8",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)",
  "auth": {
    "status": "authorized",
    "upgradable": true
  },
  "unsupportedApis": [],
  "runningContext": "inMainClient"
}

Role and running context change

Listen to zoomSdk.onMyUserContextChange and zoomSdk.onRunningContextChange events for role and running context changes respectively. zoomSdk.config needs to be called again to update API permissions.

Note

  • Zoom Desktop Client is a native application. Depending on the Zoom Desktop Client version a user has installed, they might have access to different Zoom Apps APIs and events. With the cloud version of the SDK, you automatically get the latest patches as we release new client versions, and your apps avoid potential breaks due to missing patches.

  • When using SDK via npm, check for updates in our monthly release of Zoom Desktop Client. You must manually update your app when needed to the latest SDK to maintain compatibility with newer client versions.

  • The SDK module installed via npm includes the sdk.d.ts file which provides type definitions for sdk.es.js and sdk.module.js. The cloud-based SDK does not provide this file.

How do compatibility patches work?

This is an example of how compatibility patches delivered via cloud-based SDK help your app run on the latest client versions.

Note: This example is only for illustrating the concept, and does not imply Zoom is planning to change the sendAppInvitation API schema.

Example: Your app is developed against the 3.4.0 client version and uses the sendAppInvitation API.

Client version 3.4.0. The sendAppInvitation API schema is

sendAppInvitation ({ participantUUIDs: [participantUUID1, participantUUID2, ...], })

Client version 4.0.0 introduces a breaking change to the sendAppInvitation API that requires one additional parameter message to customize your invitation. The new API schema is

sendAppInvitation ({ participantUUIDs: [participantUUID1, participantUUID2, ...],  message: "This app is awesome, try it!"})

Apps based on the client version 3.4.0 will break when used on the 4.0.0 client because the client is expecting the message parameter as part of the API call. Whereas, when you use the cloud-based SDK, the compatibility patch can accept your API request and transform it internally to use a default value for the message parameter.

Original call from app to SDK

sendAppInvitation ({ participantUUIDs: [participantUUID1, participantUUID2, ...], })

SDK transforms the call internally to

sendAppInvitation ({ participantUUIDs: [participantUUID1, participantUUID2, ...], message: ""})

Documentation

Refer to Apps SDK documentation here.

Release notes

Refer to release notes to discover changes made in the Apps SDK.

Resources to create a Zoom App

Need help?