Nami Public Documentation
Sign In
Nami Documentation
Nami Documentation
  • Get Started
    • Overview
      • Key Concepts
      • Data Collection
      • Built for Privacy
    • Evaluating Nami
    • SDKs
      • Apple Native SDK
      • Android Native SDK
      • Amazon Native SDK
      • Roku Native SDK
      • React Native Cross-Platform SDK
      • Flutter Cross-Platform SDK
      • Unity Cross-Platform SDK
      • Release Notes
        • Find Nami SDK Version
    • Quickstart Guide
  • Subscription Management
    • Overview
    • Products
      • Archive Products
      • Sync Products
    • Entitlements
    • Customer Screen
    • Accounts and Login/Logout
    • Advanced Use Cases
      • Upgrades and Downgrades
      • Supported Purchase Change States by Platform
      • Restoring Purchases
      • Working with Consumable IAPs
  • No Code Paywalls
    • Overview
    • Paywall Creator
      • Using the Creator
      • Paywall Layout
      • Components
        • Editing, Deleting, Reordering
        • Hiding Components
        • Video
        • Collapse
      • Editable Properties
        • Focused Styling
        • Safe Area
      • Conditions
        • Notched Devices
        • Product Entitlements
      • Adding Products
      • Repeating Product Group
      • Product Fields
      • Capabilities
        • Featured Styling
        • Selected Styling
        • Custom Brand Fonts
        • Carousel
        • Trial Eligibility
        • Deeplink Button
        • Introductory Offer Eligibility
        • Login Check
        • Product Groups
        • Conditional Product Groups
        • Offer Eligibility and Purchasing
        • Screenreader Text
        • Personalization Tokens
        • Custom Variables
        • Multipage
        • Custom Data Source
        • Advanced Video Features
        • Product Error States
      • ❓FAQs
        • Designing Paywalls in Figma
        • Guide to Building a Paywall from Scratch
      • 🎁Releases
        • Roadmap
    • Paywall Templates
      • Pacific
      • Pacific Premium
      • Trident
      • Starfish
      • Mantis
      • Venice
      • Venice Premium
      • Honest
      • Catalina
      • Oyster
      • Puffin
      • Marina
      • Beluga
      • Driftwood
      • Lagoon
      • Pisces
      • Aquarius
      • Conch
      • Lionfish
      • Moray
      • Tetra
      • Lighthouse
      • Puffin Tablet
    • Managing Paywalls
      • Archiving a Paywall
      • Duplicate a Paywall
    • Paywall Smart Text
    • Pricing Eligibility States
    • Pricing Eligibility by Platform
    • Nami Paywalls in Different Languages
    • Legacy Paywalls
  • Campaigns
    • Placements
      • Create a Placement
      • Deeplink Placements
      • Archiving a Placement
      • Managing Lots of Placements
      • Export Placements
    • Campaigns
      • Campaign Filters
        • Campaign Use Cases
      • Archiving a Campaign
      • Scheduling a Campaign
      • Campaign Conversion Events
      • Managing Lots of Campaigns
      • Campaign Troubleshooting
    • A/B and Multivariate Testing
      • Selecting an A/B test winner
      • A/B Test Allocation
  • Integrations
    • All Integrations
    • Billing Platforms
      • Apple Integration
        • App Store Setup
          • Privacy Details
        • Platform Integration
        • App Store Server Notifications
        • Store Credentials
          • App Store Connect Shared Secret
          • Apple App Store Connect API
          • Apple In App Purchase
        • Add a Product
        • Platform Sync
        • SDK Integration
        • Troubleshooting
        • Testing and Development
          • Apple Testing Environments
          • Setting up Device Sandbox Test Environment
          • Setting up StoreKit config in Xcode
      • Google Integration
        • Google Play Store Setup
        • Platform Integration
        • Service Account
        • Real-time Developer Notifications
        • Add a Product
        • Platform Sync
        • SDK Setup
        • Troubleshooting
          • Supporting Android minSdkVersion 25 or lower
          • Requested product is not available for purchase
          • Unsupported Version of Play Billing
      • Amazon Appstore Integration
        • Create Amazon Android App
        • Platform Integration
        • Shared Key
        • Real-time Event Notifications
        • Add a Product
        • SDK Integration
        • Testing
      • Roku Integration
        • Platform Integration
        • API Key
        • Transaction Notifications
        • Add a Product
        • SDK Integration
      • Web Integration
    • Analytics Tools
      • Adobe Analytics
      • Amplitude
      • Google Analytics
      • mParticle
      • 3rd-Party Analytics
    • Subscription Management
      • Nami Subscription Management
      • Bring your Own Payment Code
    • CDP Integrations
      • Adobe CDP Integration
      • Amplitude CDP Integration
      • Custom CDP Integration
      • Generic CDP Integration
    • Other Integrations
      • Wicket Labs
      • Webhooks
        • Introduction to the Nami ML Event System
        • Event Types
          • Purchase Status Updates
          • Events for Upgrades, Downgrades, and Crossgrades
        • Event Subscriptions
        • Understanding Transferred Events and Accounts
      • API Access
    • Events Feed
  • Analytics
    • Using Charts
    • Paywall Analytics
      • Impressions
      • Paywall Conversion Rate
      • Sessions
      • Active Devices
    • Subscription Analytics
      • Revenue
      • MRR
      • Purchases
      • Trial Starts
  • Nami Account
    • Manage your Apps
      • Find your Nami App Platform ID
      • Setting up Legal Text for your Apps
    • Organization
      • Configuring Organization Security Policies
      • Billing
    • Invite your Team
      • Roles
    • Manage your Account
      • Two-Factor Authentication (2FA)
Powered by GitBook
On this page
  • No-Code Paywalls
  • In-App Purchase & Subscription Management
  • Adopting In-App Purchases on Apple Platforms
  • Adopting In-App Purchases on Android
  • How to Evaluate the Nami Solution
  1. Get Started

Evaluating Nami

Last updated 12 months ago

Nami provides two products, both of which save engineering teams a ton of time.

No-Code Paywalls

Nami moves control of your app's paywalls to a cloud-based CMS.

From a developer perspective, this means you can shift day-to-day management to the non-developers on your team, freeing your time to work on other critical work.

Our paywall solution works regardless of whether you have your own purchase management code, use a third-party subscription management vendor, or want to use us for subscription management.

There are two supported use cases to use Nami as your Paywall solution:

Choose a Template from our Paywall Gallery Nami has created a growing library of off-the-shell based upon common patterns and industry best practices.

Create your Own Paywall We provide a no-code paywall builder that allows you build your own paywall templates based upon our library of .

Eliminate Hard-Coded Rules Many apps depend on hard-coded rules to govern when a user is presented your paywall screen. Nami allows you to shift these rules to the cloud, so they can be easily managed and updated in real-time. Read more about managing business rules by .

In-App Purchase & Subscription Management

In-app purchases and subscriptions are notorious for being a hassle to implement, let alone test and maintain. We want to help developers stay focused on building a great app experience.

To start, Nami eliminates all of the platform-specific client-side and server-side purchase integration points.

For instance, if you're building an iOS app this means we simplify your use of StoreKit, handle receipt validation, and stand-up the backend to consume Apple's Server-to-Server notifications.

For Android apps, Nami takes care of the complexity of working with the Google Play Billing library, validating purchase tokens, and consuming the real-time developer notifications to make sure your app users' purchase state is up to date.

That's just the beginning! In this article, learn more about how Nami helps developers.

Adopting In-App Purchases on Apple Platforms

Nami helps make it easier to adopt in-app purchases (including subscriptions) on Apple's App Store platform.

Apple's StoreKit is well-known to be one of the more complex developer frameworks to incorporate into your app. Additionally, new App Store Connect server-side APIs are both necessary and complex to integrate for subscription apps.

Nami solves this, by simplifying the integration points to one (the Nami SDK) allowing you to follow Apple requirements and best practices without the pain.

Specifically, Nami automatically handles three key integration points:

StoreKit Purchase Flow The Nami SDK abstracts away much of the complexity required to utilize StoreKit. For example, the Restore Purchase flow or getting In-App Purchase SKProduct details are handled for you automatically.

Receipt Validation Nami interfaces with the App Store's receipt validation APIs so you don’t have to do any client or server-side receipt validation.

Server-to-Server Notifications Nami listens for Apple's Server-to-Server notification events on your behalf so you don't need to stand up a server. This provides on-going monitoring of key lifecycle changes so your app can adapt accordingly.

To have Nami listen to Server-to-Server notifications on your behalf, see Apple Integration

Easier Purchase Testing Besides implementation details, the Nami SDK helps simplify your purchase testing so you can test purchase flows without managing test users or running up against tedious system prompts just to see how your app reacts to purchase state changes.

Adopting In-App Purchases on Android

Nami helps make it easier to adopt in-app purchases (including subscriptions) on Google's Play Store platform.

Working with the Google Play Billing library can be tricky. Google releases major updates to the library every year and staying on top of all the latest changes and requirements can take a lot of effort.

Nami solves this, by simplifying the integration points to one (the Nami SDK) allowing you to follow Google's requirements and best practices without the pain.

Specifically, Nami automatically handles three key integration points:

Google Play Billing Purchase Flow The Nami SDK abstracts away much of the complexity required to utilize the Play Billing Library, including dealing with acknowledging purchases, pending purchases, and other complex cases.

Purchase Token Validation Nami interfaces with Google's APIs to validate the purchase token so you don't have to write any client or server-side code. Nami validates purchase tokens server-side to help reduce fraud in your app.

Real-Time Developer Notifications Nami listens for Google's Real-Time Developer Notifications (RTDN) events on your behalf so you don't need to stand up a server. This provides on-going monitoring of key lifecycle changes so your app can adapt accordingly.

Easier Purchase Testing Besides implementation details, the Nami SDK helps simplify your purchase testing so you can test purchase flows without managing test users or running up against tedious system prompts just to see how your app reacts to purchase state changes.

How to Evaluate the Nami Solution

We have tried to make it straightforward to evaluate Nami through the following resources:

Sample Apps In addition to code snippets you'll find throughout our documentation, we provide sample app projects that you can compile and run.

Minimal Code to Get Started If you're ready to try Nami in your own project, you can get started with just a few lines of code. Our Add the SDK article will guide you through the steps.

Both can be quite frustrating to implement and test, leading to .

Additionally, an implementation of IAPs that meets all of Google's recommendations includes having a server for both purchase token validation and processing of .

To have Nami listen to RTDN events on your behalf, see our .

Documentation You're already here on our documentation portal. Here you'll find Guides and our documentation as well as links to our GitHub repository where you can find the Nami SDK.

Android:

Apple iOS, iPadOS, tvOS:

Flutter:

React Native:

Request a Demo If you or someone on your team would like to see Nami in action, .

Create an Account Create your account in moments to .

Privacy By Design We're - see more about .

Designing the Nami SDK We know it's an honor to be included in your app, and we take our responsibility seriously. To get more insight into how we think about SDK design, review blog post on .

App Standards In order to maintain high standards, our customers need to adhere to .

Developer Support We're also available to provide developer support if you have a question or want to walk through implementation details specific to your app. Please , we'd be happy to help!

paywall templates
components
creating a campaign
App Review pitfalls
real-time developer notifications
RTDN setup guide
sample app
sample apps
sample apps
sample apps
send us a demo request
start your evaluation
Built for Privacy
Data Collection
SDK Design Goals
application standards
let us know
SDK Reference