Repository navigation
Shoplive SDK for Flutter 3.0.3 is built on Shoplive Android SDK 3.0.3 and iOS SDK 3.0.3.
There is no Dart breaking change from 3.0.2. Update all three packages to the same version.
Highlights
- Streamer web page.
ShopliveStreamer.instance.start(campaignKey, webPageUrl: ...)shows a web page when the broadcaster swipes on the broadcast screen (Android and iOS). The URL must start withhttp://orhttps://and have a host. An invalid URL fails withINVALID_ARGUMENTbefore the broadcast screen opens.nullkeeps the 3.0.2 behavior. - PIP drag-out to close. New
ShoplivePipOptions.isDragOutToCloseEnabledsets whether the in-app PIP window closes when it is dragged off the screen (Android and iOS). If you omit it, the current value stays (SDK default:true). - Player restart fix.
startwhile a session is open (or afterclose) now opens a new player with the configuration of that call. Before, Android reused the previous player and ignored the new settings (for example, alivestart after apreviewsession showed a black preview screen). iOS now also closes the current player and opens a new one. To change the campaign and keep the current settings, useplay. - Same coupon / custom-action default on both platforms. If you omit
alertTypeinrespond, both platforms now usetoast. Before, Android sent no value.
Changes
shoplive_core
ShopliveConfiguration.appVersionis deprecated and ignored. SDK 3.0.3 reads the app version itself. A warning is logged if you set it.ShopliveError.rawCodeis now set on both platforms.- Error
codevalues are the SDK 3.0.3 constant names. Android 3.0.3 removedNOT_INITIALIZED_CONFIGandNOT_INITIALIZED_CAMPAIGN_KEYand added new codes (for example,AUTHENTICATION_FAILEDandPIP_*). Treatcodeas an opaque string.
shoplive_player
- Added
ShoplivePipOptions.isDragOutToCloseEnabled.getConfiguration()returns it. - Fixed:
starton an open session now applies the new configuration (see Highlights). - iOS:
ShoplivePlayerType.previewalso sets the SDK 3.0.3ShoplivePlayerConfiguration.type. - Error events:
rawCodeis now always set on iOS. The event keys (code,message,rawCode,recoverable) are unchanged. - An omitted
alertTypenow meanstoaston both platforms. The fallback result is unchanged (success: false, status: keep, alertType: toast).
shoplive_streamer
- Added the named parameter
webPageUrltostart. - Error events:
rawCodeis now always set on iOS.
Note
Existing calls to start still compile. But if your test double implements ShopliveStreamer and overrides start(String), change its signature to start(String campaignKey, {String? webPageUrl}).
Installation
dependencies:
shoplive_player: 3.0.3 # player, includes shoplive_core
# shoplive_streamer: 3.0.3 # broadcast, includes shoplive_coreRequirements
No change from 3.0.2.
| Minimum | |
|---|---|
| Flutter / Dart | 3.22 / 3.4 |
| Android Gradle Plugin / Gradle / JDK | 8.7 / 8.9 / 17 |
| Android minSdk / compileSdk | 23 / 36 |
| iOS | 15.0 (Xcode with Swift 5.9 or later) |
Upgrade notes
Android
- The SDK 3.0.3 artifacts are only in
https://sdk.shoplive.cloud/maven-repo(not in Maven Central). Keep theexclusiveContentrule for thecloud.shoplivegroup. Theshoplive-media3conflict of 3.0.2 no longer applies.
iOS
- During
pod install, the plugins download the iOS SDK 3.0.3 XCFrameworks and verify the new sha256 checksums. Runpod install(orflutter run) again after you update.
For the full list, refer to the CHANGELOG of each package: shoplive_core · shoplive_player · shoplive_streamer.
Links
- Integration guide: https://developer.shoplive.cloud/mobile
- Native SDK release notes: Android · iOS
- Contact: ask@shoplive.cloud
Full Changelog: 3.0.2...3.0.3