bb_player 8.57.0
bb_player: ^8.57.0 copied to clipboard
Flutter plugin for Blue Billywig's native video player SDK. Provides hardware-accelerated playback with VAST/VPAID ads, analytics, Chromecast, Picture-in-Picture, fullscreen, outstream, and Shorts (ve [...]
8.57.0 #
- Android: bumped
compileSdkfrom 34 to 36 (Android 16). Compiling against 34 broke startup when the player was embedded in an app running on Android 15+ (API 35+), where the OS forces edge-to-edge drawing. - Requires AGP 8.9 or newer. Flutter plugins are built from source by the
consuming app, so your app's Android Gradle Plugin compiles this module —
and AGP older than 8.9 rejects
compileSdk 36outright. Upgrade AGP before taking this version. The example app now uses AGP 8.9.1 / Gradle 8.11.1 to demonstrate that floor. - Note: this does not cover the Google Play requirement to target API 36
from 31 August 2026. That applies to your app's
targetSdk; library modules have notargetSdkand AGP 8 ignores it for them. Set it in your own app. - Stops at 36 deliberately — API 37 requires migrating the native SDK from ExoPlayer 2 to Media3, tracked separately.
- Versions 8.55.0 and 8.56.0 were never published to pub.flutter-io.cn; this release goes straight from 8.54.0. The package version tracks the BB native player SDK minor, which is at 8.57.0 on both Maven Central (Android) and CocoaPods (iOS) as of 24 August 2026.
8.54.0 #
- Release tooling only — pub.flutter-io.cn publishing moved to OIDC trusted publishing and the release tag trigger was fixed. No changes to plugin behaviour, Dart API, or native integration.
8.53.0 #
- Android: switched
BBPlayerViewto true Hybrid Composition (initExpensiveAndroidView) instead of Texture Layer Hybrid Composition. Taps on the native control-bar buttons (settings / fullscreen) in the channel detail player were being swallowed under TLHC's synthesised touch dispatch; Hybrid Composition routes touches natively to the embedded views. Also the correct mode for the player'sSurfaceViewoutput (required for 10-bit / HDR / secure playback). - Android: bumped the native player SDK floor to
8.52.+(was8.50.+). BB native SDK 8.52 (PR #512) widened the player's host-activity check fromAppCompatActivitytoFragmentActivity, so the settings / track BottomSheet now shows under Flutter'sFlutterFragmentActivityhost. On 8.50.x the sheet silently never appeared (tap registered, no panel).
8.50.0 #
- Switched the package version to follow BB sprint release logic — the
minor track now aligns with the BB native SDK (8.50.x for SDK 8.50). The
previous v1.0.0 has been superseded; consumers should pin
bb_player: ^8.50.0. - Bumped native SDKs to 8.50.0 (iOS) and 8.50.+ (Android), aligning with the latest Blue Billywig native player kits.
- Reach parity with
react-native-bb-player's public API surface:LoadContextparameter on everyloadWith*method (contextEntityType / contextEntityId / contextCollectionType / contextCollectionId).loadWithContentIdAndTypecanonical loader withBBContentTypeenum (mediaclip/c,mediacliplist/l,project/p/pj).- New
BBPlayerControllermethods:setInView,unload,updatePlayout,presentModal,closeModal,endCastSession. - New getters:
getInView,getAdMediaWidth,getAdMediaHeight,getIsCasting,getCastDeviceName. BBCastButtonandBBCastMiniControlswidgets (render an empty placeholder when the host activity isn't aFragmentActivityor the Cast SDK isn't linked).- Module-level
BBModalPlayerAPI (present/dismiss/addEventListener). addCastSessionListenerfor global Cast session events.convertPlayoutUrlToMediaclipUrlutility.
BBShortsViewOptionsnow accepts a typedBBShortsDisplayFormat(full/list/player),shelfStartSpacing,shelfEndSpacing, andskipShortsAdOnSwipe.BBOutstreamView: added real spring physics (damping/stiffness),none/layoutanimation types,isCollapsedgetter, andanimateCollapse/animateExpandaliases.- Example app restructured into per-feature screens mirroring the React
Native demo: Simple Player → API Reference → Shorts → Outstream Ads →
Modal Player. Deep-link handler (
bbplayer://watch/<id>) included. - Docs split into per-feature guides under
doc/guides/. - Android: bumped to Kotlin 2.3.10 and enabled core-library desugaring (required by BB SDK 8.50+).
- iOS: marked platform-view classes
@MainActorfor Swift 6 strict concurrency.
Breaking #
- Apps using
BBCastButton(or anything that mounts the Cast picker) must useFlutterFragmentActivityas the host activity (not the defaultFlutterActivity). Seeexample/android/.../MainActivity.kt.
1.0.0 #
- Initial release
- BBPlayerView widget for video playback
- BBShortsView widget for vertical video (TikTok-style)
- BBOutstreamView widget for animated outstream ad placements
- Full playback controls (play, pause, seek, volume, fullscreen)
- 40+ event callbacks for playback, ads, analytics
- Async state queries (duration, currentTime, clipData, etc.)
- Content loading via clip ID, clip list, project, or JSON URL
- iOS support via BBNativePlayerKit (8.42.0)
- Android support via bbnativeplayersdk (8.42.+)
- Chromecast support on both platforms