bb_channel 8.57.0 copy "bb_channel: ^8.57.0" to clipboard
bb_channel: ^8.57.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)
safeAreaInsets BBSafeAreaInsets? Manual per-edge overrides; a value wins over MediaQuery and opts that edge in
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
120
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