anthropics/knowledge-work-plugins

build-zoom-meeting-sdk-app

Reference skill for Zoom Meeting SDK.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill build-zoom-meeting-sdk-app

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

/build-zoom-meeting-sdk-app

Background reference for embedded Zoom meetings across web, mobile, desktop, and Linux bot environments. Prefer build-zoom-meeting-app or build-zoom-bot first, then route here for platform detail.

Zoom Meeting SDK

Embed the full Zoom meeting experience into web, mobile, desktop, and headless integrations.

Hard Routing Guardrail (Read First)

  • If the user asks to embed/join meetings inside their app UI, route to Meeting SDK implementation.
  • Do not switch to REST-only meeting link flow unless the user explicitly asks for meeting resource management or browser join_url links.
  • Meeting SDK join path requires SDK signature + SDK join call; REST join_url is not a Meeting SDK join payload.

Prerequisites

  • Zoom app with Meeting SDK credentials
  • SDK Key and Secret from Marketplace
  • Platform-specific development environment (Web, Android, iOS, macOS, Unreal, Electron, Linux, or Windows)
Need help with OAuth or signatures? See the [zoom-oauth](../oauth/SKILL.md) skill for authentication flows.
Need pre-join diagnostics on web? Use [probe-sdk](../probe-sdk/SKILL.md) before Meeting SDK init/join to gate low-readiness devices/networks.
Start troubleshooting fast: Use the [5-Minute Runbook](RUNBOOK.md) before deep debugging.

Quick Start (Web - Client View via CDN)

html
<script src="https://source.zoom.us/3.1.6/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/3.1.6/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/3.1.6/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/3.1.6/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/3.1.6/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/3.1.6/zoom-meeting-3.1.6.min.js"></script>

<script>
// CDN provides ZoomMtg (Client View - full page)
// For ZoomMtgEmbedded (Component View), use npm instead

ZoomMtg.preLoadWasm();
ZoomMtg.prepareWebSDK();

ZoomMtg.init({
  leaveUrl: window.location.href,
  patchJsMedia: true,
  disableCORP: !window.crossOriginIsolated,
  success: function() {
    ZoomMtg.join({
      sdkKey: 'YOUR_SDK_KEY',
      signature: 'YOUR_SIGNATURE',  // Generate server-side!
      meetingNumber: 'MEETING_NUMBER',
      userName: 'User Name',
      passWord: '',  // Note: camelCase with capital W
      success: function(res) { console.log('Joined'); },
      error: function(err) { console.error(err); }
    });
  },
  error: function(err) { console.error(err); }
});
</script>

Critical Notes (Web)

1. CDN vs npm - Different APIs!

DistributionGlobal ObjectView TypeAPI Style
CDN (zoom-meeting-{ver}.min.js)ZoomMtgClient View (full-page)Callbacks
npm (@zoom/meetingsdk)ZoomMtgEmbeddedComponent View (embeddable)Promises

2. Backend Required for Production

Never expose SDK Secret in client code. Generate signatures server-side:

javascript
// server.js (Node.js example)
const KJUR = require('jsrsasign');

app.post('/api/signature', (req, res) => {
  const { meetingNumber, role } = req.body;
  const iat = Math.floor(Date.now() / 1000) - 30;
  const exp = iat + 60 * 60 * 2;
  
  const header = { alg: 'HS256', typ: 'JWT' };
  const payload = {
    sdkKey: process.env.ZOOM_SDK_KEY,
    mn: String(meetingNumber).replace(/\D/g, ''),
    role: parseInt(role, 10),
    iat, exp, tokenExp: exp
  };
  
  const signature = KJUR.jws.JWS.sign('HS256',
    JSON.stringify(header),
    JSON.stringify(payload),
    process.env.ZOOM_SDK_SECRET
  );
  
  res.json({ signature, sdkKey: process.env.ZOOM_SDK_KEY });
});

3. CSS Conflicts - Avoid Global Resets

Global * { margin: 0; } breaks Zoom's UI. Scope your styles:

css
/* BAD */
* { margin: 0; padding: 0; }

/* GOOD */
.your-app, .your-app * { box-sizing: border-box; }

4. Client View Toolbar Cropping Fix

If toolbar falls off screen, scale down the Zoom UI:

css
#zmmtg-root {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  /* Critical for SPAs (React/Next/etc): ensure Zoom UI isn't behind your app shell/overlays. */
  z-index: 9999 !important;
  transform: scale(0.95) !important;
  transform-origin: top center !important;
}

5. Hide Your App When Meeting Starts

Client View takes over full page. Hide your UI:

javascript
// In ZoomMtg.init success callback:
document.documentElement.classList.add('meeting-active');
document.body.classList.add('meeting-active');
css
body.meeting-active .your-app { display: none !important; }
body.meeting-active { background: #000 !important; }

UI Options (Web)

Meeting SDK provides Zoom's UI with customization options:

ViewDescription
Component ViewExtractable, customizable UI - embed meeting in a div
Client ViewFull-page Zoom UI experience

Note: Unlike Video SDK where you build the UI from scratch, Meeting SDK uses Zoom's UI as the base with customization on top.

Key Concepts

ConceptDescription
SDK Key/SecretCredentials from Marketplace
SignatureJWT signed with SDK Secret
Component ViewExtractable, customizable UI (Web)
Client ViewFull-page Zoom UI (Web)

Detailed References

Platform Guides

  • [android/SKILL.md](android/SKILL.md) - Android SDK (default/custom UI, join/start/auth lifecycle, mobile integration)
  • [android/references/android-reference-map.md](android/references/android-reference-map.md) - Android API surface map and drift watchpoints
  • [ios/SKILL.md](ios/SKILL.md) - iOS SDK (default/custom UI, join/start/auth lifecycle, mobile integration)
  • [ios/references/ios-reference-map.md](ios/references/ios-reference-map.md) - iOS API surface map and drift watchpoints
  • [macos/SKILL.md](macos/SKILL.md) - macOS SDK (desktop default/custom UI, service controllers, host flows)
  • [macos/references/macos-reference-map.md](macos/references/macos-reference-map.md) - macOS API surface map and drift watchpoints
  • [unreal/SKILL.md](unreal/SKILL.md) - Unreal Engine wrapper (C++/Blueprint wrapper behavior and SDK mapping)
  • [unreal/references/unreal-reference-map.md](unreal/references/unreal-reference-map.md) - Unreal wrapper reference map and version-lag notes
  • [references/android.md](references/android.md) - Android pointer doc for fast routing from broad Meeting SDK queries
  • [references/ios.md](references/ios.md) - iOS pointer doc for fast routing from broad Meeting SDK queries
  • [references/macos.md](references/macos.md) - macOS pointer doc for fast routing from broad Meeting SDK queries
  • [references/unreal.md](references/unreal.md) - Unreal pointer doc for fast routing from broad Meeting SDK queries
  • [linux/SKILL.md](linux/SKILL.md) - Linux SDK headless bot skill entrypoint
  • [linux/linux.md](linux/linux.md) - Linux SDK (C++ headless bots, raw media access)
  • [linux/references/linux-reference.md](linux/references/linux-reference.md) - Linux dependencies, Docker, troubleshooting
  • [react-native/SKILL.md](react-native/SKILL.md) - React Native SDK (iOS/Android wrapper, join/start flows, bridge setup)
  • [react-native/SKILL.md](react-native/SKILL.md) - React Native complete navigation
  • [electron/SKILL.md](electron/SKILL.md) - Electron SDK (desktop wrapper, auth/join flows, module controllers, raw data)
  • [electron/SKILL.md](electron/SKILL.md) - Electron complete navigation
  • [windows/SKILL.md](windows/SKILL.md) - Windows SDK (C++ desktop applications, raw media access)
  • [windows/references/windows-reference.md](windows/references/windows-reference.md) - Windows dependencies, Visual Studio setup, troubleshooting
  • [web/references/web.md](web/references/web.md) - Web SDK (Component + Client View)
  • [web/references/web-tracking-id.md](web/references/web-tracking-id.md) - Tracking ID configuration

Features

  • [references/authorization.md](references/authorization.md) - SDK JWT generation
  • [references/bot-authentication.md](references/bot-authentication.md) - ZAK vs OBF vs JWT tokens for bots
  • [references/breakout-rooms.md](references/breakout-rooms.md) - Programmatic breakout room management
  • [references/ai-companion.md](references/ai-companion.md) - AI Companion controls in meetings
  • [references/webinars.md](references/webinars.md) - Webinar SDK features
  • [references/forum-top-questions.md](references/forum-top-questions.md) - Common forum question patterns (what to cover)
  • [references/triage-intake.md](references/triage-intake.md) - What to ask first (turn vague reports into answers)
  • [references/signature-playbook.md](references/signature-playbook.md) - Signature/root-cause playbook
  • [references/multiple-meetings.md](references/multiple-meetings.md) - Joining multiple meetings / multiple instances
  • [references/troubleshooting.md](references/troubleshooting.md) - Common issues and solutions

Sample Repositories

Official (by Zoom)

Full list: See general/references/community-repos.md

Resources

  • Official docs: https://developers.zoom.us/docs/meeting-sdk/
  • Developer forum: https://devforum.zoom.us/

Environment Variables

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills
anthropics
공식

testing-strategy

Design test strategies and test plans. Trigger with "how should we test", "test strategy for", "write tests for", "test plan", "what tests do we need", or when the user needs help with testing approaches, coverage, or test architecture.

1시간 설치 수
1
GitHub Stars
3.4만
업데이트
10월 31일
anthropics
공식

create-viz

Create publication-quality visualizations with Python. Use when turning query results or a DataFrame into a chart, selecting the right chart type for a trend or comparison, generating a plot for a report or presentation, or needing an interactive chart with hover and zoom.

1시간 설치 수
4
GitHub Stars
3.4만
업데이트
10월 29일
anthropics
공식

data-visualization

Create effective data visualizations with Python (matplotlib, seaborn, plotly). Use when building charts, choosing the right chart type for a dataset, creating publication-quality figures, or applying design principles like accessibility and color theory.

1시간 설치 수
6
GitHub Stars
3.4만
업데이트
10월 29일
anthropics
공식

brand-review

Review content against your brand voice, style guide, and messaging pillars, flagging deviations by severity with specific before/after fixes. Use when checking a draft before it ships, when auditing copy for voice consistency and terminology, or when screening for unsubstantiated claims, missing disclaimers, and other legal flags.

1시간 설치 수
2
GitHub Stars
3.3만
업데이트
10월 24일