Skip to content

Shoplive Android SDK 3.0.2

Choose a tag to compare

@eugene-sung eugene-sung released this 01 Oct 15:22
a800656

Shoplive Android SDK 3.0.2

No SDK sources — AAR / POM artifacts only.

What's changed

Breaking

  • ShopliveStreamer.intent(...) is removed. Launch the broadcast screen with prepareIntent and start the Intent delivered to its callback. start(), the streamer delegate, broadcast state, and state/error events are unchanged.
  • The previous studio screens and static studio entry points are removed. Update any code that still starts those screens before upgrading.
  • RTMP and SRT publishing no longer uses the previous encoder stack. shoplive-rootencoder is published with this release and is pulled in automatically when you depend on shoplive-streamer-sdk.

Changed

  • Leaving the app no longer destroys the player. HLS pauses and resumes on return (a live stream reloads at the live edge). WebRTC closes its connection in the background and opens it again on return.
  • WebRTC playback starts only when both the signaling URL and the discovery URL are present.
  • Volume keys and audio-focus options are now applied: sound.isVolumeKeyEnabled and sound.autoResumeOnFocusGained. Turning the volume all the way down mutes playback; raising it unmutes. HLS pauses when another app takes audio focus and can resume when focus returns.
  • The player notifies the page when the app moves to the background and back to the foreground.
  • Ending a broadcast stays on the same screen instead of closing it. A fatal broadcast error keeps the screen and offers retry or exit. Retry does not show the start countdown again and keeps the elapsed time.
  • A broadcast that stays in the background for about five minutes returns to idle.
  • The on-screen bitrate readout is removed. Connection and reconnect status stay on the status chip.
  • If you set a WebView domain allowlist, navigation is limited to those hosts plus shoplive.cloud, shopliveapi.com, and shoplive.show. An empty list still allows navigation. The native bridge is available only on Shoplive pages, including when the allowlist is empty.

Fixed

  • A long uninterrupted broadcast could abort the process after native memory grew without bound on some OS versions.
  • Muted WebRTC playback could become audible when the media volume was lowered.
  • A live HLS stream could fail a few seconds after returning from the background.
  • setAccessKey no longer crashes when the key format is invalid. An invalid key is ignored and the previous key is kept. Issued alphanumeric keys are accepted.

Gradle

maven {
    url = uri("https://sdk.shoplive.cloud/maven-repo")
}

// Declaring the entry points is enough — submodules resolve as POM transitive dependencies.
implementation("cloud.shoplive:shoplive-player-sdk:3.0.2")
implementation("cloud.shoplive:shoplive-streamer-sdk:3.0.2")

Requirements

Minimum Android API 23
compileSdk 36
Kotlin 1.9.25
Distribution Maven repository (Gradle)

Artifacts

Every .aar and .pom ships with a .sha256 companion — the same value that is
published to the Maven repository, so integrity can be checked before use.

  • cloud.shoplive:shoplive-android-webrtc:3.0.2
  • cloud.shoplive:shoplive-core:3.0.2
  • cloud.shoplive:shoplive-exoplayer:2.19.1.12
  • cloud.shoplive:shoplive-media3:1.10.1.2
  • cloud.shoplive:shoplive-player-sdk:3.0.2
  • cloud.shoplive:shoplive-rootencoder:3.0.2
  • cloud.shoplive:shoplive-rtmp:3.0.2
  • cloud.shoplive:shoplive-streamer-sdk:3.0.2
  • cloud.shoplive:shoplive-webrtc:3.0.2

Build provenance

  • Source: matrix-sdk-android@ededd8dd219fbe57ec7a60e026df52e94f4938af
  • Line: international
  • Tag: 3.0.2