Skip to main content

Overview

Now that placements are presenting, choose the subscription product Encore offers. When a user accepts an offer, Encore hands the configured product id to your registered EncorePurchaseController, which performs the purchase through your billing code and owns the resulting entitlement state.
Using a third-party subscription manager? How the purchase completes changes: see Superwall, RevenueCat, Adapty, or multiple managers.
The setup itself is store-console work, done once in App Store Connect and your app’s Entitlements step:

App Store Subscription Product

Connect your App Store Connect catalog and pick the subscription Encore offers, let Encore create one for you, or enter a Product ID manually.

What the SDK does with the Product ID at runtime

You never hard-code the Product ID in your app; Encore delivers it to the SDK as remote configuration:
  • The SDK fetches your app’s config (including the configured subscription Product ID) on configure() and again on each identify() that actually changes the user id or attributes.
  • That config is disk-cached, so it’s available immediately on cold start; the SDK refreshes it in the background on the next launch. The very first launch (before the first fetch completes) is the only time the Product ID may be momentarily unavailable.
  • When a user accepts an offer, the SDK passes the configured Product ID to your registered EncorePurchaseController as request.productId. Your controller performs the purchase; the SDK never purchases on its own.
Because it’s remote config, changing the product in the Encore Dashboard takes effect without an app update.

Next Steps

  • Configure Analytics - Forward App Store subscription events so Encore can measure offer impact