Swift
Running the App
Build and run from Xcode on a physical device or the Simulator.
- The Simulator uses a test video for publishing when no camera is available—remote subscription and stats still work.
- For realistic network metrics, prefer a physical device on Wi‑Fi or cellular.
Add a Second Participant
Observability on the subscriber needs a remote published stream. Use either:
- A second install on another device (same
kSessionIdand a valid token), or - The Vonage Video Playground
Join with the Playground
- Open Vonage Video Playground (sign in to your Vonage account if prompted).
- Select Join existing session.
- Paste the same session ID as
kSessionIdin your app. - Click Join Session, then Connect, then Publish Stream.
Your iOS app should receive streamCreated, show remote video, and update the stats overlay.
What to Look For
| Check | Expected result |
|---|---|
| Connection | Console shows session connected; local publisher view visible |
| Subscription | Remote video appears after streamCreated |
| Video stats | Overlay shows bytes/packets updating |
| Media link | Downlink bandwidth populates; remote uplink if Playground publishes with sender stats |
| Network event | Throttle network—networkConditionChanged may log with a new reason |
If remote uplink stays empty, the publishing client may not have enabled senderStatsTrack on its publisher.
Client Observability
Learn how to use client observability to monitor real-time quality metrics for a video call with Vonage Video SDK.
Steps
1
Introduction2
Getting Started3
Creating a New Project4
Adding the iOS SDK5
Setting Up Authentication6
Camera and Microphone Access7
Enable Sender Stats on the Publisher8
Subscribe and Register Observability Listeners9
Handle Video Stats10
Display Stats in the UI11
Running the App12
Conclusion