File: C:/Users/fred/.codex/.tmp/plugins/plugins/zoom/skills/meeting-sdk/references/forum-top-questions.md
---
title: "Forum-Derived Top Questions (Meeting SDK)"
---
# Forum-Derived Top Questions (Meeting SDK)
Use this as a high-signal checklist of what developers repeatedly ask about the **Zoom Meeting SDK** (Web, Mobile, Desktop, Linux).
## Fast Routing Questions (Ask First)
- Platform: **Web** vs **Android/iOS** vs **Windows/macOS** vs **Linux headless**
- Web integration: **Client View (CDN + `ZoomMtg`)** vs **Component View (npm + `ZoomMtgEmbedded`)**
- Join type: **join** as participant vs **start** as host
- Auth inputs you have: `sdkKey`, `sdkSecret` (server only), `meetingNumber`, `role`, `zak` (if starting as host), `passcode`
- Exact error: full error code/message + SDK version
## Signatures (Most Common Root Cause)
- **Generate signature server-side only** (never expose SDK Secret in browser/mobile client code).
- Use the right payload fields:
- `sdkKey`, `mn` (meeting number), `role`, `iat`, `exp`, `tokenExp`
- Typical mistakes:
- Wrong meeting number format (non-digits; strip formatting)
- `exp` too long/short, or client/server clock skew
- Mixing Meeting SDK signature with REST API OAuth/JWT app-type tokens (different things)
## Web SDK: Client View vs Component View Confusion
- **Client View (CDN)** uses `ZoomMtg.*` callback style.
- **Component View (npm)** uses `ZoomMtgEmbedded.createClient()` with promise-based APIs.
- When a question is about “hide UI”, “toolbar”, “meeting info”, first confirm which view they are using:
- Some UI changes are only possible in **one** of the views, or not supported at all.
## “Hide Meeting Password / Invite URL / Meeting Info”
Common ask: “How do I hide passcode / meeting info / invite URL in Meeting SDK?”
What to cover in answers:
- What’s supported by the SDK (official flags/APIs) vs what is not.
- If the goal is “don’t leak passcode”, the most reliable approach is usually:
- Use meeting settings that reduce exposure (and avoid displaying it in your own UI)
- Don’t log it client-side
- Don’t render invite UI if you control that surface (Component View)
## Join Failures and Timeouts (Web)
Common asks:
- “Join meeting failed”
- “Joining meeting timeout”
- “Browser doesn’t support gallery view”
Checklist:
- Confirm `crossOriginIsolated` / SharedArrayBuffer requirements (if using features that need it)
- Confirm HTTPS + correct COOP/COEP headers (when required)
- Confirm ad blockers / CSP / corporate proxies aren’t blocking Zoom assets
- Confirm correct `passWord` casing (Web Client View uses `passWord`)
## Captions / Transcript UI
Common asks:
- Enabling captions
- Hiding captions but transcript still shows
Answer pattern:
- Separate “what the host/account policy controls” from “what SDK UI controls”
- Call out constraints: some transcript/caption behaviors are server-side policy and not fully suppressible from SDK UI alone
## Waiting Room and Admission Flow
Common asks:
- Enabling/disabling waiting room
- Notifications and UI behavior
Answer pattern:
- Distinguish Meeting settings (host/account) vs SDK client behavior
- If the goal is “auto-admit” or “control admission”, you likely need the host controls (and sometimes REST API) rather than just SDK UI changes
## Raw Data / Raw Recording
Common asks:
- Start raw recording fails (permissions)
- Raw data availability varies by platform
Answer pattern:
- Always ask platform + SDK variant and whether they’re using supported raw-data APIs for that platform
- If it’s permission-related:
- confirm required entitlements/features
- confirm app permissions / OS permissions
## Performance: “Save CPU”, Gallery View, Low-End Devices
Common asks:
- Gallery view availability
- High CPU usage
Checklist:
- Reduce subscribed video streams / lower quality where supported
- Ensure you’re not rendering unnecessary DOM/video elements (Component View)
- Confirm the device/browser constraints (some behavior is expected)