The Nami SDK supports a Passive Mode that allows the SDK to run without affecting the app experience in any way.
In this mode, you do not have to worry about the SDK interfering with existing handling of purchases or the UI of your app, while still getting the benefits of purchase analytics, insights, and machine learning.
Passive Mode shuts off the following components of the SDK.
- Handling of transactions
- Purchase validation
Shutting off campaigns full shuts off the behavior of paywalls in the SDK. With campaigns off, the Nami SDK will never attempt to raise a Paywall.s.
Nami will continue to monitor transactions in your app and these data will be transmitted to the Nami servers. This will enable analytics and insights as well as the Machine Learning to continue to function. However Nami will not take any action on transaction it is monitoring in Passive Mode, such as submitting them to the App Store PlatformApp Store Platform - A marketplace for in-app purchases provided by an App platform like Apple App Store or Google Play. for processing or clearing transaction queues.
Nami will continue to monitor purchase validation to power analytics and machine learning, but the SDK will not be responsible for validating purchases and granting access to features or content based on those purchases.
When you configure the Nami SDK, simply pass in
let namiConfig = Nami.NamiConfiguration namiConfig.appPlatformID = "YOUR_APP_PLATFORM_ID" namiConfig.passiveMode = true Nami.configure(namiConfg: namiConfig)
For the analytics, insights, and machine learning to function correctly, it is important that Nami is aware of when a Paywall was displayed to your users.
In order for this to work, you may either create a single Linked Paywall to count all Paywall Impressions in your app, or if you have multiple different purchase screens, you can create one Linked Paywall for each unique purchase screen in your app.
Head to the Paywall screen in the Control Center and create a New Linked Paywall.
Give the Paywall a simple name. In this case we used "Passive Mode Paywall". For the Developer Paywall ID, enter a string that you'll use in your code to track impressions logged to this Paywall.
Now in your app code any time you display a purchase screen to your users, make the following call to log impressions to this Paywall in Passive Mode.
If you are using the Nami SDK across multiple platforms, we recommend identifying your customers with the setExternalIdentifier method on successful sign-in.
If you wish to leverage Nami's machine learning, be sure to instrument your app for ML as well with these instructions.
Now you are all set up in Passive Mode.
Updated about 12 hours ago