Repository navigation
Shoplive Android SDK 3.0.1
Shoplive Android SDK 3.0.1
No SDK sources — AAR / POM artifacts only.
What's changed
Breaking
- In fullscreen, the back button shrinks the player to an in-app PIP window instead of closing
it. Setpip.isInAppPipEnabled = falseto restore close-on-back. In-app PIP also takes
precedence over OS PIP for every PIP trigger, sopip.enterOSPipOnBackPressedapplies only while
in-app PIP is disabled.
Added
- In-app PIP. The player can shrink to a draggable mini window over your own screens: tap to
expand, drag to snap, close with × or by swiping it out, none of which interrupts playback.
Configure it withpip.defaultPosition,pip.scale,pip.aspectRatioandpip.padding, or
start a session straight into it with
ShoplivePlayOptions(presentationStyle = ShoplivePlayerPresentationStyle.PIP)(start()only). - Private broadcasts. On a private campaign, playback, the mini window and OS PIP stay blocked
until the viewer's entry code is accepted, with the campaign's private image shown in the
meantime. Re-entering the same campaign later in the same app run does not ask again. - AndroidX Media3 support. The HLS engine now ships in both flavours.
cloud.shoplive:shoplive-player-sdkresolvescloud.shoplive:shoplive-media3:1.10.1.1
(AndroidX Media3 1.10.1) by default; to stay on ExoPlayer 2, exclude it and depend on
cloud.shoplive:shoplive-exoplayer:2.19.1.11instead. Do not depend on both. - New error codes for OS PIP —
PIP_DEVICE_NOT_SUPPORTED(9510),PIP_DISABLED_BY_USER(9511),
PIP_ACTIVITY_NOT_DECLARED(9512),PIP_ACTIVITY_CONFIG_CHANGES_MISSING(9513) and
PIP_ENTER_FAILED(9514) report why an OS PIP window is unavailable. In-app PIP still works when
one of these fires. - The campaign's live badge now renders in both PIP windows.
- A
.sha256companion for every published artifact, so Gradle dependency verification can run
against the published values.
Fixed
appearance.allowScreenCapture = falsedid not block screen capture — screenshots and screen
recording of the player were possible regardless of the setting.navigation.actionOnNavigation(PIP/KEEP/CLOSE) had no effect; all three now route.navigation.closeWhenAppDestroyedandpip.enterOSPipOnBackPressedwere never applied.- A READY campaign's teaser video was skipped on WebRTC campaigns, leaving the screen empty until
the broadcast went on air. - Closing the player did not report the closed state to your delegate.
stop()followed byplay()on the same campaign did not restart playback.
Notes
- AAR / POM artifacts only — no SDK sources are published.
Gradle
maven {
url = uri("https://sdk.shoplive.cloud/maven-repo")
}
implementation("cloud.shoplive:shoplive-player-sdk:3.0.1")
implementation("cloud.shoplive:shoplive-streamer-sdk:3.0.1")Artifacts
cloud.shoplive:shoplive-android-webrtc:3.0.1cloud.shoplive:shoplive-core:3.0.1cloud.shoplive:shoplive-core-player:3.0.1cloud.shoplive:shoplive-exoplayer:2.19.1.11cloud.shoplive:shoplive-media3:1.10.1.1cloud.shoplive:shoplive-player-sdk:3.0.1cloud.shoplive:shoplive-rtmp:3.0.1cloud.shoplive:shoplive-streamer-sdk:3.0.1cloud.shoplive:shoplive-webrtc:3.0.1
Build provenance
- Source:
matrix-sdk-android@ee3c1fed9cb078b9a311eeded37c9f31b5bc8e55 - Line:
international - Tag:
3.0.1