WebRTC.ventures has released an open-source Amazon IVS React Native SDK for real-time video on iOS and Android. With it, a React Native team can add WebRTC-based video calling and multi-participant live video to an app from one codebase.
AWS’s official React Native package covers playback of IVS channels. For real-time stages, teams have had to write and maintain their own native bridge on each platform. This SDK is that bridge: it wraps the native IVS Broadcast SDKs for iOS and Android and exposes them through typed JavaScript APIs and React hooks.
Amazon IVS is AWS’s managed live video service, built on the technology behind Twitch. Its Real-Time Streaming capability organizes each session into a stage: a room where a small group publishes audio and video and a larger audience subscribes.
Amazon IVS React Native SDK Features
The SDK gives your app what it needs to join a stage, send and receive video, and respond to the moments that come up in a real session, such as the app moving to the background or a participant token nearing expiry. On iOS and Android, it provides:
- Publishing local camera and microphone to a stage over WebRTC, and subscribing to remote participants
- Native video views for local and remote participants
- Typed APIs and React hooks
- Participant events: joins, leaves, and changes in what each participant publishes
- Per-participant subscription controls
- Media configuration
- Camera and microphone permission handling
- Audio routing
- App lifecycle handling for backgrounding and foregrounding
- APIs for renewing participant tokens during a session
All of this runs on native iOS and Android code, and video renders in native platform views. The example app runs one shared React Native UI on both platforms, so you can see the same call flow on each.
This is the first public release, and the SDK is continuously evolving. Screen sharing, call quality statistics and active speaker detection are on the roadmap. If your app depends on one of them, tell us! Customer needs will shape what comes next.
What you can build with the Amazon IVS React Native SDK
The SDK fits apps where up to 12 people are on camera at once and everyone else watches and listens in real time. Common examples:
- Telehealth visits, one-to-one or with a small care team
- Small group video calling: coaching, tutoring, support sessions
- Group calls that are also broadcast to a larger audience through other AWS media services
- Live shopping, auctions, fitness classes and webinars
Events with more than 25,000 viewers keep the hosts in a stage and send the audience a mixed stream through an IVS channel. The stage limits section below explains how.
Requirements for IVS Real-Time Streaming in React Native
The SDK covers IVS real-time stages on iOS and Android, with feature parity as a goal on both platforms. Low-latency channel broadcasting, channel playback and IVS Chat sit outside this package. For channel playback, AWS maintains the Amazon IVS React Native Player. Expo is unsupported for now: there is no config plugin, and the SDK has not been tested in Expo projects.
What you need
| Requirement | Detail |
| React Native | 0.81 or later, New Architecture enabled |
| iOS | 14 or later |
| Android | minSdk 28, compileSdk 36 |
| AWS account | IAM permissions to create and manage IVS Real-Time stages |
| Token service | A backend endpoint that mints participant tokens, for example API Gateway with a Lambda function that calls the IVS CreateParticipantToken API |
A team that already meets these requirements can have the example app running against its own stage within a day.
Amazon IVS stage limits: publishers and subscribers
AWS sets the limits. A stage allows 12 simultaneous publishers, a fixed limit. It allows 10,000 subscribers by default, and AWS will raise that to 25,000 on request through Service Quotas. Past that size, the usual pattern is IVS server-side composition: the stage is mixed into a single stream, sent to an IVS low-latency channel, and viewers watch through the IVS player. That pattern needs backend orchestration and a playback integration in the app. It needs no changes to this SDK.
How to add Amazon IVS real-time video to a React Native app
- Confirm your app runs React Native 0.81 or later with the New Architecture enabled. If your app is on the old architecture, upgrade it first.
- Install the package from GitHub.
- On iOS, add the vendored IVS podspec line to your Podfile:
pod 'AmazonIVSBroadcastStages', :podspec => '../node_modules/amazon-ivs-react-native-sdk/vendor/AmazonIVSBroadcastStages.podspec'
(AWS stopped distributing its IVS SDKs through CocoaPods with iOS SDK 1.39.0 in February 2026, sopod installcannot fetch the Stages framework from CocoaPods trunk without it.) - On Android, set
minSdkto 28 andcompileSdkto 36. - In your backend, create a stage with the IVS
CreateStageAPI and add an endpoint that callsCreateParticipantTokenfor each user, with the capabilities that user needs (publish, subscribe, or both). - In the app, request camera and microphone permissions, join the stage with the token, and render local and remote participants with the SDK’s video views and hooks.
- Schedule token renewal. Fetch a new token from your backend before the current one expires and pass it to the SDK’s renewal API. The SDK does not request new tokens on its own.
- Run the example app in the repo against your own stage before wiring the SDK into your product screens.
Taking your React Native video calling app to production
The SDK handles the media layer: publishing, subscribing and rendering video. Taking an app to production means adding the backend and app pieces around it. The table below lists each piece, where it runs, and how it is usually built on AWS.
| What to add | Where it lives | How it is usually built on AWS |
| Stage provisioning per room or event | Backend | IVS CreateStage and DeleteStage, tied to your scheduling or booking data |
| Token minting and renewal | Backend and app | CreateParticipantToken behind your own auth, plus a renewal timer in the app |
| Pre-join, call and leave screens | App | Device check, camera preview, mute controls |
| Participant layouts | App | Grid, spotlight, or presenter-plus-audience views built from the SDK’s video views |
| Recording | Backend | IVS individual participant recording or composite recording to Amazon S3 |
| Moderation | Backend | IVS DisconnectParticipant to remove a participant, plus your own rules for who can publish |
| Chat | Backend and app | Amazon IVS Chat or another chat service |
| Audiences above 25,000 | Backend and app | Server-side composition to an IVS channel, played back with the IVS player |
Our team can build these with you as part of an integration project. Tip 3 below covers what a first project includes, or contact us to scope yours.
Three tips for React Native live streaming with Amazon IVS
1. Run the example app before touching your own code
Create a stage in the IVS console, generate two participant tokens there, and join from two devices using the example app. This confirms your AWS permissions, the iOS Podfile setup and the Android SDK levels in under an hour. Problems found at this point are setup problems. Problems found after you have wired the SDK into your product screens could be in either place.
2. Check your audience size against stage limits before you design the UI
A stage holds 12 publishers and 10,000 subscribers by default. A telehealth visit or a coaching session fits easily. A live shopping event with 50,000 viewers needs composition to an IVS channel and a separate playback screen, and that changes the app’s screen flow and the backend. Decide which model you need first, and request a quota increase early if you plan to run between 10,000 and 25,000 subscribers.
3. Bring in the team that built the SDK
WebRTC.ventures wrote this SDK and works extensively with the IVS web SDK and the AWS backend APIs around it. A first integration project with us typically covers:
- The React Native 0.81 and New Architecture upgrade, if needed
- A token service in your backend, including renewal
- Stage provisioning per room or event
- Pre-join, call and leave screens with a participant layout
- Permissions, audio routing and app lifecycle handling
Contact WebRTC.ventures or head straight to the project on GitHub.

Further Reading:
- Migrating a Video Conferencing Application to Amazon IVS Real-Time Streaming
- Integrating Peermetrics Call Quality Monitoring with Amazon IVS Real-Time
- Integrating Live Streaming Experiences Using Amazon IVS
Amazon IVS React Native SDK FAQ
How many people can join an Amazon IVS stage?
A stage holds 12 publishers and 10,000 subscribers by default. AWS raises the subscriber limit to 25,000 per stage on request. Larger audiences watch through an IVS low-latency channel fed by server-side composition.
Does the SDK use WebRTC?
Yes. IVS Real-Time Streaming publishes and subscribes over WebRTC. The SDK wraps the native IVS Broadcast SDKs for iOS and Android, which manage those WebRTC connections.
Does it support IVS low-latency channels or chat?
The SDK covers real-time stages only. For channel playback in React Native, use the Amazon IVS React Native Player. For chat, use Amazon IVS Chat or another chat service.
What does it cost?
The SDK is free and open source. AWS bills IVS Real-Time Streaming usage to your AWS account; see the Amazon IVS pricing page.
Does the Amazon IVS React Native SDK work with Expo?
Expo is unsupported today. The SDK has no Expo config plugin and has not been tested in Expo projects. It runs in bare React Native apps on 0.81 or later with the New Architecture.
