BiddingStack Video Player React Native Integration Guide
Play BiddingStack video, either single videos or playlists, in your React Native (Expo) app with the BSVideoPlayerView component, including ads and fullscreen out of the box.
| Component | Minimum Version |
|---|---|
| Expo SDK | 50+ (New Architecture enabled) |
| iOS Deployment Target | 14.0+ |
| Android minSdkVersion | 24+ |
Note: The video player requires an internet connection.
The biddingstack-react-native-video-player package is distributed privately while in early access. Contact the BiddingStack team to get the SDK package.
expo-build-properties in app.json:{
"expo": {
"plugins": [
["expo-build-properties", { "ios": { "deploymentTarget": "14.0" } }]
]
}
}
If you use pnpm, add node-linker=hoisted to your app's .npmrc.
Rebuild the native projects:
npx expo prebuild --clean
Memoize the options object and give the view an explicit size:
import { BSVideoPlayerView, BSVideoPlayerViewRef } from 'biddingstack-react-native-video-player'
function VideoScreen() {
const ref = React.useRef<BSVideoPlayerViewRef>(null)
const options = React.useMemo(() => ({
pubId: 'YOUR_PUBLISHER_ID',
videoId: 'YOUR_VIDEO_ID',
}), [])
return <BSVideoPlayerView ref={ref} options={options} style={{ aspectRatio: 16 / 9 }} />
}
| Field | Type | Default | Description |
|---|---|---|---|
pubId | string | required | Your BiddingStack publisher ID |
videoId | string? | - | Single-video mode; ignored when playlistId is set |
playlistId | string? | - | Playlist mode; takes precedence over videoId |
Important: Always wrap
optionsinuseMemo; a new object identity recreates the player.
The Video ID and Playlist ID identify content hosted on SyncCMS. A SyncCMS account is required to upload and manage videos and playlists; copy the IDs from the SyncCMS UI.