Nami ML gives you everything you need to power your paywall, streamline subscription management, and drive revenue growth through instantly deployable paywalls, precise targeting and segmentation, and enterprise-grade security and scaleability.
Go beyond basic StoreKit IAP infrastructure and focus on results with:
- Library of smart paywall templates to choose from, implemented natively using Jetpack Compose
- No-code paywall creator so you can launch a new paywall design instantly, without submitting an app update
- Experimentation engine to run paywall A/B tests so you can improve your conversion rates
- Built-in IAP & subscription management and analytics, so you don't need another solution
Nami is simple adopt while giving you the tools you need to improve revenue. Our free tier is generous, and gives you everything you need to get started. Sign up for a free account
Get started by heading over to our quick start guide
- iOS 14+, iPadOS 14+, tvOS 15+
- In the Xcode menu select File > Swift Packages > Add Package Dependency.
- Enter the URL https://github.com/namiml/NamiSDK-SwiftPackageManager into the box just below Choose Package Manager, and press the Next button.
- Leave the default settings of Up to Next Major and current major version number, press Next button.
- After making sure the correct application target is selected, click the Finish button.
Add the following line to your Podfile. See the example in this repo Podfile.example
.
pod "Nami", "3.2.2"
Then run the command
pod install
The Nami XCFramework is available via the Swift Package Manager or Cocoapods. You may also add the XCFramework manually to your project.
When a new version of the Nami framework is released, just drag it over your old Nami framework in your application project directory - make sure to select "replace" instead of "merge". After the framework has been copied over the old one, make sure to select "Clean Build Folder" in Xcode so it properly refreshes the binary from the framework.
In your application delegate, the Nami SDK is configured and passed your unique app ID, You can find the Nami App Platform ID under the Nami Control Center's Integrations > Apple App Store section.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Configure Nami
let namiConfig = NamiConfiguration(appPlatformID: "YOUR_APP_PLATFORM_ID_GOES_HERE")
// optionally adjust the level of logging of the SDK
// .debug, .info, .warn, .error, defaults to .warn
namiConfig.logLevel = .info
Nami.configure(namiConfig: namiConfig)
return true
}