You could utilize FireworkSDK.getInstance().shopping.productInfoViewConfiguration to customize the shopping CTA button, the Firework PDP link button, and the video product card.
Create a configuration for shopping CTA button
final shoppingCTAConfiguration = ShoppingCTAButtonConfiguration(
// The text of shopping CTA button: "Shop now" or "Add to card"
text: ShoppingCTAButtonText.shopNow,
// The text color of CTA button
// Only supported on iOS
textColor: "#000000",
// The background color of CTA button
// Only supported on iOS
backgroundColor: "#c0c0c0",
// The text color of CTA button
// Only supported on iOS
fontSize: 16,
// iOS font info
iOSFontInfo: IOSFontInfo(
fontName: "Helvetica",
systemFontStyle: IOSSystemFontStyle.italic,
systemFontWeight: IOSSystemFontWeight.heavy,
),
);
Create a configuration for Firework PDP link button
final linkButtonConfiguration = LinkButtonConfiguration(
// Specifies if the link button should be hidden
isHidden: true,
);
Create a configuration for video product card
final productCardConfiguration = ProductCardConfiguration(
// The theme of video product card
theme: ProductCardTheme.light,
// The corner radius of video product card
cornerRadius: 10,
// Specifies if the CTA button should be hidden
isCtaButtonHidden: true,
// The text of shopping CTA button: "Buy now" or "Shop now"
ctaButtonText: ProductCardCTAButtonText.buyNow,
// The cta button style of video product card
// Only supported on iOS
ctaButtonStyle: ProductCardCTAButtonStyle(
textColor: "#000000",
fontSize: 16,
iOSFontInfo: IOSFontInfo(
fontName: "Helvetica",
systemFontStyle: IOSSystemFontStyle.italic,
systemFontWeight: IOSSystemFontWeight.heavy,
),
),
// The price configuration of video product card
priceConfiguration: ProductCardPriceConfiguration(
// The axis of price label: horizontal or vertical
// Only supported on iOS
axis: ProductCardPriceLabelAxis.horizontal,
// The label configuration of price
// Only supported on iOS
priceLabel: ProductCardLabelConfiguration(
textColor: "#000000",
fontSize: 16,
numberOfLines: 2,
iOSFontInfo: IOSFontInfo(
fontName: "Helvetica",
systemFontStyle: IOSSystemFontStyle.italic,
systemFontWeight: IOSSystemFontWeight.heavy,
),
),
// The label configuration of original price
// Only supported on iOS
originalPriceLabel: ProductCardLabelConfiguration(
textColor: "#000000",
fontSize: 16,
numberOfLines: 2,
iOSFontInfo: IOSFontInfo(
fontName: "Helvetica",
systemFontStyle: IOSSystemFontStyle.italic,
systemFontWeight: IOSSystemFontWeight.heavy,
),
),
// The default display order is [priceLabel, originalPriceLabel]
// When the value is `true`, the order is reversed
// Only supported on iOS
isPriceFirst: true,
),
// The width of video product card
// Only supported on iOS
width: 240,
// The height of video product card
// Only supported on iOS
height: 150,
// The background color of video product card
// Only supported on iOS
backgroundColor: '#c0c0c0',
// The label configuration of video product name
// Only supported on iOS
nameLabel: ProductCardLabelConfiguration(
textColor: "#000000",
fontSize: 16,
numberOfLines: 2,
iOSFontInfo: IOSFontInfo(
fontName: "Helvetica",
systemFontStyle: IOSSystemFontStyle.italic,
systemFontWeight: IOSSystemFontWeight.heavy,
),
),
// The icon configuration of product icon
// Only supported on iOS
iconConfiguration: ProductCardIconConfiguration(cornerRadius: 10),
);
Apply configurations
You could utilize FireworkSDK.getInstance().shopping.productInfoViewConfiguration to apply these configurations.
The host app could use FireworkSDK.getInstance().shopping.setCartItemCount to sync the cart item count to Firework SDK. The count should be greater than or equal to 0. We just use count to show or hide the red indicator on the cart icon. If count > 0, we will show the red indicator on the cart icon. Otherwise, we will hide the red indicator on the cart icon.