Product Hydration
Introduction
Mode
Trigger
Scope
Listener
Hydration Level
Feed-Level Product Hydration
Setup
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
...
FireworkSdk.shopping.setOnFeedProductHydrationListener { products, hydrator ->
// Fetch latest product data from your backend
val updatedProducts = myApi.fetchProducts(products.mapNotNull { it.id })
for (product in products) {
val productId = product.id ?: continue
val updated = updatedProducts[productId] ?: continue
hydrator.hydrate(productId) {
name(updated.name)
description(updated.description)
isAvailable(updated.inStock)
for (unit in product.units) {
val unitId = unit.id ?: continue
variant(unitId) {
price(updated.variants[unitId]?.price ?: 0.0)
}
}
this
}
}
hydrator.completeHydration()
}
}
override fun onDestroy() {
FireworkSdk.shopping.setOnFeedProductHydrationListener(null)
super.onDestroy()
}
}Callback Parameters
Parameter
Type
Description
Behavior
Video-Level Product Hydration
Callback Parameters
Parameter
Type
Description
Best Practices
Recommendation
When to use
Product Hydration
Basic Attributes
Method
Description
Main Product Image
Method
Description
Display Control
Method
Description
CTA (Call-To-Action) Customization
Method
Description
Variant Management
Add a new variant
Remove a variant
Clear all existing variants
Replace existing variants with new variants
Modify existing variants
Important Notes
allowedVariantOptions
allowedVariantOptionscompleteHydration()
completeHydration()API Reference
Last updated
Was this helpful?