<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Shoplive Developers — What&#x27;s New</title>
    <link>https://developer.shoplive.cloud/?lang=en</link>
    <description>Shoplive product updates</description>
    <language>en</language>
    <lastBuildDate>Tue, 20 Oct 2026 09:00:00 +0900</lastBuildDate>
    <atom:link href="https://developer.shoplive.cloud/feed/rss/en/all.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>[New] Flutter SDK 3.0.3 — streamer web page · drag PIP out to close</title>
      <link>https://github.com/shoplive/shoplive-sdk-flutter/releases/tag/3.0.3</link>
      <guid isPermaLink="false">shoplive-news-2026-10-20-flutter-sdk-3.0.3</guid>
      <pubDate>Tue, 20 Oct 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;ul&gt;&lt;li&gt;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&lt;/li&gt;&lt;li&gt;Use &lt;code&gt;ShopliveStreamer.instance.start(campaignKey, webPageUrl: …)&lt;/code&gt; to attach a web page next to the broadcast screen. An invalid URL fails with &lt;code&gt;INVALID_ARGUMENT&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Use &lt;code&gt;ShoplivePipOptions.isDragOutToCloseEnabled&lt;/code&gt; to set whether dragging the in-app PIP window off the screen closes it&lt;/li&gt;&lt;li&gt;Calling &lt;code&gt;start&lt;/code&gt; 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 &lt;code&gt;play&lt;/code&gt;&lt;/li&gt;&lt;li&gt;If you omit &lt;code&gt;alertType&lt;/code&gt; in a coupon or custom-action response, both platforms now use &lt;code&gt;toast&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;ShopliveConfiguration.appVersion&lt;/code&gt; is ignored (the SDK reads the app version itself). &lt;code&gt;ShopliveError.rawCode&lt;/code&gt; is now set on both platforms&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] Flutter SDK 1.9.0 — shortform API removed · iOS 15 minimum</title>
      <link>https://github.com/shoplive/shoplive-sdk-flutter/releases/tag/1.9.0</link>
      <guid isPermaLink="false">shoplive-news-2026-10-20-flutter-sdk-1.9.0</guid>
      <pubDate>Tue, 20 Oct 2026 09:00:00 +0900</pubDate>
      <category>Legacy v1</category>
      <description>&lt;p&gt;&lt;strong&gt;The shortform API (&lt;code&gt;ShopLiveShortform&lt;/code&gt;) is removed, and the minimum iOS version is now 15.0.&lt;/strong&gt; Remove your shortform code before you upgrade (or stay on 1.8.14), and set &lt;code&gt;platform :ios, &amp;#x27;15.0&amp;#x27;&lt;/code&gt; in &lt;code&gt;ios/Podfile&lt;/code&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Updated the bundled Shoplive iOS and Android SDKs to 1.9.0&lt;/li&gt;&lt;li&gt;On Android, the SDK now comes from &lt;code&gt;https://sdk.shoplive.cloud/maven-repo&lt;/code&gt;. If your project declares repositories itself, add this repository&lt;/li&gt;&lt;li&gt;This is a maintenance release of the 1.x line. For a new integration, use 3.0.3&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[New] iOS SDK 3.0.3 — preview stream · web page on the broadcast screen</title>
      <link>https://github.com/shoplive/shoplive-sdk-ios/releases/tag/3.0.3</link>
      <guid isPermaLink="false">shoplive-news-2026-10-16-ios-sdk-3.0.3</guid>
      <pubDate>Fri, 16 Oct 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;ul&gt;&lt;li&gt;Set &lt;code&gt;ShoplivePlayerConfiguration.type&lt;/code&gt; to &lt;code&gt;.preview&lt;/code&gt; to play the campaign&amp;#x27;s low-resolution preview stream. The &lt;code&gt;ShoplivePlayerConfiguration.preview&lt;/code&gt; preset now uses it&lt;/li&gt;&lt;li&gt;&lt;code&gt;pip.isDragOutToCloseEnabled&lt;/code&gt; (default &lt;code&gt;true&lt;/code&gt;) controls whether dragging the in-App PIP window off screen closes it. With &lt;code&gt;false&lt;/code&gt; it snaps back, and only the close button or &lt;code&gt;close()&lt;/code&gt; ends it&lt;/li&gt;&lt;li&gt;&lt;code&gt;ShopliveStreamerViewController(campaignKey:webPageURL:)&lt;/code&gt; adds your own web page next to the broadcast screen&lt;/li&gt;&lt;li&gt;&lt;code&gt;ShopliveError.rawCode&lt;/code&gt; returns the original numeric error code. Coupon and custom-action results now default &lt;code&gt;status&lt;/code&gt; to &lt;code&gt;.hide&lt;/code&gt; and &lt;code&gt;alertType&lt;/code&gt; to &lt;code&gt;.alert&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Playback that starts muted no longer interrupts other apps&amp;#x27; audio, and &lt;code&gt;reload()&lt;/code&gt; during in-App PIP keeps the PIP window&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] Android SDK 3.0.3 — presets · web page on the broadcast screen</title>
      <link>https://github.com/shoplive/shoplive-sdk-android/releases/tag/3.0.3</link>
      <guid isPermaLink="false">shoplive-news-2026-10-16-android-sdk-3.0.3</guid>
      <pubDate>Fri, 16 Oct 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;p&gt;&lt;strong&gt;&lt;code&gt;ShopliveConfiguration.appVersion&lt;/code&gt; is removed, and &lt;code&gt;ShopliveError&lt;/code&gt; and its error codes moved to the core package (&lt;code&gt;cloud.shoplive.core.publicsurface&lt;/code&gt;).&lt;/strong&gt; Delete the &lt;code&gt;appVersion&lt;/code&gt; argument and update your imports. Recompile code built against 3.0.2.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Added &lt;code&gt;DEFAULT&lt;/code&gt; and &lt;code&gt;PREVIEW&lt;/code&gt; presets to &lt;code&gt;ShoplivePlayerConfiguration&lt;/code&gt; and &lt;code&gt;ShoplivePlayOptions&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;PipOptions.isDragOutToCloseEnabled&lt;/code&gt; (default &lt;code&gt;true&lt;/code&gt;) controls whether dragging the in-App PIP window off screen closes it&lt;/li&gt;&lt;li&gt;Pass &lt;code&gt;webPageUrl&lt;/code&gt; to &lt;code&gt;ShopliveStreamer.start&lt;/code&gt; to add your own web page next to the broadcast screen. The web player&amp;#x27;s user-action logs arrive as &lt;code&gt;WebCommandReceived&lt;/code&gt; (&lt;code&gt;EVENT_LOG&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;Coupon and custom-action results now default &lt;code&gt;alertType&lt;/code&gt; to &lt;code&gt;ALERT&lt;/code&gt;. Pass &lt;code&gt;null&lt;/code&gt; to follow the web default&lt;/li&gt;&lt;li&gt;The separate WebRTC, RTMP, ExoPlayer and media3 artifacts are no longer published, and ExoPlayer 2 is no longer supported&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] Flutter SDK 3.0.2 — rebuilt on Shoplive SDK 3.0.2</title>
      <link>https://github.com/shoplive/shoplive-sdk-flutter/releases/tag/3.0.2</link>
      <guid isPermaLink="false">shoplive-news-2026-10-15-flutter-sdk-3.0.2</guid>
      <pubDate>Thu, 15 Oct 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;p&gt;&lt;strong&gt;The 1.x Dart API is removed.&lt;/strong&gt; Read the migration guide in the release notes before you upgrade.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Split into three packages: &lt;code&gt;shoplive_core&lt;/code&gt; · &lt;code&gt;shoplive_player&lt;/code&gt; · &lt;code&gt;shoplive_streamer&lt;/code&gt; (keep all three on the same version)&lt;/li&gt;&lt;li&gt;Every method returns a &lt;code&gt;Future&lt;/code&gt;, and failures arrive as a &lt;code&gt;PlatformException&lt;/code&gt; with an error code&lt;/li&gt;&lt;li&gt;Answer coupon and custom-action requests with &lt;code&gt;respond&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Fixed playback stopping when the player switched to in-app PIP on Android&lt;/li&gt;&lt;li&gt;Requirements: Flutter 3.22 · Dart 3.4 · iOS 15 · Android minSdk 23&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Improved] Web live player — October update</title>
      <link>https://developer.shoplive.cloud/web/live/</link>
      <guid isPermaLink="false">shoplive-news-2026-10-12-web-live-2026-10</guid>
      <pubDate>Mon, 12 Oct 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;ul&gt;&lt;li&gt;Completing an attendance check (Streak) now shows a completion toast with an entrance effect&lt;/li&gt;&lt;li&gt;The default desktop size of live captions on landscape broadcasts is smaller (2× → 1.25×), so they cover less of the video&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Improved] Android SDK 1.9.0 (V1 · Shortform)</title>
      <link>https://github.com/shoplive/shoplive-sdk-android/releases/tag/1.9.0</link>
      <guid isPermaLink="false">shoplive-news-2026-10-08-android-sdk-1.9.0</guid>
      <pubDate>Thu, 08 Oct 2026 09:00:00 +0900</pubDate>
      <category>Legacy v1</category>
      <category>Short-form</category>
      <description>&lt;ul&gt;&lt;li&gt;A popup preview now closes as soon as the broadcast ends, with &lt;code&gt;ON_BROADCAST_ENDED&lt;/code&gt; as the reason — the same as iOS&lt;/li&gt;&lt;li&gt;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&lt;/li&gt;&lt;li&gt;The shortform preview opens at 9:16 instead of square&lt;/li&gt;&lt;li&gt;Fixed your app coming back to the front with OS PIP when leaving with the Home button or gesture&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Fixed] Web shortform — October update</title>
      <link>https://developer.shoplive.cloud/web/shortform/</link>
      <guid isPermaLink="false">shoplive-news-2026-10-06-web-shortform-2026-10</guid>
      <pubDate>Tue, 06 Oct 2026 09:00:00 +0900</pubDate>
      <category>Short-form</category>
      <description>&lt;ul&gt;&lt;li&gt;Fixed a flicker when opening a shortform detail for the first time in iOS and macOS Safari&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Improved] iOS SDK 3.0.2</title>
      <link>https://github.com/shoplive/shoplive-sdk-ios/releases/tag/3.0.2</link>
      <guid isPermaLink="false">shoplive-news-2026-10-01-ios-sdk-3.0.2</guid>
      <pubDate>Thu, 01 Oct 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;ul&gt;&lt;li&gt;Added &lt;code&gt;ShoplivePlayerEvent.webCommand(name:payload:)&lt;/code&gt; for commands sent by the web overlay. If you switch over every case, add this one&lt;/li&gt;&lt;li&gt;In the WebView, SDK features work only on Shoplive pages (no code change)&lt;/li&gt;&lt;li&gt;A malformed access key is not used, and an error is logged&lt;/li&gt;&lt;li&gt;The screen stays awake while the broadcast screen is shown&lt;/li&gt;&lt;li&gt;Removed repeated &lt;code&gt;stateChanged&lt;/code&gt; notifications, &lt;code&gt;stop()&lt;/code&gt; now reports &lt;code&gt;closed&lt;/code&gt;, and closing system PIP no longer leaves a black screen&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] Android SDK 3.0.2</title>
      <link>https://github.com/shoplive/shoplive-sdk-android/releases/tag/3.0.2</link>
      <guid isPermaLink="false">shoplive-news-2026-10-01-android-sdk-3.0.2</guid>
      <pubDate>Thu, 01 Oct 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;p&gt;&lt;strong&gt;&lt;code&gt;ShopliveStreamer.intent(...)&lt;/code&gt; is removed.&lt;/strong&gt; Switch to &lt;code&gt;prepareIntent&lt;/code&gt; and start the &lt;code&gt;Intent&lt;/code&gt; passed to its callback.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Leaving the app no longer destroys the player — HLS pauses and resumes, WebRTC reconnects on return&lt;/li&gt;&lt;li&gt;Volume-key and audio-focus options (&lt;code&gt;sound.isVolumeKeyEnabled&lt;/code&gt; · &lt;code&gt;sound.autoResumeOnFocusGained&lt;/code&gt;) now take effect&lt;/li&gt;&lt;li&gt;Ending a broadcast stays on the same screen, and a fatal error offers retry or exit&lt;/li&gt;&lt;li&gt;The WebView native bridge works only on Shoplive pages&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[New] Web live player — September update</title>
      <link>https://developer.shoplive.cloud/web/live/</link>
      <guid isPermaLink="false">shoplive-news-2026-09-30-web-live-2026-09</guid>
      <pubDate>Wed, 30 Sep 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Co-hosted broadcasts:&lt;/strong&gt; when several hosts broadcast together, the player marks who is speaking&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Live Streak:&lt;/strong&gt; viewers can check in for attendance during a broadcast&lt;/li&gt;&lt;li&gt;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&lt;/li&gt;&lt;li&gt;The ready screen shows a countdown to the start of the broadcast&lt;/li&gt;&lt;li&gt;Where the browser has no PIP support, the player falls back to web PIP&lt;/li&gt;&lt;li&gt;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&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[New] Web shortform — September update</title>
      <link>https://developer.shoplive.cloud/web/shortform/</link>
      <guid isPermaLink="false">shoplive-news-2026-09-23-web-shortform-2026-09</guid>
      <pubDate>Wed, 23 Sep 2026 09:00:00 +0900</pubDate>
      <category>Short-form</category>
      <description>&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Story:&lt;/strong&gt; new &lt;code&gt;setShortformStory&lt;/code&gt; shows shortforms in an Instagram-style round tray. A story is marked as seen when its card is tapped&lt;/li&gt;&lt;li&gt;Shortform details now show the viewer count&lt;/li&gt;&lt;li&gt;Fixed a gray screen when returning to a collection preview, and showcases not attaching to products added later by &amp;quot;load more&amp;quot;&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] iOS SDK 1.9.0 (V1)</title>
      <link>https://github.com/shoplive/shoplive-sdk-ios/releases/tag/1.9.0</link>
      <guid isPermaLink="false">shoplive-news-2026-09-14-ios-sdk-1.9.0</guid>
      <pubDate>Mon, 14 Sep 2026 09:00:00 +0900</pubDate>
      <category>Legacy v1</category>
      <description>&lt;p&gt;&lt;strong&gt;The minimum iOS version is now 15.0&lt;/strong&gt; (was 11.0).&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Player and Common now ship from one repository (&lt;code&gt;shoplive-sdk-ios&lt;/code&gt;). &lt;code&gt;ios-sdk&lt;/code&gt; and &lt;code&gt;common-ios&lt;/code&gt; stay at 1.8.15&lt;/li&gt;&lt;li&gt;The Swift Package Manager product is renamed from &lt;code&gt;ShopLive&lt;/code&gt; to &lt;code&gt;ShopLiveSDK&lt;/code&gt; (the CocoaPods pod is still &lt;code&gt;ShopLive&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;No API changes — on 1.8.11 or later, bumping the version is the whole migration&lt;/li&gt;&lt;li&gt;Fixed custom-action &lt;code&gt;SHOW&lt;/code&gt; and &lt;code&gt;KEEP&lt;/code&gt; responses being ignored&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] Android SDK 3.0.1 — in-app PIP · private broadcasts</title>
      <link>https://github.com/shoplive/shoplive-sdk-android/releases/tag/3.0.1</link>
      <guid isPermaLink="false">shoplive-news-2026-09-07-android-sdk-3.0.1</guid>
      <pubDate>Mon, 07 Sep 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;p&gt;&lt;strong&gt;In fullscreen, the back button now shrinks the player to in-app PIP instead of closing it.&lt;/strong&gt; Set &lt;code&gt;pip.isInAppPipEnabled = false&lt;/code&gt; to restore close-on-back.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;In-app PIP: playback continues in a draggable mini window over your screens. Start straight into it with &lt;code&gt;ShoplivePlayOptions(presentationStyle = ShoplivePlayerPresentationStyle.PIP)&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Private broadcasts: playback and PIP stay blocked until the entry code is accepted&lt;/li&gt;&lt;li&gt;AndroidX Media3 is now the default HLS engine (ExoPlayer 2 is still available — pick one)&lt;/li&gt;&lt;li&gt;New error codes (9510–9514) tell you why OS PIP is unavailable&lt;/li&gt;&lt;li&gt;Fixed &lt;code&gt;appearance.allowScreenCapture = false&lt;/code&gt; not blocking screen capture, and &lt;code&gt;navigation.actionOnNavigation&lt;/code&gt; having no effect&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] Android SDK 1.8.14 (V1)</title>
      <link>https://github.com/shoplive/shoplive-sdk-android/releases/tag/1.8.14</link>
      <guid isPermaLink="false">shoplive-news-2026-08-31-android-sdk-1.8.14</guid>
      <pubDate>Mon, 31 Aug 2026 09:00:00 +0900</pubDate>
      <category>Legacy v1</category>
      <description>&lt;p&gt;&lt;strong&gt;The SDK is distributed from the Shoplive Maven repository (&lt;code&gt;https://sdk.shoplive.cloud/maven-repo&lt;/code&gt;), since 1.8.13.&lt;/strong&gt; Add the repository, and declare each artifact you use because the POMs carry no transitive dependencies (&lt;code&gt;shoplive-common&lt;/code&gt;, &lt;code&gt;shoplive-network&lt;/code&gt;, &lt;code&gt;shoplive-sdk-core&lt;/code&gt;, and so on).&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Added the campaign list API &lt;code&gt;ShopLiveCampaigns.getCampaigns&lt;/code&gt;. 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&lt;/li&gt;&lt;li&gt;A single &lt;code&gt;onClose&lt;/code&gt; handler now receives both preview and OS PIP close events, with the reason, exactly once per screen&lt;/li&gt;&lt;li&gt;Fixed playback stalling near the end of a replay, swipe-to-close not delivering the close callback, and the close callback firing twice&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[New] Web live player — August update</title>
      <link>https://developer.shoplive.cloud/web/live/</link>
      <guid isPermaLink="false">shoplive-news-2026-08-27-web-live-2026-08</guid>
      <pubDate>Thu, 27 Aug 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Join notices:&lt;/strong&gt; chat announces viewers as they join, and shows a notice when a prize draw starts&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Winner results:&lt;/strong&gt; anonymous winner totals, an option to hide the winner list, and winner name masking&lt;/li&gt;&lt;li&gt;Coupon popups can copy a code to the clipboard&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Captions:&lt;/strong&gt; two-line replay captions and SRT captions for recorded-video broadcasts, long captions split and paced in order, a &amp;quot;caption&amp;quot; icon instead of CC in the Korean UI, and captions shown automatically while muted (admin setting)&lt;/li&gt;&lt;li&gt;Switching product groups now scrolls the product list to the top, and fixed the resolution option missing on some replays&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[New] iOS SDK 3.0.1 — start previews in in-app PIP</title>
      <link>https://github.com/shoplive/shoplive-sdk-ios/releases/tag/3.0.1</link>
      <guid isPermaLink="false">shoplive-news-2026-08-26-ios-sdk-3.0.1</guid>
      <pubDate>Wed, 26 Aug 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;ul&gt;&lt;li&gt;Set &lt;code&gt;ShoplivePlayOptions.presentationStyle = .pip&lt;/code&gt; to open playback straight in the floating in-app PIP window. The &lt;code&gt;preview&lt;/code&gt; presets (PIP start, muted, overlays hidden) replace the 2.x preview popup. &lt;code&gt;.fullScreen&lt;/code&gt; stays the default&lt;/li&gt;&lt;li&gt;Swipe an in-app PIP window off screen to close it&lt;/li&gt;&lt;li&gt;The campaign&amp;#x27;s live badge is drawn over in-app PIP&lt;/li&gt;&lt;li&gt;Private broadcasts with an entrance code play on both HLS and WebRTC&lt;/li&gt;&lt;li&gt;Fixed a crash when the player&amp;#x27;s WebSocket was torn down while a message was being delivered&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] Android SDK 3.0.0 — first unified SDK release</title>
      <link>https://github.com/shoplive/shoplive-sdk-android/releases/tag/3.0.0</link>
      <guid isPermaLink="false">shoplive-news-2026-08-19-android-sdk-3.0.0</guid>
      <pubDate>Wed, 19 Aug 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;p&gt;&lt;strong&gt;Artifact coordinates and the public API changed.&lt;/strong&gt; Declare &lt;code&gt;cloud.shoplive:shoplive-player-sdk&lt;/code&gt; and/or &lt;code&gt;shoplive-streamer-sdk&lt;/code&gt;; everything else comes transitively.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Player settings now go in one &lt;code&gt;ShoplivePlayerConfiguration&lt;/code&gt; value instead of individual setters&lt;/li&gt;&lt;li&gt;&lt;code&gt;sound.mixWithOthers&lt;/code&gt; now defaults to &lt;code&gt;false&lt;/code&gt;, so playback interrupts other apps&amp;#x27; audio. Set it to &lt;code&gt;true&lt;/code&gt; to keep mixing&lt;/li&gt;&lt;li&gt;The streamer can broadcast over RTMP, chosen by the campaign configuration&lt;/li&gt;&lt;li&gt;Fixed &lt;code&gt;sound.muteOnStart&lt;/code&gt; being ignored and a black screen instead of the background image when a broadcast ended, among others&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[New] Flutter SDK 1.8.14</title>
      <link>https://github.com/shoplive/shoplive-sdk-flutter/releases/tag/1.8.14</link>
      <guid isPermaLink="false">shoplive-news-2026-08-14-flutter-sdk-1.8.14</guid>
      <pubDate>Fri, 14 Aug 2026 09:00:00 +0900</pubDate>
      <category>Legacy v1</category>
      <description>&lt;ul&gt;&lt;li&gt;Added &lt;code&gt;ShopLivePlayer.setResizeMode()&lt;/code&gt; to set how the live player fits the screen (&lt;code&gt;auto&lt;/code&gt; · &lt;code&gt;centerCrop&lt;/code&gt; · &lt;code&gt;fit&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;Updated the bundled Shoplive iOS and Android SDKs to 1.8.13&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Improved] Web shortform — August update</title>
      <link>https://developer.shoplive.cloud/web/shortform/</link>
      <guid isPermaLink="false">shoplive-news-2026-08-11-web-shortform-2026-08</guid>
      <pubDate>Tue, 11 Aug 2026 09:00:00 +0900</pubDate>
      <category>Short-form</category>
      <description>&lt;ul&gt;&lt;li&gt;Added a URL mode that links showcases by product URL, with UX improvements&lt;/li&gt;&lt;li&gt;Initialization is refused for an expired access key&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Breaking] iOS SDK 3.0.0 — first unified SDK release</title>
      <link>https://github.com/shoplive/shoplive-sdk-ios/releases/tag/3.0.0</link>
      <guid isPermaLink="false">shoplive-news-2026-08-07-ios-sdk-3.0.0</guid>
      <pubDate>Fri, 07 Aug 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;p&gt;&lt;strong&gt;The 2.x public API is replaced, and the minimum iOS is 15.0.&lt;/strong&gt; Declare only the Swift Package Manager products &lt;code&gt;ShoplivePlayerSDK&lt;/code&gt; and/or &lt;code&gt;ShopliveStreamerSDK&lt;/code&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Present &lt;code&gt;ShoplivePlayerViewController&lt;/code&gt; or embed &lt;code&gt;ShoplivePlayerView&lt;/code&gt;, configured with one &lt;code&gt;ShoplivePlayerConfiguration&lt;/code&gt;&lt;/li&gt;&lt;li&gt;The delegate is down to two methods (&lt;code&gt;didReceive&lt;/code&gt; for notifications, &lt;code&gt;didRequest&lt;/code&gt; for requests), and the entry point is one &lt;code&gt;Shoplive.initialize&lt;/code&gt; · &lt;code&gt;setUser&lt;/code&gt; … surface (Swift only)&lt;/li&gt;&lt;li&gt;Errors arrive as &lt;code&gt;ShopliveError&lt;/code&gt; with a &lt;code&gt;ShopliveErrorCode&lt;/code&gt;&lt;/li&gt;&lt;li&gt;The streamer also broadcasts over RTMP and asks for camera and microphone permission when the broadcast screen opens&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[New] Web live player — July update</title>
      <link>https://developer.shoplive.cloud/web/live/</link>
      <guid isPermaLink="false">shoplive-news-2026-07-31-web-live-2026-07</guid>
      <pubDate>Fri, 31 Jul 2026 09:00:00 +0900</pubDate>
      <category>Live</category>
      <description>&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Emoji button:&lt;/strong&gt; viewers can react with emoji&lt;/li&gt;&lt;li&gt;URLs in popup text and in operator chat messages now open the linked page&lt;/li&gt;&lt;li&gt;New option to show live Q&amp;amp;A replies inside the chat list&lt;/li&gt;&lt;li&gt;Chats hidden by AI chat moderation can be restored, and image clicks in the winner-results replay sheet are reported as events&lt;/li&gt;&lt;li&gt;Winner announcements now work on every theme, with more languages&lt;/li&gt;&lt;li&gt;Fixed captions drifting after switching tabs, long captions without spaces overflowing, and the winner announcement misfiring for viewers who join mid-broadcast&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[New] Web shortform — July update</title>
      <link>https://developer.shoplive.cloud/web/shortform/</link>
      <guid isPermaLink="false">shoplive-news-2026-07-30-web-shortform-2026-07</guid>
      <pubDate>Thu, 30 Jul 2026 09:00:00 +0900</pubDate>
      <category>Short-form</category>
      <description>&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Showcase:&lt;/strong&gt; new embedded showcase player for product pages (&lt;code&gt;setShortformShowcase&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;Fixed collection details always playing the first video, and the cover thumbnail disappearing on collections with preview playback turned off&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[Improved] Flutter SDK 1.8.13</title>
      <link>https://github.com/shoplive/shoplive-sdk-flutter/releases/tag/1.8.13</link>
      <guid isPermaLink="false">shoplive-news-2026-07-09-flutter-sdk-1.8.13</guid>
      <pubDate>Thu, 09 Jul 2026 09:00:00 +0900</pubDate>
      <category>Legacy v1</category>
      <description>&lt;ul&gt;&lt;li&gt;Updated the bundled Shoplive iOS and Android SDKs to 1.8.11. No Dart API changes&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
