Skip to main content
Supported on: iOS SDK 1.0.70+ · Android SDK 1.0.42+ · React Native SDK 1.0.7+ (New Architecture only)
Web entitlements enable apps that sell subscriptions via web checkout (e.g., Stripe) to unlock premium features in the native app in real-time. After calling identify(), the SDK listens for entitlement changes automatically — when a user purchases on the web, the app unlocks instantly without a restart.

How It Works

  1. User purchases a subscription on your website (via Stripe or another web payment provider).
  2. Your backend writes the entitlement to AppDNA.
  3. The SDK detects the change in real-time and updates the local cache.
  4. Your app reacts via the subscription callback and unlocks premium features.
Web entitlements are separate from in-app purchase entitlements (StoreKit on iOS, Play Billing on Android). They are designed for apps that also sell subscriptions through a web checkout flow.

Check Current Entitlement

After identify(), the current web entitlement is available via an async getter on AppDNA. The native SDK returns the cached value immediately when available:

Listen for Changes

AppDNA.onWebEntitlementChanged is backed by a native event. Subscribe to react in real time when the entitlement status changes:
The callback fires immediately when:
  • A new web subscription is purchased
  • A subscription renews
  • A subscription expires or is canceled
  • A subscription enters a grace period

WebEntitlement

Entitlement Statuses

Access

Web entitlements are accessed as top-level members on AppDNA:

Auto-Tracked Events

Full Example

Web entitlements require Stripe (or compatible payment provider) integration configured in the Console under Settings > Billing > Web Payments. The real-time listener activates automatically after identify() is called.