What are Channels?
Blue Billywig Channels lets you create a fully branded, standalone video experience — your own streaming portal. Channels combines your video content into a single, customizable destination with swim lanes, grids, carousels, search, detail pages, and more.
Key Features
- Branded video hub — customize colors, fonts, logos, and layout to match your brand
- Multiple layout types — sliders, carousels, grids, and featured headers
- Search — built-in search across all channel content
- Detail pages — dedicated landing pages per video with related content
- Playlists & clips — organize content into playlists or feature individual clips
- Responsive — works across desktop, tablet, and mobile browsers
- Monetization — full ad support (VAST, VPAID, Google IMA)
- Analytics — built-in viewing statistics and event tracking
- Deep linking — link directly to specific videos within a channel
How It Works
A channel is configured in the Blue Billywig Online Video Platform (OVP). You select content (clips, playlists, projects), choose a layout, and customize the appearance. The platform generates a channel that can be:
- Embedded on your website using JavaScript or iframe embed codes
- Embedded in a mobile app using the React Native, SwiftUI, or Compose Channel SDK
- Accessed as a standalone page via a direct URL
Channel URL Format
Every channel has a unique URL:
https://{publication}.bbvms.com/ch/{channelId}
For example: https://demo.bbvms.com/ch/1152
Platform Support
| Platform | Method | Documentation |
|---|---|---|
| Web (any website) | JavaScript embed or iframe | Support site |
| React Native app | @bluebillywig/react-native-channel | React Native SDK |
| SwiftUI app (iOS) | BBChannelSDK via SPM | SwiftUI SDK |
| Compose app (Android) | com.bluebillywig:channel-compose | Compose SDK |
Web vs. Native App Differences
The channel layout, theming, and content are identical on web and in native apps. However, several areas behave differently.
Player Block
On web, the player block at the top of the channel uses the Blue Billywig web player. Controls, quality switching, and ads all run in the browser.
In native apps, video playback uses the platform's native player (the Blue Billywig native player) for hardware-accelerated performance. The channel handles content selection — when the user taps a video, it loads in the native player.
Detail Pages
On web, navigating to a detail page transitions within the same page. The URL updates to reflect the current state.
In native apps, the visual transition is the same. The app receives onNavigate callbacks and can persist or restore state programmatically via initialNavigationState.
Fullscreen Video
On web, fullscreen uses the browser Fullscreen API — the video element expands to fill the browser window.
In native apps, fullscreen is a native modal overlay with native controls, rotation handling, and gesture dismissal. In playerMode="fullscreen", tapping any video opens this modal directly instead of playing inline.
External Links & Promotional Blocks
On web, clicking an external link (e.g., a promotional banner) opens the URL in the browser.
In native apps, external links are delivered to the app via the onExternalLink callback. The app decides how to open them (in-app browser, system browser, deep link, etc.).
Navigation & Back Button
On web, browser back/forward buttons work as expected.
In native apps, navigation is managed by the SDK. On Android, the hardware back button is supported via handleBackButton={true}. On iOS, the channel shows a back arrow in the header on detail/overview pages.
Chromecast
On web, Chromecast is only available in Chrome via built-in browser Cast support.
In native apps, Chromecast uses the native Google Cast SDK. A dedicated cast button (BBCastButton) and mini controller (BBCastMiniControls) can be added. When a cast session is active, playback is automatically routed to the Cast device without user dialogs.
Search
Search works identically on web and native — same search bar, results, and highlighting.
Ads
Ad playback (VAST, VPAID, Google IMA) works on both web and native.
Layout & Safe Areas
The channel layout is responsive and adapts to the available width on both web and native.
In native apps, safe area insets for notches, status bars, and home indicators are handled via the safeAreaEdges prop.
Not Available in Native Apps
- Interactive video — interactive overlays and branching are web-only
Only Available in Native Apps
- Native video player — Blue Billywig native player (iOS & Android)
- Chromecast via Google Cast SDK — works in any app, not limited to Chrome
- Background audio — playback continues when the app is backgrounded
- Picture-in-Picture — OS-level PiP window
- Native DRM — FairPlay (iOS), Widevine L1 (Android)
- Analytics forwarding —
onAnalyticsEventcallback for custom pipelines
Channel Elements
Channels are built from four element types:
Header
A logo image and/or title text displayed at the top of the channel.
Video Player
An inline video player showing a clip, playlist, or project. Only one player element per channel. Options include:
- Show/hide title and description
- Playlist display position (right of player or below)
- Content presentation mode (inline player, deep link, or detail page)
Playlist
A collection of videos displayed as a slider, carousel, or grid. Multiple playlist elements can be added. Options include:
- Slider, carousel, or grid layout
- Customizable thumbnail aspect ratios (16:9, 9:16, 1:1, 4:3, 3:2, 21:9, 4:5)
- Show/hide video titles
Featured Block
A large hero-style element with a custom image (recommended 1600×600px), title, and a single featured video.
Configuration
Channels are configured in the Blue Billywig OVP under Content Management > Channels. See Creating & Configuring Channels for a full guide covering all settings, element types, and layout options.
Next Steps
- Creating & Configuring Channels — set up a channel in the OVP
- Embed in a React Native app
- Embed in a SwiftUI app
- Embed in a Compose app
- Web embedding & customization (support site)