# Lifecycle Workflow Recommended runtime flow: 1. App bootstraps and wraps tree with `ZoomSDKProvider`. 2. `initSDK` runs once with `jwtToken`, `domain`, logging options. 3. App checks `isInitialized()` before meeting actions. 4. User chooses: - `joinMeeting` (participant) - `startMeeting` (host, with ZAK) 5. Native Meeting SDK UI/session runs. 6. Call `cleanup()` on app shutdown/logout. ```text React UI -> ZoomSDKProvider -> JS Wrapper (ZoomSDK.ts) -> Native Bridge (RNZoomSDK) -> iOS MobileRTC / Android ZoomSDK ``` If initialization/auth fails, stop and rotate token before retrying.