Documentation Index
Fetch the complete documentation index at: https://docs.tryhelium.com/llms.txt
Use this file to discover all available pages before exploring further.
What’s New:
- Simplified
initialize()- just pass context and API key - Automatic
PlayStorePaywallDelegatesetup if not explicitly configured - Cleaner namespaced APIs:
Helium.identity,Helium.config - New
PaywallPresentationConfigconsolidates presentation options - New
PaywallNotShownReasonfor handling paywall failures
Installation Update
Update your version constraint to4.x:
- Core (Android View System)
- Jetpack Compose UI
- RevenueCat
Initialize Migration
The biggest change in v4 is the simplified initialization. Configuration that was previously passed toinitialize() is now set on dedicated namespaces beforehand.
v0 (many parameters):
See the quickstart for more details.
presentUpsell to presentPaywall
The method has been renamed and the signature has changed significantly. Parameters are now consolidated intoPaywallPresentationConfig.
Full Example with All Parameters
v4:Method Renames
| v0 | v4 |
|---|---|
Helium.presentUpsell() | Helium.presentPaywall() |
Helium.hideUpsell() | Helium.hidePaywall() |
Helium.hideAllUpsells() | Helium.hideAllPaywalls() |
API Namespace Migration
Helium.identity
| v0 | v4 |
|---|---|
initialize(customUserId: ...) | Helium.identity.userId = ... |
initialize(customUserTraits: ...) | Helium.identity.setUserTraits(...) |
Helium.config
| v0 | v4 |
|---|---|
initialize(heliumPaywallDelegate: ...) | Helium.config.heliumPaywallDelegate = ... |
initialize(fallbackConfig: ...) | See Fallback Changes below |
Fallback Changes
v4 removesHeliumFallbackConfig and simplifies fallback configuration.
What’s Changed
- No more
HeliumFallbackConfigclass - UseHelium.configproperties directly - No more fallback views - Use fallback bundles exclusively
- No more per-trigger config - Use global settings only
- Automatic detection - SDK auto-detects
helium-fallbacks.jsonin your assets
Migration
v0:Configuration Property Mapping
| v0 (HeliumFallbackConfig) | v4 (Helium.config) |
|---|---|
fallbackBundleName | customFallbacksFileName |
loadingBudgetInMs | defaultLoadingBudgetInMs |
loadingView | defaultLoadingView |
useLoadingState | Computed from defaultLoadingBudgetInMs > 0 |
perTriggerLoadingConfig | Removed |
fallbackPerTrigger | Removed |
fallbackView | Removed (use fallback bundles only) |
Download your fallbacks from the Helium dashboard. See the Fallback Bundle Guide for details.
New Classes
PaywallPresentationConfig
Consolidates all paywall presentation options into a single data class:PaywallNotShownReason
Sealed class for handling paywall presentation failures:Quick Migration Checklist
Use this checklist to ensure you’ve covered all migration steps:- Update SDK to 4.x
- Move user ID/traits to
Helium.identity.*beforeinitialize() - Move delegate to
Helium.config.*beforeinitialize()(or let SDK auto-create) - Replace
presentUpsell()withpresentPaywall()and update parameters - Replace
hideUpsell()withhidePaywall() - Replace
hideAllUpsells()withhideAllPaywalls() - Remove
HeliumFallbackConfigusage, migrate toHelium.config.*properties - Set up fallback bundle (download from dashboard, add as
helium-fallbacks.json) - Add
onPaywallNotShownhandler topresentPaywall()calls - Test paywall presentation and purchases
Need Help?
- Review the Android SDK Quickstart
- Contact support via Slack or founders@tryhelium.com
