Migrate From V1 To V2 (Flutter)

V2 Android feature comparison with V1 Android feature

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.

FeaturesV1 AndroidV2 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.

Migration steps

Update package version

Update the version of fw_flutter_sdk from 1.x.x to 2.x.x.

Configure video launch behavior

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,
);

Update the Android project setting

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() to build.gradle

  • V2 doesn't require adding maven { url "https://jitpack.io" } to build.gradle. You could remove maven { url "https://jitpack.io" } if no other library requires this.

Configure the shopping CTA style through Dart codes(Only supported on iOS)

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 updated