Super Properties
Set global properties that are automatically attached to every event.
Super properties are key-value pairs that are automatically included with every event you track. They are useful for values that rarely change, such as the user's subscription plan, app theme, or A/B test group.
Register Properties
Set one or more super properties that will be attached to all future events:
await Adopture.registerSuperProperties({
'app_theme': 'dark',
'subscription_tier': 'pro',
});Register Once
Set properties only if they have not already been registered. This is useful for values you want to capture once, like the date of first launch:
await Adopture.registerSuperPropertiesOnce({
'first_open_date': '2025-01-15',
});Remove a Property
Remove a single super property by key:
await Adopture.unregisterSuperProperty('app_theme');Clear All Properties
Remove all registered super properties:
await Adopture.clearSuperProperties();Read Current Properties
Access the current set of super properties:
Map<String, String> props = Adopture.superProperties;Persistence
Super properties are persisted across app restarts using SharedPreferences. You do not need to re-register them each time the app launches.
Priority
If an event-level property has the same key as a super property, the event-level property takes precedence. This allows you to override a super property for a specific event without changing the global value.