Migrate From V1 To V2
As Flutter SDK V2 upgrades Android SDK from V5 to V6, there are some differences in the features supported by V1 and V2 on the Android side. We made the feature comparison table below.
Features | V1 Android | V2 Android |
---|---|---|
Discover Feed | ✅ | ✅ |
Channel Feed | ✅ | ✅ |
Playlist Feed | ✅ | ✅ |
Playlist Group Feed | ✅ | Coming Soon |
Dynamic Content | ✅ | ✅ |
Horizontal/Vertical/Grid Layouts | ✅ | ✅ |
CTA button on Videos | ✅ | ✅ |
CTA button click handler and listener | ✅ | ✅ |
Shoppable Videos (Product Cards & Shopping experience | ✅ | ✅ |
Feed item click listener | ✅ | ✅ |
Video Player configurations | ✅ | ✅ |
Share and Deep-link mechanism | ✅ | ✅ |
Autoplay in Feed and its configuration | ✅ | ✅ |
Livestream | ✅ | ✅ |
IMA Ads | ✅ | ✅ |
FWAI Ads | ✅ | ✅ |
Storyblock | ✅ | ✅ |
Picture in Picture(Outside App) | ❌ | ✅ |
Picture in Picture(Inside App) | ❌ | ✅ |
Multihost Livestream(Agora) | ❌ | ✅ |
Low Latency Livestream | ❌ | ✅ |
Retail Media Network (RMN) Ad support | ❌ | ✅ |
Interstitial Ima Ad support | ❌ | ✅ |
Interstitial FWAI Ad support | ❌ | ✅ |
App-level setting | ✅ | ✅ |
The above table is last updated on June 8, 2023.
Update the version of
fw_flutter_sdk
from 1.x.x
to 2.x.x
.You need to follow V2 usage instead of V1 usage to configure video launch behavior.
// V1 usage
VideoFeed(
source: VideoFeedSource.discover,
videoPlayerConfiguration: VideoPlayerConfiguration(
launchBehavior: VideoLaunchBehavior.muteOnFirstLaunch,
),
)
// V2 usage
FireworkSDK.getInstance().init(
videoLaunchBehavior: VideoLaunchBehavior.muteOnFirstLaunch,
);
As Flutter SDK V2 upgrades Android SDK from V5 to V6, please follow this guide to set up the Android project.
The main changes are:
- The min kotlin version is: 1.6.10
- Add
mavenCentral()
tobuild.gradle
- V2 doesn't require adding
maven { url "https://jitpack.io" }
tobuild.gradle
. You could removemaven { url "https://jitpack.io" }
if no other library requires this.
You need to follow V2 usage instead of V1 usage to configure the shopping CTA style through Dart codes on the iOS side.
// V1 usage
FireworkSDK.getInstance().shopping.onWillDisplayProduct = (_) async {
return ProductInfoViewConfiguration(
addToCartButton: AddToCartButtonConfiguration(
backgroundColor: "#c0c0c0",
textColor: "#ffffff",
fontSize: 16,
),
);
};
// V2 usage
FireworkSDK.getInstance().shopping.productInfoViewConfiguration =
ProductInfoViewConfiguration(
ctaButton: ShoppingCTAButtonConfiguration(
backgroundColor: "#c0c0c0",
textColor: "#ffffff",
fontSize: 16,
),
);
Last modified 3mo ago