Skip to content

Android SDK - Tracking Events

FunnelMob.trackEvent("level_complete")
import com.funnelmob.sdk.FunnelMobRevenue
val revenue = FunnelMobRevenue.usd(29.99)
FunnelMob.trackEvent("purchase", revenue)
// Other currencies
val eur = FunnelMobRevenue.eur(19.99)
val gbp = FunnelMobRevenue.gbp(14.99)
val jpy = FunnelMobRevenue.of(2000.0, "JPY")
// Using BigDecimal for precision
val precise = FunnelMobRevenue.usd(BigDecimal("99.99"))
import com.funnelmob.sdk.FunnelMobEventParameters
// Using Builder
val params = FunnelMobEventParameters.Builder()
.set("item_id", "sku_123")
.set("quantity", 2)
.set("price", 29.99)
.set("is_gift", false)
.build()
FunnelMob.trackEvent("add_to_cart", params)
// Using DSL (Kotlin)
val params = FunnelMobEventParameters.build {
set("item_id", "sku_123")
set("quantity", 2)
set("price", 29.99)
}
// From a Map
val params = FunnelMobEventParameters.fromMap(mapOf(
"item_id" to "sku_123",
"quantity" to 2
))
val revenue = FunnelMobRevenue.usd(99.00)
val params = FunnelMobEventParameters.build {
set("plan", "annual")
set("trial_days", 7)
}
FunnelMob.trackEvent("subscribe", revenue, params)
import com.funnelmob.sdk.FunnelMobStandardEvents
FunnelMob.trackEvent(FunnelMobStandardEvents.REGISTRATION)
FunnelMob.trackEvent(FunnelMobStandardEvents.LOGIN)
FunnelMob.trackEvent(FunnelMobStandardEvents.PURCHASE)
FunnelMob.trackEvent(FunnelMobStandardEvents.SUBSCRIBE)
FunnelMob.trackEvent(FunnelMobStandardEvents.TUTORIAL_COMPLETE)
FunnelMob.trackEvent(FunnelMobStandardEvents.LEVEL_COMPLETE)
FunnelMob.trackEvent(FunnelMobStandardEvents.ADD_TO_CART)
FunnelMob.trackEvent(FunnelMobStandardEvents.CHECKOUT)
EventConstantValue
RegistrationFunnelMobStandardEvents.REGISTRATIONfm_registration
LoginFunnelMobStandardEvents.LOGINfm_login
PurchaseFunnelMobStandardEvents.PURCHASEfm_purchase
SubscribeFunnelMobStandardEvents.SUBSCRIBEfm_subscribe
Tutorial CompleteFunnelMobStandardEvents.TUTORIAL_COMPLETEfm_tutorial_complete
Level CompleteFunnelMobStandardEvents.LEVEL_COMPLETEfm_level_complete
Add to CartFunnelMobStandardEvents.ADD_TO_CARTfm_add_to_cart
CheckoutFunnelMobStandardEvents.CHECKOUTfm_checkout

All public methods have @JvmStatic annotations:

import com.funnelmob.sdk.FunnelMob;
import com.funnelmob.sdk.FunnelMobRevenue;
import com.funnelmob.sdk.FunnelMobEventParameters;
// Track events
FunnelMob.trackEvent("button_click");
// With revenue
FunnelMobRevenue revenue = FunnelMobRevenue.usd(29.99);
FunnelMob.trackEvent("purchase", revenue);
// With parameters
FunnelMobEventParameters params = new FunnelMobEventParameters.Builder()
.set("item_id", "sku_123")
.set("quantity", 2)
.build();
FunnelMob.trackEvent("add_to_cart", params);
  • Must not be empty
  • Maximum 100 characters
  • Must match pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
// Valid
FunnelMob.trackEvent("purchase") // OK
FunnelMob.trackEvent("level_2_complete") // OK
// Invalid (logged as errors)
FunnelMob.trackEvent("2nd_level") // Starts with number
FunnelMob.trackEvent("my-event") // Contains hyphen
FunnelMob.trackEvent("") // Empty
  • Must be a 3-letter ISO 4217 code
  • Automatically converted to uppercase with FunnelMobRevenue.of()
FunnelMobRevenue.usd(29.99) // OK
FunnelMobRevenue.of(29.99, "jpy") // Converted to "JPY"
// Invalid (throws IllegalArgumentException)
FunnelMobRevenue.of(29.99, "US") // Too short
FunnelMobRevenue.of(29.99, "USDD") // Too long