Skip to main content

Mobile SDK FAQ

Common client questions about the Bambuser Live Shopping mobile SDKs. Updated automatically from support threads.

info

To add a new entry, share the client question in a Slack thread and ask @sven-inge update mobile faq.

Why does the player show a blank or black screen after initialization?

Make sure createPlayerView(videoConfiguration:) is called on the main thread and the returned view is added to the view hierarchy before calling play(). Also confirm the show ID is valid and published — an invalid ID triggers .error state silently without a visible error message.


Do I need to call cleanup() when the player is dismissed?

Yes. Call playerView.cleanup() whenever you remove the player from the view hierarchy — in deinit, viewDidDisappear, or when navigating away. Skipping this causes memory leaks because the SDK retains internal resources until cleanup() is called explicitly.


Can I have multiple GetLiveView instances on the same screen?

Yes, but each instance must have a unique playerId. If you reuse the same ID, the second player will conflict with the first. Pass playerId = UUID.randomUUID().toString() (the default) or a stable unique string per player.


The SDK crashes with a Koin error on initialization. What is wrong?

BambuserSDK uses Koin internally and must be initialized once per application lifecycle — in Application.onCreate(), not inside an Activity. Initializing it multiple times or in different Activities causes Koin module conflicts. Store the BambuserSDK instance in your Application class and access it from there.


On iOS, fetchPlaylist returns an empty array even though videos exist in BamHub.

Check that setConfiguration was called before fetchPlaylist. On iOS the SDK pre-renders players at fetch time using the configuration, so if configuration is missing or set after the fetch call, the result will be empty. Also verify that orgId, pageId, and playlistId exactly match the values configured in BamHub.


On Android, BambuserVideoView shows nothing but no error fires.

Confirm that mode="live" is set on the component and that the id prop is a valid, published show ID. On Android the view renders on-demand at mount time, so an invalid ID may result in a silent empty state rather than an explicit error.