Skip to main content
Using an older SDK version?If you’re upgrading from SDK v0.x, check our Migration Guide for breaking changes and upgrade instructions.

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:
We support Expo 49+ but do recommend using Helium with Expo 53 and up. If you’re on an older version and having issues, ping us - we’ve got experience with all kinds of versioning, upgrade, and custom build plugin work.

Configuration

Follow these steps to integrate the SDK.

HeliumProvider

HeliumProvider is no longer needed in v3.0+. See our Migration Guide.

Initialization

Initialize Helium by calling initialize() early in your app’s lifecycle, typically in your root component.
If you are using RevenueCat, check out the example in the next section.

Use RevenueCat with Helium

Important Make sure that you’ve already:

Presenting Paywalls

Use the presentUpsell method to present a paywall. presentUpsell takes in PresentUpsellParams:
PresentUpsellParams
method
You should now be able to see Helium paywalls in your app! Well done! 🎉

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. Provide a fallback bundle as described in this guide.
Update your fallback bundle whenever you make changes to your paywall for maximum reliability.

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 2 seconds). You can configure, turn off, or set trigger-specific loading budgets. If the budget expires before the paywall is ready, a fallback paywall will show if available otherwise the loading state will hide and onFallback will be called.

Additional Considerations

Expo Development Build

Please note that the Helium SDK uses native code, so you must create a development build. A common command to run for this is:

Paywall Events

Helium emits various events during the lifecycle of a paywall. If desired, you can handle these events in the onHeliumPaywallEvent callback. See Helium Events for more details.

Troubleshooting

Check if the Helium SDK is installed

If the package is not found, install it again:

Check if Helium is properly installed

To verify that the Helium pod is correctly installed in your project, run:
If not found, try these commands: