class MainActivity : AppCompatActivity() {
private val embeddedCartFactory = object : EmbeddedCartFactory {
override fun getInstance(): Fragment {
return CustomShoppingCartFragment()
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Set the factory
FireworkSdk.shopping.setEmbeddedCartFactory(embeddedCartFactory)
// Enable embedded cart behavior
FireworkSdk.shopping.setShoppingCartBehaviour(
Shopping.CartBehaviour.Embedded(title = "Shopping Cart")
)
}
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Set callback behavior
FireworkSdk.shopping.setShoppingCartBehaviour(Shopping.CartBehaviour.Callback)
// Handle cart clicks
FireworkSdk.shopping.setOnCartClickListener { videoInfo ->
// Open cart activity or fragment
startActivity(Intent(this, CartActivity::class.java))
}
}
override fun onDestroy() {
FireworkSdk.shopping.setOnCartClickListener(null)
super.onDestroy()
}
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
FireworkSdk.shopping.setOnProductLinkClickListener { productId, unitId, productWebUrl, videoInfo ->
// Let fullscreen player jump into picture in picture mode
FireworkSdk.enterPip()
// Handle custom navigation
// Return true to handle it yourself, false to let SDK handle it
openProductPage(productWebUrl)
return true
}
}
override fun onDestroy() {
FireworkSdk.shopping.setOnProductLinkClickListener(null)
super.onDestroy()
}
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
FireworkSdk.shopping.setOnShoppingErrorListener { error ->
when (error) {
is ShoppingError.AddToCartError -> handleCartError(error)
is ShoppingError.ShowProductInfoError -> handleProductError(error)
}
}
}
private fun handleCartError(error: ShoppingError.AddToCartError) {
when (error) {
ShoppingError.AddToCartError.NullProductId ->
Log.e(TAG, "Product ID is null")
ShoppingError.AddToCartError.NullProductUnitId ->
Log.e(TAG, "Product unit ID is null")
ShoppingError.AddToCartError.NullCartActionListener ->
Log.e(TAG, "Cart listener not set")
ShoppingError.AddToCartError.Timeout ->
Log.e(TAG, "Add to cart timeout")
}
}
private fun handleProductError(error: ShoppingError.ShowProductInfoError) {
when (error) {
ShoppingError.ShowProductInfoError.FailedToLaunchUrl ->
Log.e(TAG, "Failed to launch product URL")
ShoppingError.ShowProductInfoError.NullProductId ->
Log.e(TAG, "Product ID is null")
ShoppingError.ShowProductInfoError.NullUnitId ->
Log.e(TAG, "Unit ID is null")
ShoppingError.ShowProductInfoError.NullProductWebUrl ->
Log.e(TAG, "Product URL is null")
}
}
override fun onDestroy() {
FireworkSdk.shopping.setOnShoppingErrorListener(null)
super.onDestroy()
}
}