Skip to content

v3.5.0

Choose a tag to compare

@zeyadsadaqa zeyadsadaqa released this 19 Aug 11:20
· 4 commits to master since this release

A stability-focused release: players now recover cleanly when opened and closed repeatedly, never hang on a stalled network, and always report either ready or an error. Plus live viewer counts, collections by product group ID, and control over thumbnail scaling.

No breaking changes. Drop-in upgrade from 3.4.x — every new callback ships with a default implementation.

Upgrade
// gradle/libs.versions.toml
bambuserCommerceSDK = "3.5.0"

✨ New

Live viewer counts — two optional callbacks on BambuserVideoPlayerDelegate:

override fun onCurrentViewerCountChanged(playerId: String, viewers: Long) { }
override fun onTotalViewerCountChanged(playerId: String, viewers: Long) { }

Only live broadcasts report meaningful values; counts are pushed by the backend rather than polled, and aren't affected by the events filter. onTotalViewerCountChanged isn't deduplicated per viewer. The native player can also display the count for live shows once enabled in BamHub — no integration work.

BambuserCollectionInfo.GroupId(orgId, groupId) — fetch collections by product item group ID.

contentMode in the shoppable thumbnail config — "scaleToFill" / "scaleAspectFit" / "scaleAspectFill", with a table of behaviors; omit to keep existing behavior.

🐛 Fixed

Black screen after reopening players · reopening the same video · infinite waits on stalled connections · guaranteed ready-or-error within 60s · lost first events · full teardown on close · thumbnails filling the host view · mute control resetting · NetworkOnMainThreadException on collection fetches · coroutine cancellation actually cancelling.

🔧 Changed

Explicit 10s/15s network timeouts on all requests · actionable error messages instead of Exception: null.