Skip to content

Nami SDK Stable Releases

Dan Burcaw edited this page Nov 7, 2024 · 106 revisions

3.2.8 (Nov 7, 2024)

Enhancements

  • Further refinements to StoreKit 2-based purchase event handling

Bug Fixes

  • Resolve issue where sometimes product button didn't appear when the product container contained a collapse component
  • Resolve an issue where video controls were too large

3.2.7 (Oct 27, 2024)

Bug Fixes

  • Resolve issue with accessibility on toggle component
  • Resolve an issue where the StoreKit receipt didn't refresh properly

3.2.6 (Oct 9, 2024)

Enhancements

  • Adjust handling of validate product group to utilize paywall capabilities

Bug Fixes

  • On multipage paywall, pause page 1 video when navigating to separate page

3.2.5 (Sep 27, 2024)

Bug Fixes

  • Resolve an issue with detecting invalid products

3.2.4 (Sep 26, 2024)

Enhancements

  • Product container supports vertical alignment bottom

Bug Fixes

  • Fix issue with carousel height
  • Fix vertical alignment to background container was not setting properly
  • Fix issue where certain event were sent to the API when they should not have been
  • Fix issue where profile updates we attempted, even if a device id was not registered
  • Fix issue where a failed device registration wouldn't block fetching paywalls
  • Fix support for 'dd' date formatte
  • Fix issue with conditions on carousel
  • Fix product display bug on iOS 14.4

3.2.3 (Aug 29, 2024)

Bug Fixes

  • Fix issue with spacer component with fixed height and safe area margin

Enhancements

  • Move initial product load to default priority queue
  • Use disableSingleGroup flag for more precise eligibility check

3.2.2 (Aug 7, 2024)

New Features

  • Add post-conversion event support

Enhancements

  • Support orientation change conditionals
  • Support dynamic text font color from data source

Bug Fixes

  • Fix collapse component scroll on long content
  • Fix bullet list text not changing on product group change for Lionfish
  • Fix issue with app supplied video details not changing after initial launch

3.2.1 (Jul 24, 2024)

New Features

  • Add new responsive grid component
  • Support advanced video features

Enhancements

  • Add Paywall Launch Context customObject for responsive grid
  • Support introductoryPricePerMonth smart text
  • Modify header behavior for collapse component
  • Don't require session id for impression
  • Support hero video at top of background container
  • Collapse component analytics should use component title
  • Support for horizontal items in responsive grid
  • Support for hidden components

Bug Fixes

  • Fix video unmute after several launches
  • Fix issue with test app campaign interaction
  • Fix collapse logic with multiple collapsible components
  • Fix issue with fallback image when video is paused
  • Fix issue causing image loading spinner and flashing
  • Fix issue with icons not aligning properly
  • Fix issue with video playback on subsequent launch of same paywall
  • Fix issue with header and content not aligning exactly
  • Fix top content cutoff on conch template

Maintainence

  • Add test app support for staging QA app platform id

3.2.0 (Jun 5, 2024)

Changelog

New Features

  • Support for the all-new Paywall Creator

3.1.34 (Mar 26, 2024)

Changelog

Bugfix

  • Resolve an issue with selected product price display on templates supporting carousels and product groups

3.1.32 (Feb 28, 2024)

Changelog

Bugfix

  • Resolve an issue with selected product border on certain paywall templates

3.1.31 (Feb 19, 2024)

Changelog

Bugfix

  • Resolve issue conversion reporting when running on StoreKit 2 impacting certain plans
  • Resolve and issue applying drop shadows on elements inside product containers

Enhancements

  • Support for dynamic purchase buttons

3.1.30 (Feb 4, 2024)

Changelog

Bugfix

  • Resolve issue with paywall product load on iOS 14

v3.1.29 (Jan 23, 2024)

Changelog

New Features

  • For customers using Nami for purchase management, StoreKit 2 is now used for initiating the purchase flow on supported OS versions (e.g. iOS 15+, tvOS 15+). Previously releases used StoreKit 2 on these OS versions for loading product information and determining customer eligibility on paywall. Now, StoreKit 2 is also being used to present the App Store purchase flow. Previous OS versions will continue using StoreKit 1.

Maintenance

  • Bump compile toolchain to Xcode 14.1 per Apple (https://developer.apple.com/news/?id=jd9wcyov)
  • NamiPurchaseManager functions skuPurchased and anySkuPurchased are now async
  • Previously deprecated NamiPurchaseManager functions removed: restorePurchases(handler: @escaping RestorePurchaseCompleteHandler) register(purchasesChangedHandler changeHandler: NamiPurchaseResponseHandler?)
  • NamiPurchaseManager functions now marked deprecated: skusForSKUIds(skuIds: [StoreId], productHandler: @escaping SKUsRequestCompletionHandler) func getRecord(forSKU skuId: StoreId) -> NamiPurchase?

v3.1.28 (Jan 12, 2024)

Bugfix

  • Fix issue where sku type was marked unknown in the registerBuySkuHandler and paywallActionHandler callbacks.

Maintenance

  • Bump to Xcode 14.0.1 framework compilation

v3.1.27 (Jan 9, 2024)

Bugfix

  • Fix issue where invalid products on paywall were causing CTA loading indicators to not clear

v3.1.26 (Jan 3, 2024)

Bugfix

  • Fix issue with hang on paywall launch early in the lifecycle when product details were still being gathered.

v3.1.24 (Jan 2, 2024)

Enhancements

  • Improve eligibility detection performance when a lot of skus and/or subscription groups are present

v3.1.23 (Dec 28, 2023)

Bugfixes

  • Don't call NamiPaywallManager.dismiss completion handler multiple times

Maintenance

  • Optimize sku menu filtering

v3.1.22 (Dec 20, 2023)

Bugfixes

  • Resolve main thread hang in certain circumstances

Enhancements

  • Enhance how initial config files are used to improve fallback scenarios

v3.1.21 (Dec 5, 2023)

Enhancements

  • Improve Nami.configure to support runtime reconfiguration
  • Support for runtime language switching for select plans
  • Support for product error states on select paywall templates
  • Support for sku.pricePerWeek smart text
  • Improved support for Ventura paywall template

Bug Fixes

  • Resolve issue with carousel display on iOS 14 devices
  • Resolve issue with image loading on iOS 14 devices

v3.1.20 (Nov 16, 2023)

Enhancements

  • Improved paywall eligibility detection

v3.1.19 (Nov 13, 2023)

Version bump.

v3.1.18 (Nov 7, 2023)

Bug Fixes

  • Fix issue with promotional eligibility key for tvOS paywalls

v3.1.17 (Nov 1, 2023)

Enhancements

  • Support for ${sku.pricePerDay} smart text
  • Simplify NamiPurchaseSuccess for paywall-only plans

v3.1.15 (Oct 23, 2023)

Enhancement

  • Support for table component

Bugfixes

  • Fix issue with eligibility detection for templates using launch context product groups
  • Fix issue with container component appearing when it shouldn't
  • Fix issue with close button not appearing

v3.1.14 (Oct 6, 2023)

Bugfixes

  • Don't show user facing text on paywall when an image can't load
  • Don't pass through a promo ID if it's not valid
  • Guards against API traffic if certain conditions are not met
  • Fix an issue where the transaction call would not send a valid payload

v3.1.13 (Sep 28, 2023)

Bug Fixes

  • If the SDK hasn't been configured, background listeners will do nothing.
  • Bug fix for multi-page paywall back action on mobile

Enhancements

  • Allow Nami.configure to be run again during the same session, if and only if, the app platform ID is different than the current configuration

Changelog

v3.1.12 (Sep 26, 2023)

Bug Fixes

  • Don't allow Nami.configure to be run multiple times during the same initialization
  • Only enable ML functionality on supported accounts

Enhancements

  • Provide an optional callback when Nami.configure is complete
  • Provide error handling callbacks when Nami is not configured in `NamiCustomerManager methods
  • Expose Nami.sdkConfigured to let apps guard against calling into the SDK before being configured

v3.1.11 (Sep 24, 2023)

Bug Fixes

  • tvOS: resolve what should happen when the remote back button happens on multi-page paywalls
  • tvOS: Fix page_change events to ensure they are fired correctly on multi-page paywalls

Enhancements

  • Added NamiPaywallManager.isPaywallOpen to find out if a paywall is currently on screen

v3.1.10 (Sep 20, 2023)

Enhancement

  • If we have campaign data, but not campaign's paywall id is not available, NamiCampaignManager.isCampaignAvailable now returns false. Use NamiCampaignManager.isCampaignAvailable to guard against a NamiCampaignManager.launch that would result in an error code on paywall raise.

v3.1.9 (Sep 14, 2023)

Bug Fixes

  • Resolve issue with transaction reporting under certain plan types

v3.1.8 (Sep 13, 2023)

Bug Fixes

  • Resolve text truncation issue on iOS 17/tvOS 17

v3.1.7 (Sep 6, 2023)

New Features

Add NamiPaywallManager.registerDeeplinkActionHandler so customers can implement their own logic to handler paywall buttons that trigger deep link actions. This can be used to either handle the "openURL" logic themselves, or implement custom logic to interpret the value passed through the handler and do whatever makes sense in the app context.

If this handler is not registered, the system will automatically open deep link URLs if a deep link action button on paywall is pressed.

Bug Fixes

  • Ensure provisional entitlements carry the name or desc fields if populated in the Control Center

Enhancements

  • Surface pending purchase in the paywallActionHandler with new PaywallActionType purchase_pending instead of purchase_unknown

v3.1.6 (Aug 29, 2023)

Changelog

Enhancements

  • Improved iOS, tvOS 17 support

v3.1.5 (Aug 28, 2023)

Changelog

Enhancements

  • Paywalls-only plans: Add loading indicators on paywall products when purchase is initiated. Indicators are cleared upon NamiPaywallManager.buySkuComplete and NamiPaywallManager.buySkuCancel
  • Set a shorter provisional entitlement TTL (3 minutes) when purchase environment is sandbox
  • Make provisional entitlement TTL configurable through optional Nami.configure value provisionalGrantTTL
  • Allow the provisional grants to be cleared manually via a NamiEntitlementManager.clearProvisionalEntitlementGrants

Bug Fixes

  • Resolve an issue where the current login or logout status was incorrect.

v3.1.4 (Aug 23, 2023)

Changelog

Enhancements

  • Initial compatibility for iOS and tvOS 17
  • Improvements to reduce API requests to the Nami service when not necessary

Bug Fixes

  • Resolve issue with NamiEntitlementManager.active not reliabily returning active entitlements from the server
  • Correct an issue with image fill behavior

Note on changes to NamiEntitlementManager

This release changes how NamiEntitlementManager.active gets its data. It now returns a provisional entitlement grant immediately after purchase, while waiting for server validation. The provisional grant has a TTL of 24 hours. We're going to refine this behavior in future SDK updates to:

  • Use a shorter TTL for provisional grants issued through sandbox purchases
  • Allow the provisional grant TTL to be configurable through optional Nami.configure parameter
  • Allow the provisional grants to be cleared manually via a NamiEntitlementManager.clearProvisionalEntitlementGrants

In the mean time, if you are testing purchases and calling NamiEntitlementManager.active on this release, perform a clean re-install between purchase tests since a provision grant may still be valid (for 24 hours) even when an accelerated sandbox purchase has expired.

v3.1.3 (Aug 15, 2023)

Changelog

Bug Fixes

  • Resolve performance issue on multi-page tvOS templates
  • Resolve issue with selecting default focus on product buttons
  • Fix tap area in segment picker component
  • Fix fill image issue in empty container component
  • Fix priceDifference and priceDifferencePercentage smart text substitutions

v3.1.2 (Jul 27, 2023)

Changelog

Bug Fixes

  • Internal improvement for custom fonts

v3.1.1 (Jul 26, 2023)

Changelog

Bug Fixes

  • Fix public initializer for NamiSKU to avoid ambiguity

v3.1.0 (Jul 26, 2023)

Changelog

Breaking Changes

  • NamiCampaignManager.launch paywallActionHandler not returns a NamiPaywallEvent object instead of long list of parameters

New Features

  • Support for multi-page paywall templates
  • Support for animated product toggle component
  • Select paywall templates now support automatic eligibility detection for free trials, intro offers, and promotional offers

Enhancements

  • Support image alignment

Bug Fixes

  • Open legal links via external browser
  • Fix bug rendering all stops of gradients

Maintenance

  • Internal improvements and enhancements

v3.0.25 (Jul 18, 2023)

Changelog

Enhancement

  • Add NamiPaywallManager.isHidden for advanced use case where Nami Window is in use.
  • Improve focus handling on tvOS with certain paywall templates

v3.0.24 (Jul 17, 2023)

Changelog

Bugfix

  • Fix thread data race which could result in a bad access crash
  • Fix issue in NamiPaywallManager.registerBuySkuHandler where the NamiSKU id field could be incorrect

v3.0.23 (Jul 11, 2023)

Changelog

Bugfix

  • Fix issue with launching deep link campaign when a Nami UIWindow is in use.

v3.0.22 (Jul 11, 2023)

Changelog

Enhancement

  • Refine the Nami UIWindow, including support for tvOS

v3.0.21 (Jul 10, 2023)

Changelog

Enhancement

  • Improve paywall raise when multiple UIWindows are found, including an optional Nami-supplied UIWindow instance.

Bugfix

  • Detect paywall close if the user swipes away the view

Maintenance

  • Get rid of some dead code

v3.0.20 (Jun 29, 2023)

Changelog

Bugfix

  • Allow paywall to launch if the parent view controller is modal

v3.0.19 (Jun 29, 2023)

Changelog

Bugfix

  • Resolve issue where urls passed into paywallLaunchContext were not getting cleared between launch

v3.0.18 (Jun 27, 2023)

Changelog

Bugfix

  • Fix issue where campaign name didn't properly surface in paywallActionHandler

v3.0.17 (Jun 27, 2023)

Changelog

New Features

  • Add anonymous mode - advanced use case

Enhancements

  • Filter campaigns by device form factor

Bugfix

  • Fix issue with products not loading on initial launch

v3.0.16 (Jun 16, 2023)

Changelog

New Features

  • Support for deep linking campaigns

Enhancements

  • tvOS paywall improvements for 1080p and 4k
  • Additional metadata included in paywallActionHandler callbacks
  • Support for dynamic sign-in control on supported templates
  • Support for custom accessibility hint for paywall product buttons

Bugfix

  • Resolve issue with RGBA color format parsing
  • Resolve NamiCampaignManager.isLoggedIn not returning correct answer early in the SDK lifecycle

v3.0.15 (Jun 12, 2023)

Changelog

New Features

  • Support for whitelisting product groups at launch for supported multi-product group paywall templates
  • Support for passing custom K/V attributes at launch for supported advanced paywall templates
  • Support for seagull template

Enhancements

  • Major performance improvement which resolves main thread hang under certain circumstances on iOS 15
  • Support managing styles at the sku-level on supported paywall templates

Bugfix

  • Fix spacer expansion issue with scroll view resolving brighton footer text issue on large devices.

v3.0.14 (May 31, 2023)

Changelog

Enhancements

  • Improved logic for determining where to present paywall from
  • Additional version of NamiCampaignManager.launch which accepts an optional view controller to present from

Bug Fixes

  • Properly register paywall close through the action handler when Apple TV remote menu button is pressed

v3.0.13 (May 30, 2023)

Enhancements

  • Add a public initializer for NamiSKU to support cross-platform frameworks
  • Add support for providing an initial config file to improve the first run experience

v3.0.12 (May 29, 2023)

Enhancements

  • Add support for drop shadows in supporting paywall templates
  • Add support for paywall templates with multiple product sections

Bug Fixes

  • Fix caching strategy on tvOS
  • Always allow NamiPaywallManager.registerBuySkuManager to be registered

v3.0.11 (May 27, 2023)

Bug Fixes

  • Fix caching strategy on tvOS

v3.0.10 (May 25, 2023)

Bug Fixes

  • Fix SPM Package.swift
  • Various internal improvements

v3.0.9 (May 10, 2023)

New Features

  • Link/unlink a device to a Customer Data Platform using NamiCustomerManager.setCustomerDataPlatformId and NamiCustomerManager.setCustomerDataPlatformId . Add routing of success/error through NamiAccountStateHandler callback.

Enhancements

  • Improvements to tvOS focus
  • Improvements to paywalls on tvOS 4k devices
  • Include campaign id,campaign label (if available), and paywall id in NamiPaywallActionHandler events
  • Internal improvements to paywall template color handling

v3.0.8 (May 8, 2023)

New Features

  • tvOS Support
  • Support for strikethrough text

Enhancements

  • Significant improvement to campaign launch times
  • Introduce paywall loading indicators for product load & waiting for the App Store purchase sheet
  • Add NamiPaywallManager.registerRestoreRequestHandler so customers paywall-only plans can respond to paywall restore requests
  • Improve iPad display

Breaking Changes

  • Legacy Linked & Paywall Creator paywalls are no longer supported
  • iOS 13 is no longer supported

v3.0.7 (March 8, 2023)

New Features

  • Add new NamiCustomerManager methods setCustomerAttribute, getCustomerAttribute, clearCustomerAttribute, clearAllCustomerAttributes for paywall personalize features

Enhancements

  • Incremental improvement to campaign launch times
  • Utilize asynchronous loading for all paywall images
  • Add support for upcoming paywall templates
  • Add devices traits for upcoming campaign targeting use cases

v3.0.6 (February 20, 2023)

New Features

  • Add new campaign management features to support using campaign availability to drive user interface elements. See NamiCampaignManager methods allCampaigns, isCampaignAvailable, refresh and registerAvailableCampaignsHandler
  • Add support for bringing your own IAP/subscription management implementation for supported plan types. See NamiPurchaseManager methods registerBuySkuHandler and buySkuComplete

Enhancements

  • Improvements to support paywall presentation in full screen (requests compatible templates)

v3.0.5 (February 2, 2023)

Note: Nami Apple SDK is jumping versions to aligned with Nami Android, to reflect the fact that the SDKs are now synced in terms of supported features.

Changelog

New Features

  • Support for Carousel component on supported paywall templates
  • Support Dark Mode on supported paywall templates
  • Support loading font resources over the wire when available for supported paywall templates
  • Add optional fullScreenPresentation property to NamiConfiguration. Defaults to false. When true, paywalls will be displayed with modalPresentationStyle .fullscreen
  • Add additional purchase lifecycle context to paywallActionHandler (see NamiCampaignManager.launch)

Bug Fixes

  • Ensure more responsive tap zones for paywall close buttons
  • Fix custom font loading when postscript name differs from font family and font style metadata
  • Make sure callbacks to NamiEntitlementManager.registerActiveEntitlementsHandler are made whenever updates are available
  • Ensure purchase_selected_sku action comes through through paywallActionHandler (see NamiCampaignManager.launch)
  • Improve support for paywall text on iOS 13 & iOS 14
  • Fix processing of certain rgb color formats

Maintenance

  • Renamed mis-named NamiPurchaseInternal to NamiPurchase
  • Remove public interface to several internal methods

v3.0.0 (January 17, 2023)

Changelog

Breaking Changes

  • Framework is now called NamiApple. No client API changes, but Swift projects now need to import NamiApple
  • Many methods were renamed to simply the SDK implementation. See SDK reference for full details.

New Features

  • Support for new generation of no-code paywall templates
  • Improved image caching for template paywalls.
  • Support for paywall a/b testing campaigns.
  • Support of paywall templates with multiple product groups
  • Support for paywall templates with product buttons that are separated from CTA action to start purchase flow
  • Add sku.priceDifferenceFromSku Smart Text variable
  • Support for use case where Nami is used for paywall management, but customer has in-house code or a third-party for subscription & purchase management
  • Support for V1 of Brighton paywall template
  • Allow NamiLanguageCode to be used in configure to override use of device's current locale language for paywall localization
  • Add optional callback to NamiCampaignManager.launch which surfaces NamiPaywallAction events for interactions with a paywall
  • Added NamiCustomerManager.deviceId to access Nami's unique identifier for the device
  • Added new Paywall Smart Textvariables: pricePerMonth, durationInMonths, durationInMonthsSingular, periodInMonths, periodNumberInMonths, percentagePriceDifferenceFromSku
  • Added NamiCustomerManager.registerAccountStateHandler to make it easier to respond to login and logout calls. See SDK Reference for details.
  • Support for paywalls with more than one group of products
  • Ability to optionally specify Vendor ID or Advertiser ID for advanced use cases
  • Added call to manually trigger refresh of entitlement state from Nami servers

Bug Fixes

  • Fix for border stroke position on certain paywall templates
  • Fix scrolling behavior on paywalls with long content areas
  • Fix issue with cached config was not being used to setup SDK capabilities on launch
  • Fix an issue where the default selected sku wasn't usable to transact on paywall's with a CTA button
  • Fix data type for campaignType surfaced via NamiAnalyticsSupport
  • Fixed issue with featured badge and Paywall Smart Text on some paywall templates
  • Fix logging when incorrect App Platform ID is used
  • Refresh call in NamiEntitlementManager fixed
  • Internal fixes around handling of transactions
  • Handles larger data sets from Nami
  • Improved logging
  • Bug fixes and stability updates

Enhancements

  • Allow sku.percentagePriceDifferenceFromSku Smart Text variable to work in featured badge text
  • Provide public interface NamiPurchaseManager.restorePurchases which calls back to global handler registers via NamiPurchaseManager.registerRestorePurchasesHandler
  • Change PaywallActionHandler to return a full NamiSKU, and optionally a list of of NamiPurchase
  • Changed callback from NamiPaywallManager.registerClosedHandler to align with Nami Android SDK behavior
  • Rename NamiPaywallManager.registerClosedHandler to NamiPaywallManager.registerCloseHandler for consistency across Nami SDKs.
  • Improve symbol support for paywall templates with icons
  • Improved support for Nami cross-platform SDKs (e.g. Flutter, React Native, Xamarin)
  • Improved error handling related to campaign launch
  • Add initial support for upcoming paywall templates
  • Improved support for Paywall Templates: Penguin, Pacific, Trident, Starfish, Mantis & Venice
  • Improved log messages related to campaign launch
  • Improvements that simplify campaign launch
  • Improvements when used by SwiftUI apps
  • SDK usability improvements including easier to understand method interfaces.

Maintenance

  • Internal improvements to the CI/CD pipeline

v2.9.6 (December 13, 2022)

Changelog

Enhancements

  • setExternalIdentifier and clearExternalIdentifier now support optional completion handlers

v2.9.5 (July 21, 2022)

Changelog

Bugfixes

  • Fix SDK version reporting

v2.9.4 (July 24, 2022)

Changelog

Bugfixes

  • Update to internal StoreKit handling
  • Groundwork for future release

v2.9.3 (Nov 29, 2021)

Changelog

Bugfixes

  • Fixed bug where apps with multiple paywalls with different SKU styles would sometimes render with an incorrect style

v2.9.2 (Sep 29, 2021)

Changelog

Bugfixes

  • Fixed incorrect Nami API hostname for new v2 SDK APIs. Please use this version over any version 2.9.1 or later.

v2.9.1 (Aug 30, 2021)

Changelog

Deprecated - This version should not be used with the Nami platform. Please use version 2.9.2 or higher.

Bugfixes

  • Fixed issue with localized paywall button text when accessibility text to speech values are not used
  • Fixed issue with styles applied to clickwrap text on paywalls.

Maintenance

  • Added additional SDK configuration logging when NamiLogLevel set to .debug

v2.9.0 (Aug 22, 2021)

Deprecated - This version should not be used with the Nami Platform. Please use version 2.9.2 or higher.

Changelog

New Features

  • Added NamiPaywallManager.currentNamiPaywallViewController to get the View Controller of an open paywall to enable displaying UI components while the paywall is open
  • Added registerRestorePurchasesHandler to enable reacting to the restore purchase process and displaying messages to the app user

Maintenance

  • Remove all Nami generated UI modals to communicate purchase status (success, failure, etc.). Duplicative with Apple UI modals.
  • Remove all Nami generated UI modals to communicate the status of a restore purchase process. Use registerRestorePurchasesHandler to customize how you communicate the restore purchase process to your app users.

Bugfixes

  • Fixed issue where paywall opened in landscape orientation does not properly render when switched to portrait orientation

v2.8.1 (Aug 14, 2021)

Deprecated - This version should not be used with the Nami platform. Please use version 2.9.2 or higher.

Changelog

Maintenance

  • Removed dSym files for Nami XCFramework.

v2.8.0 (Aug 10, 2021)

Deprecated - This version should not be used with the Nami platform. Please use version 2.9.2 or higher.

Changelog

This release introduces several new features including: language localization for paywalls, accessibility VoiceOver support, and new paywall layout controls.

Note that SDKs v2.7.0 and earlier are deprecated and you should switch to v2.8.0 or greater by August 30, 2022.

Breaking Changes

  • SDK versions v2.0.0 to v2.7.0 are deprecated. Please switch to v2.8.0 or newer by August 30, 2022.

New Features

  • Localize paywalls. Build paywalls in multiple languages in the Control Center, and decide whic one to use in your app. Localization supports:
    • All language fields on your paywall
    • Accessibility VoiceOver support in the correct language and with audio hints per language
    • Localization of all paywall buttons
    • Localization of both the link text and URL in the clickwrap terms on the paywall screen.
  • VoiceOver Accessibility support
    • Paywalls created with the cloud based Nami Paywall Creator now fully support VoiceOver, including hints to specifically help with understanding the paywall content
  • New Paywall Layout options including:
    • Controls the size of the scrollable region at the bottom of the paywall
    • Decide if the purchase buttons should be fixed placement or in the scrollable region

Enhancements

  • Improved how the Paywall Creator handles large elements on paywalls to ensure no elements overlap
  • Added support for simulators running on M1 chips

v2.7.1 (Apr 19, 2022)

Changelog

Bugfixes

  • Update to internal StoreKit handling

v2.7.0 (May 22, 2021)

Added

  • Support for Paywall Smart Text. Allows changing the text on purchase buttons and inserting data from SKUs in text fields.
  • Add processSmartText method to NamiPaywallManager, allows you to process variables in your text that are filled in with data from SKUs.
  • Added purchaseTerms and namiSkus to NamiPaywall to help with linked paywall construction.
  • Added presentCodeRedemptionSheet to NamiPaywallManager. Use to allow redemption of iOS 14 offer codes.

v2.6.0 (Mar 11, 2021)

Added

  • Add preparePaywallForDisplay method to NamiPaywallManager to ensure data is available in the SDK to properly render a particular paywall.

Improvements

  • Preload all paywall background images as soon as SDK is initialized.

v2.5.3 (Mar 04, 2021)

Improvements

  • Add Xamarin configuration support.

v2.5.2 (Feb 26, 2021)

Bugfixes

  • raisePaywall with a specific Developer Paywall ID will now trigger the callback for Linked Paywalls.

v2.5.1 (Feb 17, 2021)

Improvements

  • changed how purchase terms text is rendered on cloud paywalls so text is more clear when it has a shadow.
  • changed visualization of a currently purchased SKU on cloud paywalls to work better with button colors.
  • Non-breaking change: deprecated registerApplicationAutoRaisePaywallBlocker and renamed to registerAllowAutoRaisePaywallHandler for clarity and consistency with other callback methods.
  • Updates to some docstrings for various SDK methods.

Bugfixes

  • improved rendering of paywall in landscape mode where background color would sometimes be visible.

v2.5.0 (Feb 02, 2021)

  • Use multiple paywalls with your app! The raisePaywall method now supports raising any paywall by its developer ID defined in the Control Center.
  • Paywall Creator paywalls opened in landscape orientation on phones now switch to render in portrait orientation to ensure all elements are visible.
  • Logging improvements to add more clarity when issues occur with StoreKit.
  • Provide consistent naming for SDK methods that take callback handlers, deprecated older methods.
  • Improvements to how the SDK cleans up open tasks when the app session ends.
  • Fixed issue where close button with shadow would appear pixelated.

v2.4.4 (Dec 07, 2020)

  • Send receipt data to Nami more frequently for entitlement verification.
  • Improved logging when issues occur with retrieving data from StoreKit.
  • Improved support for testing with StoreKit config files enabled in Xcode for iOS 14.

v2.4.3 (Nov 25, 2020)

  • Expired purchases often get stuck in Apple's sandbox and mess up testing. We now ensure those get cleared out for you so you don't have to worry about it.

v2.4.2 (Nov 23, 2020)

  • Adjust featured item spacing on Nami paywalls.

v2.4.1 (Nov 19, 2020)

  • Fixed issue with background calls to Nami on app close sometimes stalling.

v2.4.0 (Nov 18, 2020)

  • New styling options for Nami No-Code paywalls.
  • Improved Nami paywall design.
  • Improved logging around purchase handling.
  • If paywall auto-raise is set to every session, first app launch will raise paywall.
  • Various stability improvements.

v2.3.2 (Oct 14, 2020)

  • Grant temporary entitlement immediately on purchase until validation of purchase completes.

v2.3.1 (Aug 25, 2020)

  • purchasesChangedHandler no longer called for entitlement changes. Please use NamiEntilementManager.entitlementsChangedHandler instead.

v2.3.0 (Aug 24, 2020)

  • Blocking paywalls now cannot be closed by swiping down, you must click the button.
  • Added NamiPaywallManager applicationBlockingPaywallClosedHandler call for custom handling of blocking paywalls.
  • Added NamiEnttilementManager entitlementsChangedHandler for reacting to changes to entitlements.
  • bypassStore setting now only located in NamiConfig, cannot be changed through NamiPurchaseManager.
  • Internal improvements to reduce SDK network call volume.

v2.2.2 (Jul 28, 2020)

  • Fix for display of multi-month products in SDK generated paywall.
  • Removed built-in image reference from SDK paywall template.

v2.2.1 (Jul 14, 2020)

  • Internal improvements

v2.2.0 (Jul 13, 2020)

  • bypassStore no longer enabled by default in the simulator
  • Added consumptionCount to Consumable NamiPurchase objects. Count is increased each time a consumable SKU is consumed via call to consumePurchasedSKU.
  • Consumable purchases now remain in Nami SDK after consumption, so you can check to see if anyone has purchased them in the past.
  • SDK logs now work with [console.app](http://console.app) on MacOS Catalina.
  • Added call NamiPaywallManager.dismissNamiPaywallIfOpen to allow for presenting post-purchase messages that ensure they always appear after the Nami paywall has been dismissed.

v2.1.1 (Jul 08, 2020)

  • You are now able to specify any combination of parameters for a NamiEntitlementSetter.
  • Internal Improvements.

v2.1.0 (Jul 02, 2020)

  • Simplified purchase state enumeration to just have one Purchased state, use Entitlements to verify validity of current purchases.
  • Further improvements to StoreKit transaction processing.
  • Added paywall lifecycle notifications, so an application can react to a paywall raising, and being dismissed either with or without a purchase being made.
  • Added ability to disable final "Purchase Complete" dialog if desired.
  • Other internal improvements.

v2.0.14 (Jun 18, 2020)

  • Framework built with Xcode 11.13.1, so you can use either with current Catalina Xcode, or pre-Catalina Xcode.
  • Internal improvements.

v2.0.13 (Jun 16, 2020)

  • Improvements to processing of Apple Sandbox transactions when the sandbox does not behave as expected.
  • Improvements to calls to Nami APIs.
  • Support for ordering SKUs on paywalls.

v2.0.12 (Jun 10, 2020)

  • Improvements to handling cross-platform and cross-device entitlements.
  • Improved robustness around calls for Nami data collection.
  • Added detailed logging around StoreKit purchase process at DEBUG logging level
  • Added a timeout to purchase transactions in the Apple Sandbox to deal with reliability issues where purchases often get stuck without completing.
  • Improvements to transaction observations in insights mode.

v2.0.11 (Jun 03, 2020)

  • Internal improvements.

v2.0.10 (Jun 02, 2020)

  • Internal improvements.

v2.0.9 (Jun 01, 2020)

  • Update entitlements after setExternalIdentifier is called.
  • Activates the purchase handler callback when entitlements received from the Nami platform change.
  • Added lifecycle notifications around Nami paywall raising, closing with no purchase, and closing after purchase completes.
  • Internal reliability improvements.

v2.0.8 (May 21, 2020)

  • Internal fix for storing entitlements.

v2.0.7 (May 21, 2020)

  • Improved processing of StoreKit transactions related to repeated purchase attempts.
  • Improved handling of cross-device and cross-platform entitlements and external ids.
  • Improved handling of switches between AppPlatformIDs.
  • Added additional logging around StoreKit transaction processing.

v2.0.6 (May 18, 2020)

  • Improve messages displayed during purchase process for one time purchases and subscriptions.

v2.0.5 (May 17, 2020)

  • Changes to ML data sent to Nami.
  • Fix for Entitlements being reset and sent to Nami.
  • Improvements to reliability when switching between App Platform IDs.

v2.0.4 (May 14, 2020)

  • Improved reliability around sending external identifiers to Nami server.

v2.0.3 (May 08, 2020)

  • Added consumePurchasedSKU to NamiPurchaseManager

v2.0.2 (Apr 24, 2020)

  • bypassStore now allows you to test purchase flows for products that are not setup on App Store Connect
  • Added public access to NamiEntitlement properties
  • Improvements to internal API calls

v2.0.1 (Apr 09, 2020)

  • Send ML and core content and core action data in all app environments
  • Added a developmentMode flag to NamiConfiguration to move all API calls out of the background

v2.0.0 (Apr 08, 2020)

Nami has deprecated all v1.x.x versions of the SDK. Please only use v2.0.0+ for compatibility with the Nami platform.

For more details on new features, please visit https://docs.namiml.com/.

  • Major refactor of the codebase to reduce SDK size and amount of network traffic generated by the SDK.
  • Introduced support for apps to be cross-platform.
  • Added the concept of entitlements and NamiEntitlementManager to work with entitlement objects.
  • Added NamiPurchaseManager to simplify working with purchase flows.
  • Greatly improved in-XCode documentation for SDK methods.
  • New passive mode - get data, insights, and machine learning models without using Nami's capabilities to manage your in-app purchase process.
  • Added external identifiers to help link devices to a customer profile.
  • Greatly simplified Nami SDK setup process as well as introduced a new NamiConfiguration object.
  • New detailed logging in XCode, use logLevel in NamiConfiguration to control how much logging you see from the SDK.
  • All calls are now static instead of shared.
  • We now only support XCFramework, XCode 11+, and CocoaPods 1.9+.
  • Carthage support dropped until support for XCFramework files becomes available.

v1.11.0 (Feb 14, 2020)

  • Added helper methods for finding original application purchase version, and version comparison.
  • NamiReceiptWrapper now provides visibility to full Apple return dictionary from verifyReceipt call.

v1.10.1 (Feb 12, 2020)

  • Added extra guard code and logging around Nami Profile.
  • Compiled for Xcode 11.3.1

v1.10.0 (Jan 28, 2020)

  • Stability fixes around calls for Nami session.
  • Added backup call to trigger startup code for React Native.
  • Added fetchCustomPaywallMetaForDeveloperID() call to get paywall definitions for alternate paywalls.
  • Made presentNamiPaywall() public so that developers could make use of the internal Nami paywall through a custom paywall meta definition.

v1.9.0 (Dec 18, 2019)

  • Simplified method and parameter names, see https://docs.namiml.com/reference.
  • Added support for disabling auto-raise limits for triggered paywalls.
  • Stability fixes for more reliable presentation of paywalls for auto-raise cases.
  • Improved frequency limiting of paywalls by hour.
  • Improved debugging output for understanding paywall auto-raise choices.
  • Improved environment detection so server reporting of transactions can be given testing transactions.
  • Added canRaisePaywall method to determine if the SDK has enough data to raise a paywall.
  • Improvements to tracking of paywall impressions and transactions.

v1.8.0 (Nov 04, 2019)

  • Xcode 11 now used for primary framework builds, Xcode 10.3 frameworks in Xcode10-3 folder.
  • Added environment to cart signals sent to Nami, so testing purchases can be checked with Nami.
  • Fixed issue found with RFV calculation.
  • Fix consumable product consumption in SDK, so that purchases are not remembered.
  • Compiled framework to optimize for smaller build size.

v1.7.0 (Oct 25, 2019)

  • Use iOS Keychain internally to record purchases.
  • Minor fixes for Dark Mode UI in Nami paywalls.
  • Improved recognition of running environment to allow for more similar call flow between sandbox/simulator and production use.
  • Add ability to create blocking paywalls.
  • Removed internal checks for deprecated UIWebView in application.
  • For simulator builds, bypassStorekit mode is automatically enabled to avoid confusion when testing purchases.
  • Improved sending of purchase signals.
  • Improved processing of multiple adjacent transactions from StoreKit.

v1.6.1 (Oct 25, 2019)

  • Fixed issue with sending Nami profile on launch of application.

v1.6.0 (Oct 01, 2019)

  • Dark Mode support for Nami paywalls.
  • Adds support for paywalls in iMessage Extensions! Note that special setup is required.

v1.5.0 (Sep 26, 2019)

  • Adds Xcode 11 support via XCFramework, available in XCode11/
  • Improved Objective-C visibility for some classes like NamiMetaPurchase.
  • For Objective-C, can now import Nami.h instead of Nami-Swift.h.
  • Added Objective-C demo app.
  • Fixes UI issues for paywalls on the iPad.
  • Reduces frequency of profile data transmissions.
  • Improves iOS 13 support.

v1.4.0 (Sep 25, 2019)

  • Support for 3rd party analytics services like Adobe and Google Analytics - Paid Enterprise Feature
  • Added example projects demonstrating Adobe and Google Analytics integration
  • Fixed issue with session calls not being made under some conditions.
  • Improved storeKitBypass subscription product result.
  • Corrected Nami paywall display of non-subscription products.
  • Added paywall gating mechanism so application can always choose to veto paywall raise.
  • Purchase handler callbacks now always occur on main thread.

v1.3.0 (Aug 09, 2019)

  • Nami SDK now supports ObjectiveC.
  • Added support for Carthage distribution.
  • Added support for CocoaPods distribution.
  • Fix ordering of POST calls for initial session/config data.
  • Console messaging when app store shared secret for receipt validation has not been set.
  • Check that app bundle ID matches bundle ID for given Nami AppID.
  • Minor UI fixes to terms text in paywalls.
  • Paywall links for Terms and Privacy Policy now open in-app Safari browser.

v1.2.0 (Jul 23, 2019)

  • Built for Xcode 10.3, if you still use Xcode 10.2 use framework located in Xcode10-2 folder.
  • Added support of additional paywall features for sign-in, restore and legal items.
  • Adds callback to provide application to offer sign-in.
  • Improve detection of subscription expiration.
  • Added re-validation of receipt on regular basis to monitor purchase changes.
  • Re-validates receipt on first launch so users may not need to use restore-purchases.
  • Improved logging provider to be passed simpler non-http messaging.
  • SDK now batches multiple requests for same products if asked for before StoreKit loading finishes.
  • Fixed support for safe area at bottom of paywall screen.
  • Added callback for Restore Purchase call in NamiStoreKitHelper so that app can present messaging when complete.
  • Improves helpers for parsing receipt purchase fragments.
  • Added method to NamiLogging to handle simpler logging.

v1.1.0 (Jul 15, 2019)

  • Added a simple demo app to illustrate how the SDK works.
  • Added mechanism to clear bypassStoreKit purchases.
  • Improved handling of the StoreKit transaction queue.
  • Fixed persistence of StoreKit and bypassStoreKit purchases.
  • Improved logging provider to be passed simpler non-http messaging.

v1.0.0 (Jun 28, 2019)

First release of the Nami Smart Paywall Platform for iOS SDK. To request an invite, visit https://www.nami.ml/request.

  • Nami paywalls - build a paywall in our cloud environment
  • App defined paywalls - control or modify your existing in-app paywall through the Nami platform
  • Business as usual campaigns - put business rules around how paywalls are displayed to your users
  • Simplify StoreKit development
  • Test purchase flows in StoreKit
  • Server-side StoreKit receipt verification
  • Label core content and user actions to enable machine learning based rules for your campaigns and paywalls
Clone this wiki locally