Background
Get set up with the Helium SDK for React Native. Reach out over your Helium slack channel or email founders@tryhelium.com for any questions.Installation
Install the SDK using your preferred package manager:Configuration
Follow these steps to integrate the SDK.Initialization
Initialize Helium by callinginitialize() early in your app’s lifecycle, typically in your root component.
If you are using RevenueCat, follow the example in the next section.
Use RevenueCat with Helium
Custom Purchase Config
To use your own purchase logic, pass in a custom purchase config toinitialize.
Custom Purchase Config Example
Custom Purchase Config Example
Custom User ID and Custom User Traits
You can pass in a custom user ID and custom user traits if desired toinitialize:
Presenting Paywalls
You must have a trigger and workflow configured in the dashboard in order to show a paywall.
presentUpsell method to present a paywall. presentUpsell takes in PresentUpsellParams:
PaywallEventHandlers
You can pass in paywall event handlers to listen for specific paywall events. (See the next section Helium Events for a way to handle global events).Helium Events
Listen for all Helium Events by implementingonHeliumPaywallEvent and passing it to initialize:
Checking Subscription Status & Entitlements
If you use an external payment processor like Stripe, Helium’s entitlement helpers may not be reliable. We recommend implementing your own entitlement checking in that case. If you use Stripe with RevenueCat, we recommend using RevenueCat’s entitlement APIs instead.
Example Usage
Fallbacks
There are currently two ways you can handle a “fallback” situation in the rare case that a paywall fails to download or an invalid trigger is provided. You can also do both. Better to be prepared!1. Use the onFallback function
You can pass this in when you call presentUpsell and handle however you want.
2. Provide a fallback bundle (recommended)
Provide a fallback bundle as described in this guide.Loading Budgets
If a paywall has not completed downloading when you attempt to present it, a loading state can show. By default, Helium will show this loading state as needed (a shimmer view for up to 7 seconds). You can configure or turn off this loading budget. If the budget expires before the paywall is ready, a fallback paywall will show if available otherwise the loading state will hide andonFallback will be called.
Advanced
Reset Helium
Reset Helium
Reset Helium entirely so you can call initialize again. Only for advanced use cases.