Shoplive Developers
한국어KOEnglishEN日本語JA
Shoplive Developers
Docs
한국어English日本語
RSS

What's New

Product updates, newest first.

2026-10-20
Tuesday
New Live

Flutter SDK 3.0.3 — streamer web page · drag PIP out to close

  • Built on Shoplive iOS and Android SDK 3.0.3. There is no Dart breaking change from 3.0.2; update all three packages to the same version
  • Use ShopliveStreamer.instance.start(campaignKey, webPageUrl: …) to attach a web page next to the broadcast screen. An invalid URL fails with INVALID_ARGUMENT
  • Use ShoplivePipOptions.isDragOutToCloseEnabled to set whether dragging the in-app PIP window off the screen closes it
  • Calling start again while a session is open now opens a new player with the new configuration. To change the campaign and keep the current settings, use play
  • If you omit alertType in a coupon or custom-action response, both platforms now use toast
  • ShopliveConfiguration.appVersion is ignored (the SDK reads the app version itself). ShopliveError.rawCode is now set on both platforms
Breaking Legacy v1

Flutter SDK 1.9.0 — shortform API removed · iOS 15 minimum

The shortform API (ShopLiveShortform) is removed, and the minimum iOS version is now 15.0. Remove your shortform code before you upgrade (or stay on 1.8.14), and set platform :ios, '15.0' in ios/Podfile.

  • Updated the bundled Shoplive iOS and Android SDKs to 1.9.0
  • On Android, the SDK now comes from https://sdk.shoplive.cloud/maven-repo. If your project declares repositories itself, add this repository
  • This is a maintenance release of the 1.x line. For a new integration, use 3.0.3
2026-10-16
Friday
New Live

iOS SDK 3.0.3 — preview stream · web page on the broadcast screen

  • Set ShoplivePlayerConfiguration.type to .preview to play the campaign's low-resolution preview stream. The ShoplivePlayerConfiguration.preview preset now uses it
  • pip.isDragOutToCloseEnabled (default true) controls whether dragging the in-App PIP window off screen closes it. With false it snaps back, and only the close button or close() ends it
  • ShopliveStreamerViewController(campaignKey:webPageURL:) adds your own web page next to the broadcast screen
  • ShopliveError.rawCode returns the original numeric error code. Coupon and custom-action results now default status to .hide and alertType to .alert
  • Playback that starts muted no longer interrupts other apps' audio, and reload() during in-App PIP keeps the PIP window
Breaking Live

Android SDK 3.0.3 — presets · web page on the broadcast screen

ShopliveConfiguration.appVersion is removed, and ShopliveError and its error codes moved to the core package (cloud.shoplive.core.publicsurface). Delete the appVersion argument and update your imports. Recompile code built against 3.0.2.

  • Added DEFAULT and PREVIEW presets to ShoplivePlayerConfiguration and ShoplivePlayOptions
  • PipOptions.isDragOutToCloseEnabled (default true) controls whether dragging the in-App PIP window off screen closes it
  • Pass webPageUrl to ShopliveStreamer.start to add your own web page next to the broadcast screen. The web player's user-action logs arrive as WebCommandReceived (EVENT_LOG)
  • Coupon and custom-action results now default alertType to ALERT. Pass null to follow the web default
  • The separate WebRTC, RTMP, ExoPlayer and media3 artifacts are no longer published, and ExoPlayer 2 is no longer supported
2026-10-15
Thursday
Breaking Live

Flutter SDK 3.0.2 — rebuilt on Shoplive SDK 3.0.2

The 1.x Dart API is removed. Read the migration guide in the release notes before you upgrade.

  • Split into three packages: shoplive_core · shoplive_player · shoplive_streamer (keep all three on the same version)
  • Every method returns a Future, and failures arrive as a PlatformException with an error code
  • Answer coupon and custom-action requests with respond
  • Fixed playback stopping when the player switched to in-app PIP on Android
  • Requirements: Flutter 3.22 · Dart 3.4 · iOS 15 · Android minSdk 23
2026-10-12
Monday
Improved Live

Web live player — October update

  • Completing an attendance check (Streak) now shows a completion toast with an entrance effect
  • The default desktop size of live captions on landscape broadcasts is smaller (2× → 1.25×), so they cover less of the video
2026-10-08
Thursday
Improved Legacy v1Short-form

Android SDK 1.9.0 (V1 · Shortform)

  • A popup preview now closes as soon as the broadcast ends, with ON_BROADCAST_ENDED as the reason — the same as iOS
  • The preview bottom margin is now measured from the top of the navigation bar on every device. If you added the status bar height to the margin, remove it
  • The shortform preview opens at 9:16 instead of square
  • Fixed your app coming back to the front with OS PIP when leaving with the Home button or gesture
2026-10-06
Tuesday
Fixed Short-form

Web shortform — October update

  • Fixed a flicker when opening a shortform detail for the first time in iOS and macOS Safari
2026-10-01
Thursday
Improved Live

iOS SDK 3.0.2

  • Added ShoplivePlayerEvent.webCommand(name:payload:) for commands sent by the web overlay. If you switch over every case, add this one
  • In the WebView, SDK features work only on Shoplive pages (no code change)
  • A malformed access key is not used, and an error is logged
  • The screen stays awake while the broadcast screen is shown
  • Removed repeated stateChanged notifications, stop() now reports closed, and closing system PIP no longer leaves a black screen
Breaking Live

Android SDK 3.0.2

ShopliveStreamer.intent(...) is removed. Switch to prepareIntent and start the Intent passed to its callback.

  • Leaving the app no longer destroys the player — HLS pauses and resumes, WebRTC reconnects on return
  • Volume-key and audio-focus options (sound.isVolumeKeyEnabled · sound.autoResumeOnFocusGained) now take effect
  • Ending a broadcast stays on the same screen, and a fatal error offers retry or exit
  • The WebView native bridge works only on Shoplive pages
2026-09-30
Wednesday
New Live

Web live player — September update

  • Co-hosted broadcasts: when several hosts broadcast together, the player marks who is speaking
  • Live Streak: viewers can check in for attendance during a broadcast
  • Broadcasts with live captions can show them as soon as the viewer enters (admin setting). Caption size on landscape broadcasts follows the screen orientation and device
  • The ready screen shows a countdown to the start of the broadcast
  • Where the browser has no PIP support, the player falls back to web PIP
  • Fixed banners not navigating in the Instagram in-app browser, the replay seek bar misbehaving, and the caption button showing on replays of broadcasts without captions
2026-09-23
Wednesday
New Short-form

Web shortform — September update

  • Story: new setShortformStory shows shortforms in an Instagram-style round tray. A story is marked as seen when its card is tapped
  • Shortform details now show the viewer count
  • Fixed a gray screen when returning to a collection preview, and showcases not attaching to products added later by "load more"
2026-09-14
Monday
Breaking Legacy v1

iOS SDK 1.9.0 (V1)

The minimum iOS version is now 15.0 (was 11.0).

  • Player and Common now ship from one repository (shoplive-sdk-ios). ios-sdk and common-ios stay at 1.8.15
  • The Swift Package Manager product is renamed from ShopLive to ShopLiveSDK (the CocoaPods pod is still ShopLive)
  • No API changes — on 1.8.11 or later, bumping the version is the whole migration
  • Fixed custom-action SHOW and KEEP responses being ignored
2026-09-07
Monday
Breaking Live

Android SDK 3.0.1 — in-app PIP · private broadcasts

In fullscreen, the back button now shrinks the player to in-app PIP instead of closing it. Set pip.isInAppPipEnabled = false to restore close-on-back.

  • In-app PIP: playback continues in a draggable mini window over your screens. Start straight into it with ShoplivePlayOptions(presentationStyle = ShoplivePlayerPresentationStyle.PIP)
  • Private broadcasts: playback and PIP stay blocked until the entry code is accepted
  • AndroidX Media3 is now the default HLS engine (ExoPlayer 2 is still available — pick one)
  • New error codes (9510–9514) tell you why OS PIP is unavailable
  • Fixed appearance.allowScreenCapture = false not blocking screen capture, and navigation.actionOnNavigation having no effect
2026-08-31
Monday
Breaking Legacy v1

Android SDK 1.8.14 (V1)

The SDK is distributed from the Shoplive Maven repository (https://sdk.shoplive.cloud/maven-repo), since 1.8.13. Add the repository, and declare each artifact you use because the POMs carry no transitive dependencies (shoplive-common, shoplive-network, shoplive-sdk-core, and so on).

  • Added the campaign list API ShopLiveCampaigns.getCampaigns. Query campaigns and their progress state from the app with no server integration (status filter, pagination, sorting, cancellation) — use it for a live badge on your home screen
  • A single onClose handler now receives both preview and OS PIP close events, with the reason, exactly once per screen
  • Fixed playback stalling near the end of a replay, swipe-to-close not delivering the close callback, and the close callback firing twice
2026-08-27
Thursday
New Live

Web live player — August update

  • Join notices: chat announces viewers as they join, and shows a notice when a prize draw starts
  • Winner results: anonymous winner totals, an option to hide the winner list, and winner name masking
  • Coupon popups can copy a code to the clipboard
  • Captions: two-line replay captions and SRT captions for recorded-video broadcasts, long captions split and paced in order, a "caption" icon instead of CC in the Korean UI, and captions shown automatically while muted (admin setting)
  • Switching product groups now scrolls the product list to the top, and fixed the resolution option missing on some replays
2026-08-26
Wednesday
New Live

iOS SDK 3.0.1 — start previews in in-app PIP

  • Set ShoplivePlayOptions.presentationStyle = .pip to open playback straight in the floating in-app PIP window. The preview presets (PIP start, muted, overlays hidden) replace the 2.x preview popup. .fullScreen stays the default
  • Swipe an in-app PIP window off screen to close it
  • The campaign's live badge is drawn over in-app PIP
  • Private broadcasts with an entrance code play on both HLS and WebRTC
  • Fixed a crash when the player's WebSocket was torn down while a message was being delivered
2026-08-19
Wednesday
Breaking Live

Android SDK 3.0.0 — first unified SDK release

Artifact coordinates and the public API changed. Declare cloud.shoplive:shoplive-player-sdk and/or shoplive-streamer-sdk; everything else comes transitively.

  • Player settings now go in one ShoplivePlayerConfiguration value instead of individual setters
  • sound.mixWithOthers now defaults to false, so playback interrupts other apps' audio. Set it to true to keep mixing
  • The streamer can broadcast over RTMP, chosen by the campaign configuration
  • Fixed sound.muteOnStart being ignored and a black screen instead of the background image when a broadcast ended, among others
2026-08-14
Friday
New Legacy v1

Flutter SDK 1.8.14

  • Added ShopLivePlayer.setResizeMode() to set how the live player fits the screen (auto · centerCrop · fit)
  • Updated the bundled Shoplive iOS and Android SDKs to 1.8.13
2026-08-11
Tuesday
Improved Short-form

Web shortform — August update

  • Added a URL mode that links showcases by product URL, with UX improvements
  • Initialization is refused for an expired access key

This page and its feeds are generated from sites/hub/feed/*.xml in the repository · Docs · RSS · © Shoplive