Overview
The Bambuser React Native Commerce SDK (@bambuser/react-native-commerce-sdk) lets you embed live video shopping experiences in iOS and Android React Native apps with a single declarative component. It wraps Bambuser's native iOS and Android SDKs and exposes them through a React component plus an imperative ref-based API. No native code is required in your app.
1. Architecture
High-performance video SDKs for React Native are not ground-up rewrites in JavaScript. The Bambuser package follows the industry-standard pattern:
- Native Core: Native iOS (Swift) and Android (Kotlin / Jetpack Compose) SDKs handle decoding, rendering, DRM, and all real-time video work.
- Bridge Layer: Functionality is exposed to React Native through a native view component (
BambuserVideoView) and a small set of native modules.
Video frames, audio, and network I/O stay fully native. Only high-level commands (play, pause, invoke, notify) and lifecycle events cross the JS ↔ native boundary, so there is no performance cost over a pure native integration.
2. Feature Overview
| Feature | iOS | Android |
|---|---|---|
| Live video playback | ✅ | ✅ |
| Play / pause / mute / unmute | ✅ | ✅ |
invoke / notify (call into player & respond to callbacks) | ✅ | ✅ |
| Picture-in-Picture | ✅ | ✅ |
Player state events (onStatus, onProgress, onError) | ✅ | ✅ |
Custom events (onEvent) | ✅ | ✅ |
Thumbnail tap callback (onThumbnailTapped) | ✅ | – |
| Safe-area edge control | ✅ | ✅ |
Analytics tracking (BambuserSDK.track) | ✅ | ✅ |
v1 scope: live videos only. Shoppable / on-demand video is not included in this release.
3. Next Steps
- Installation: install the package and configure iOS / Android.
- Setup: mount
BambuserVideoViewand configure the player. - Player API: ref methods, lifecycle, Picture-in-Picture, and the
invoke/notifybridge. - Events: handle status, progress, errors, and custom player events.
- Tracking: send conversion and shopper events through
BambuserSDK.track. - Configuration and Functions: button, UI, and behavior configuration.
- Cart integration: sync the in-player cart with your native cart.
- Product hydration: supply product data at runtime.
- Product highlights: react to highlighted products and custom navigation.
- Add to wishlist: connect the player's wishlist UI to your app.
- Captions: show, hide, list, and select caption tracks.
- Audio Control: mute, unmute, and hide the volume button.
- Promoted Shows: show or hide the promoted shows carousel.