Overview
Helium emits paywall and lifecycle events related to paywalls, purchasing, configuration, and experimentation. This page acts as a reference to what events are available in Helium, and when each one is fired. Visit each SDK’s quickstart page to see how to listen for and handle events.Event Types
- iOS
- Android
- React Native
- Flutter
Available Events
Paywall and Purchase Events
System Events
Experiment Events
ExperimentInfo Structure
TheexperimentInfo object in the userAllocated event contains experiment allocation data. This event fires once per session when a user is assigned to an experiment variant, which happens on the first trigger the user sees.
Core Fields
Experiment Details
Targeting Details
Variant Details
Hash Details
These fields provide information about how the user was deterministically assigned to a variant.Logged Events
All Helium events (see the full list above) get logged to your analytics backend automatically with automatic event forwarding, along with the parameters listed there. Each event’s parameters will usually show up as event properties.Event names and properties might show up as underscored/camelcase/JSON, depending on the platform.
Contextual Traits
Helium automatically and securely collects device and software attributes:- Locale: country, currency, currency symbol, language, preferred languages, time zone, decimal separator, uses metric system
- Screen: brightness, bounds, native bounds, scale, native scale, dark mode enabled
- Device: device identifier, orientation, system name, system version, device model, interface idiom, storage capacity
- Application: version, build number, app name, Helium SDK version, environment
Custom Traits
Custom user traits included in theHelium.initialize() call also get sent as part of all events. If you pass custom user traits as part of a paywall presentation method call, these will override any custom traits of the same name passed in during initialize().