bb_channel 8.53.0 copy "bb_channel: ^8.53.0" to clipboard
bb_channel: ^8.53.0 copied to clipboard

Blue Billywig Channel SDK for Flutter — embed BB video channels with optional native player integration via bb_player.

Blue Billywig Channel SDK for Flutter #

Embed a Blue Billywig video channel in any Flutter app with native video playback, navigation, search, multi-channel support, deep linking, and analytics — all driven by a single declarative widget.

The SDK pairs the BB channel UI (loaded from BB's CDN) with the native player from flutter-bb-player for hardware-accelerated playback with ads, Chromecast, and Picture-in-Picture.

Install #

dependencies:
  bb_channel:
    git: https://github.com/bluebillywig/flutter-bb-channel
  bb_player:
    git: https://github.com/bluebillywig/flutter-bb-player

Supports Flutter >=3.19 (Dart 3.3+) through the current master.

Android #

Add the BB Maven repo so the player can resolve native artifacts:

allprojects {
  repositories {
    google()
    mavenCentral()
    maven { url 'https://maven.bluebillywig.com/releases' }
  }
}

iOS #

platform :ios, '14.0'

Quick start #

import 'package:bb_channel/bb_channel.dart';

BBChannelWithPlayer(
  channelUrl: 'https://demo.bbvms.com/ch/123.json',
  onReady: () => print('Channel loaded'),
  onMediaPlay: (m) => print('Playing: ${m.title}'),
)

That's it — the widget handles channel UI, navigation, search, the native player, and analytics out of the box.

API #

BBChannelWithPlayer #

Primary widget. Renders the channel UI and uses the native BB player for playback. On the detail page, the player is mounted inline; tapping a preview thumbnail anywhere else opens the native modal player.

Prop Type Description
channelUrl String (required) https://<pub>.bbvms.com/ch/<id>.json
options BBChannelOptions autoPlay, JWT, search-bar visibility, etc.
controller BBChannelController? Imperative control (play, navigate, search, …)
initialNavigationState BBNavigationState? Restore navigation on mount (deep linking)
safeAreaEdges Set<BBSafeAreaEdge> Which edges receive safe-area padding (default: top)
handleBackButton bool Intercept the Android back button to navigate within the channel
playerMode BBPlayerMode inline (default) or fullscreen
playerAspectRatio double Default 16:9; auto-overridden when a clip reports its own ratio
jwt String? JWT for authenticated content (used for both channel and player)
onReady / onError callbacks Lifecycle
onMediaPlay / onMediaPause / onMediaEnd (BBMediaInfo) => void Media lifecycle
onTimeUpdate (BBTimeUpdateEvent) => void Frequent — for progress bars
onPlayerEvent (BBPlayerEvent) => void Sealed-class hierarchy — switch over event subtypes
onAnalyticsEvent (BBAnalyticsEvent) => void Forward BB analytics into your own pipeline
onNativePlayerStateChange (BBNativePlayerStatus) => void Idle / loading / playing / paused / ended

BBChannelController #

Pass a controller to drive the channel from outside:

final ctrl = BBChannelController();

BBChannelWithPlayer(channelUrl: '…', controller: ctrl);

// Later, anywhere…
ctrl.playVideo('12345');
ctrl.search('news');
final state = await ctrl.getNavigationState();

Available methods include play, pause, seek, setVolume, setMuted, enterFullscreen, exitFullscreen, setJwt, playVideo, navigateToEntity, navigateTo, goBack, search, setNavigationState, getNavigationState, getPlayerState, getPlayers, setActivePlayer.

Types #

The SDK exposes typed data classes for every event payload: BBMediaInfo, BBNavigationState, BBNavigationEvent, BBPlayerState, BBPlayerEvent (sealed hierarchy), BBTimeUpdateEvent, BBClipLoadedEvent, BBAdEvent, BBAnalyticsEvent, BBSearchEvent, BBErrorEvent.

See lib/src/bb_types.dart for the canonical definitions.

Examples #

  • example/ — full QA app with channel browser, viewer, per-channel settings, and a live event inspector.

Support #

License #

Proprietary — Blue Billywig.

0
likes
150
points
0
downloads

Documentation

API reference

Publisher

verified publisherbluebillywig.com

Weekly Downloads

Blue Billywig Channel SDK for Flutter — embed BB video channels with optional native player integration via bb_player.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

bb_player, flutter, url_launcher, webview_flutter

More

Packages that depend on bb_channel