Multiple Paywalls

How to use multiple different paywalls in your app.

There are many reasons you might want to use multiple paywalls in your app. Below are a few different examples of use cases that Nami customers use multiple different paywall designs for in their apps.

  • Create a different paywall for your Android and Apple apps.
  • Create different paywalls for different Entitlements.
  • Sell different SKU types such as subscriptions and consumables with different paywalls.
  • Contextualize your paywalls to the specific content your users are trying to access.

If your app has multiple entitlements that unlock distinct content or features, you may want to sell these with different paywalls where you can spend more time articulating the value proposition of each entitlement to your customers.

Another use case we commonly see is an app may sell a subscription, but then also sell some additional credits than a user can purchase to redeem in the app for additional functionality. Once the user has purchased the subscription, you may want to use an entirely different paywall to sell the credits.

Content apps may want to use a different paywall for a user that wants to access political content than for a user looking to watch a sports video.

All of these use cases can be enabled simply on the Nami platform.

📘

Minimum SDK Versions

Note that using multiple paywalls requires the following versions of the Nami SDKs.

  • Android - v1.0.0+
  • Apple - v2.5.0+
  • React Native - v1.0.0+

Control Center Setup

Nami supports any combination of Paywall Creator or Linked Paywalls in your app.

To use multiple paywalls in your app, be sure to set the Developer Paywall ID field. You will use this ID to reference which paywall you want to raise in your app.

For Paywall Creators paywalls you must have a Developer Paywall ID set as well as at least 1 Product SKU added to your paywall in order to raise it your app.

For Linked Paywalls, you only need the Developer Paywall ID set in the Control Center.

1326

App Code

In your app code, simply call the raisePaywall method with the correct Developer Paywall ID to display the paywall you want.

NamiPaywallManager.raisePaywall(developerPaywallID: "main", fromVC: self)
[NamiPaywallManager raisePaywallWithDeveloperPaywallID:@"main" fromVC:nil];
NamiPaywallManager.raisePaywall("main", this)
NativeModules.NamiPaywallManagerBridge.raisePaywallByDeveloperPaywallId("main");

If the Developer Paywall ID is not found, you'll get a warning in the logs. Check to make sure that the ID in your code matches what is defined in the Control Center and that the paywall is Fully Configured.

For Linked Paywalls be sure that you have registered a callback to render the paywall UI as well. See our Linked Paywall Guide if you need more details.