From c6dc2b47235153d0f6d276dccb1141655f638798 Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Wed, 18 Mar 2026 12:42:38 -0500 Subject: [PATCH 1/5] Add App Store review warnings for Stripe checkout Add App Store Review warning blocks to two docs about offering Stripe checkout in-app: content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx and content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx. The warnings explain App Review risks, recommend submitting in-app Safari sheets with an App Review note (and provide suggested language), and clarify that opening Stripe externally in Safari has no App Review risk. Also update src/lib/changelog-entries.json lastUpdated timestamp and append numerous autogenerated changelog entries for updated/added docs and SDK reference pages. --- .../guides/using-stripe-checkout-in-app.mdx | 4 + .../web-checkout-direct-stripe-checkout.mdx | 11 + src/lib/changelog-entries.json | 4658 ++++++++++++++++- 3 files changed, 4672 insertions(+), 1 deletion(-) diff --git a/content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx b/content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx index 56948da..b3eff3c 100644 --- a/content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx +++ b/content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx @@ -6,6 +6,10 @@ For users in the United States, you can offer Stripe checkout inside of your app Superwall will prioritize showing Apple Pay when available as the first payment option. + +**App Store Review:** Apple has removed apps from sale for using in-app alternative payment sheets without going through App Review. When submitting your app, include a note explaining that US users can purchase via Stripe (filtered by App Store country), while all other users purchase via Apple IAPs. Opening Stripe checkout externally in Safari carries no App Review risk. For full details and recommended reviewer note language, see the [App2Web docs](/web-checkout-direct-stripe-checkout). + + ![](/images/scbs_1.jpeg) diff --git a/content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx b/content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx index e1bfd80..aa9223c 100644 --- a/content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx +++ b/content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx @@ -20,6 +20,17 @@ For customers in the United States, you can offer Stripe products directly from You can control whether or not Stripe checkout opens in your app via Safari, or externally in the Safari app: ![](/images/web-checkout-location.png) + + + **App Store Review and In-App Checkout:** If you choose to present Stripe checkout in-app (via an in-app Safari sheet), be aware that Apple has removed apps from sale for using in-app alternative payment sheets without going through App Review. To avoid issues: + + - **External Safari** carries no App Review risk. + - **In-app sheet** should be submitted through App Review with a note explaining its usage. We recommend adding the following to your App Review notes: + + > US users will be able to purchase a subscription using Stripe. These users are filtered using their registered App Store country. All other countries will only be able to purchase a subscription using Apple IAPs. You can test this by switching your device's registered App Store country. + + Do not switch to an in-app payment sheet after approval without resubmitting for review. + Since the ruling only applies to customers in the United States, you can easily create a campaign filter that will match to those customers. Just create a filter where `storeFrontCountryCode` matches `USA`, like this: diff --git a/src/lib/changelog-entries.json b/src/lib/changelog-entries.json index 0026c61..7b1c2a3 100644 --- a/src/lib/changelog-entries.json +++ b/src/lib/changelog-entries.json @@ -1,6 +1,4662 @@ { - "lastUpdated": "2026-03-10T15:21:58.578Z", + "lastUpdated": "2026-03-18T17:32:15.922Z", "entries": [ + { + "key": "content/docs/integrations/facebook-pixel.mdx:a7ce8cec6ab69af97540760429d79597de70c868", + "path": "integrations/facebook-pixel.mdx", + "title": "Facebook Pixel", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/facebook-pixel", + "date": "2026-03-17T18:13:33.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/meta-conversion-api.mdx:a7ce8cec6ab69af97540760429d79597de70c868", + "path": "integrations/meta-conversion-api.mdx", + "title": "Meta Conversion API", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/meta-conversion-api", + "date": "2026-03-17T18:13:33.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/apple-retention-messaging.mdx:890457bf6424b8e54a4b7cd7377290fa5892b737", + "path": "integrations/apple-retention-messaging.mdx", + "title": "Apple Retention Messaging", + "description": "New Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/apple-retention-messaging", + "date": "2026-03-13T23:27:05.000Z", + "changeType": "added" + }, + { + "key": "content/docs/ios/guides/local-resources.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "ios/guides/local-resources.mdx", + "title": "Local Resources", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/local-resources", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/SuperwallOptions.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "ios/sdk-reference/SuperwallOptions.mdx", + "title": "SuperwallOptions", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/SuperwallOptions", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/localResources.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "ios/sdk-reference/localResources.mdx", + "title": "localResources", + "description": "New sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/localResources", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "added" + }, + { + "key": "content/docs/android/changelog.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "android/changelog.mdx", + "title": "Changelog", + "description": "Updated Android SDK documentation", + "category": "Android SDK", + "url": "/docs/android/changelog", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/local-resources.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "android/guides/local-resources.mdx", + "title": "Local Resources", + "description": "New guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/local-resources", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "added" + }, + { + "key": "content/docs/android/index.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "android/index.mdx", + "title": "Welcome", + "description": "Updated Android SDK documentation", + "category": "Android SDK", + "url": "/docs/android", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/quickstart/install.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "android/quickstart/install.mdx", + "title": "Install the SDK", + "description": "Updated quickstart for Android SDK", + "category": "Android SDK", + "subcategory": "Quickstart", + "url": "/docs/android/quickstart/install", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/Superwall.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "android/sdk-reference/Superwall.mdx", + "title": "Superwall", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/Superwall", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/index.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "android/sdk-reference/index.mdx", + "title": "Overview", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/localResources.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "android/sdk-reference/localResources.mdx", + "title": "localResources", + "description": "New sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/localResources", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx:4d4a9d231b0506b8a945ab65271a065f2b7bacab", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx", + "title": "Local Resources", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources", + "date": "2026-03-13T21:32:15.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/changelog.mdx:55e74680572afdf38eaa68444f4b04d5ebd9b674", + "path": "expo/changelog.mdx", + "title": "Changelog", + "description": "Updated Expo SDK documentation", + "category": "Expo SDK", + "url": "/docs/expo/changelog", + "date": "2026-03-13T19:52:23.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/index.mdx:55e74680572afdf38eaa68444f4b04d5ebd9b674", + "path": "expo/index.mdx", + "title": "Welcome", + "description": "Updated Expo SDK documentation", + "category": "Expo SDK", + "url": "/docs/expo", + "date": "2026-03-13T19:52:23.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/index.mdx:55e74680572afdf38eaa68444f4b04d5ebd9b674", + "path": "expo/sdk-reference/index.mdx", + "title": "Overview", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference", + "date": "2026-03-13T19:52:23.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/changelog.mdx:35eac37fd303392f7ec7e0730a1ac4ca0ab44941", + "path": "ios/changelog.mdx", + "title": "Changelog", + "description": "Updated iOS SDK documentation", + "category": "iOS SDK", + "url": "/docs/ios/changelog", + "date": "2026-03-11T21:10:40.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/index.mdx:35eac37fd303392f7ec7e0730a1ac4ca0ab44941", + "path": "ios/index.mdx", + "title": "Welcome", + "description": "Updated iOS SDK documentation", + "category": "iOS SDK", + "url": "/docs/ios", + "date": "2026-03-11T21:10:40.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/index.mdx:35eac37fd303392f7ec7e0730a1ac4ca0ab44941", + "path": "ios/sdk-reference/index.mdx", + "title": "Overview", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference", + "date": "2026-03-11T21:10:40.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-products.mdx:2f6166bb0bbdf1269940a52a9cb8c740dde33a74", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-products.mdx", + "title": "Products", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-products", + "date": "2026-03-11T20:12:08.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/3rd-party-analytics/cohorting-in-3rd-party-tools.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/3rd-party-analytics/cohorting-in-3rd-party-tools.mdx", + "title": "Cohorting in 3rd Party Tools", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/3rd-party-analytics/cohorting-in-3rd-party-tools", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/3rd-party-analytics/custom-paywall-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/3rd-party-analytics/custom-paywall-analytics.mdx", + "title": "Custom Paywall Analytics", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/3rd-party-analytics/custom-paywall-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/3rd-party-analytics/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/3rd-party-analytics/index.mdx", + "title": "3rd Party Analytics", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/3rd-party-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/3rd-party-analytics/tracking-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/3rd-party-analytics/tracking-analytics.mdx", + "title": "Superwall Events", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/3rd-party-analytics/tracking-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced-configuration.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced-configuration.mdx", + "title": "Advanced Purchasing", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced-configuration", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced/custom-paywall-actions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced/custom-paywall-actions.mdx", + "title": "Custom Paywall Actions", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced/custom-paywall-actions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced/direct-purchasing.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced/direct-purchasing.mdx", + "title": "Purchasing Products Outside of a Paywall", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced/direct-purchasing", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced/game-controller-support.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced/game-controller-support.mdx", + "title": "Game Controller Support", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced/game-controller-support", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced/observer-mode.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced/observer-mode.mdx", + "title": "Observer Mode", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced/observer-mode", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced/presenting-paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced/presenting-paywalls.mdx", + "title": "Retrieving and Presenting a Paywall Yourself", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced/presenting-paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced/request-permissions-from-paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced/request-permissions-from-paywalls.mdx", + "title": "Request permissions from paywalls", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced/request-permissions-from-paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced/using-the-presentation-handler.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced/using-the-presentation-handler.mdx", + "title": "Using the Presentation Handler", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced/using-the-presentation-handler", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/advanced/viewing-purchased-products.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/advanced/viewing-purchased-products.mdx", + "title": "Viewing Purchased Products", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/advanced/viewing-purchased-products", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/app-privacy-nutrition-labels.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/app-privacy-nutrition-labels.mdx", + "title": "App Store Privacy Labels", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/app-privacy-nutrition-labels", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/configuring.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/configuring.mdx", + "title": "Advanced Configuration", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/configuring", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/direct-purchasing.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/direct-purchasing.mdx", + "title": "Making Purchases", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/direct-purchasing", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/embedded-paywalls-in-scrollviews.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/embedded-paywalls-in-scrollviews.mdx", + "title": "Article-Style Paywalls: Inline with Additional Plans", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/embedded-paywalls-in-scrollviews", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/experimental-flags.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/experimental-flags.mdx", + "title": "Experimental Flags", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/experimental-flags", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/migrations/migrating-to-v4.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/migrations/migrating-to-v4.mdx", + "title": "Migrating from v3 to v4 - iOS", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/migrations/migrating-to-v4", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/test-mode.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/test-mode.mdx", + "title": "Test Mode", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/test-mode", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/using-superwall-delegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/using-superwall-delegate.mdx", + "title": "Using the Superwall Delegate", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/using-superwall-delegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/vibe-coding.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/vibe-coding.mdx", + "title": "Vibe Coding", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/vibe-coding", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/web-checkout/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/web-checkout/index.mdx", + "title": "Web Checkout", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/web-checkout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/web-checkout/linking-membership-to-iOS-app.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/web-checkout/linking-membership-to-iOS-app.mdx", + "title": "Redeeming In-App", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/web-checkout/linking-membership-to-iOS-app", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/web-checkout/post-checkout-redirecting.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/web-checkout/post-checkout-redirecting.mdx", + "title": "Post-Checkout Redirecting", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/web-checkout/post-checkout-redirecting", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/guides/web-checkout/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/guides/web-checkout/using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated guides for iOS SDK", + "category": "iOS SDK", + "subcategory": "Guides", + "url": "/docs/ios/guides/web-checkout/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/quickstart/configure.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/quickstart/configure.mdx", + "title": "Configure the SDK", + "description": "Updated quickstart for iOS SDK", + "category": "iOS SDK", + "subcategory": "Quickstart", + "url": "/docs/ios/quickstart/configure", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/quickstart/feature-gating.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/quickstart/feature-gating.mdx", + "title": "Presenting Paywalls", + "description": "Updated quickstart for iOS SDK", + "category": "iOS SDK", + "subcategory": "Quickstart", + "url": "/docs/ios/quickstart/feature-gating", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/quickstart/in-app-paywall-previews.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/quickstart/in-app-paywall-previews.mdx", + "title": "Handling Deep Links", + "description": "Updated quickstart for iOS SDK", + "category": "iOS SDK", + "subcategory": "Quickstart", + "url": "/docs/ios/quickstart/in-app-paywall-previews", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/quickstart/install.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/quickstart/install.mdx", + "title": "Install the SDK", + "description": "Updated quickstart for iOS SDK", + "category": "iOS SDK", + "subcategory": "Quickstart", + "url": "/docs/ios/quickstart/install", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/quickstart/setting-user-properties.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/quickstart/setting-user-properties.mdx", + "title": "Setting User Attributes", + "description": "Updated quickstart for iOS SDK", + "category": "iOS SDK", + "subcategory": "Quickstart", + "url": "/docs/ios/quickstart/setting-user-properties", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/quickstart/tracking-subscription-state.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/quickstart/tracking-subscription-state.mdx", + "title": "Tracking Subscription State", + "description": "Updated quickstart for iOS SDK", + "category": "iOS SDK", + "subcategory": "Quickstart", + "url": "/docs/ios/quickstart/tracking-subscription-state", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/quickstart/user-management.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/quickstart/user-management.mdx", + "title": "User Management", + "description": "Updated quickstart for iOS SDK", + "category": "iOS SDK", + "subcategory": "Quickstart", + "url": "/docs/ios/quickstart/user-management", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/NonSubscriptionTransaction.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/NonSubscriptionTransaction.mdx", + "title": "NonSubscriptionTransaction", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/NonSubscriptionTransaction", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/PaywallOptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/PaywallOptions.mdx", + "title": "PaywallOptions", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/PaywallOptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/PaywallPresentationHandler.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/PaywallPresentationHandler.mdx", + "title": "PaywallPresentationHandler", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/PaywallPresentationHandler", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/PurchaseController.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/PurchaseController.mdx", + "title": "PurchaseController", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/PurchaseController", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/SubscriptionTransaction.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/SubscriptionTransaction.mdx", + "title": "SubscriptionTransaction", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/SubscriptionTransaction", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/Superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/Superwall.mdx", + "title": "Superwall", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/Superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/SuperwallDelegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/SuperwallDelegate.mdx", + "title": "SuperwallDelegate", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/SuperwallDelegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/SuperwallEvent.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/SuperwallEvent.mdx", + "title": "SuperwallEvent", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/SuperwallEvent", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/advanced/getPaywall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/advanced/getPaywall.mdx", + "title": "getPaywall()", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/advanced/getPaywall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/configure.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/configure.mdx", + "title": "configure()", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/configure", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/confirmAllAssignments.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/confirmAllAssignments.mdx", + "title": "confirmAllAssignments", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/confirmAllAssignments", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/customerInfo.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/customerInfo.mdx", + "title": "customerInfo", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/customerInfo", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/entitlements.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/entitlements.mdx", + "title": "entitlements", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/entitlements", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/getCustomerInfo.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/getCustomerInfo.mdx", + "title": "getCustomerInfo", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/getCustomerInfo", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/getDeviceAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/getDeviceAttributes.mdx", + "title": "getDeviceAttributes", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/getDeviceAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/getPresentationResult.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/getPresentationResult.mdx", + "title": "getPresentationResult()", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/getPresentationResult", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/handleDeepLink.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/handleDeepLink.mdx", + "title": "handleDeepLink()", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/handleDeepLink", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/identify.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/identify.mdx", + "title": "identify()", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/identify", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/integrationAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/integrationAttributes.mdx", + "title": "integrationAttributes", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/integrationAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/refreshConfiguration.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/refreshConfiguration.mdx", + "title": "refreshConfiguration", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/refreshConfiguration", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/register.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/register.mdx", + "title": "register()", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/register", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/setIntegrationAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/setIntegrationAttributes.mdx", + "title": "setIntegrationAttributes", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/setIntegrationAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/setUserAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/setUserAttributes.mdx", + "title": "setUserAttributes()", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/setUserAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/subscriptionStatus.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/subscriptionStatus.mdx", + "title": "subscriptionStatus", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/subscriptionStatus", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/sdk-reference/userId.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/sdk-reference/userId.mdx", + "title": "userId", + "description": "Updated sdk reference for iOS SDK", + "category": "iOS SDK", + "subcategory": "SDK Reference", + "url": "/docs/ios/sdk-reference/userId", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/ios/vibe-coding-guide.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "ios/vibe-coding-guide.mdx", + "title": "Superwall iOS Vibe Coding Guide", + "description": "Updated iOS SDK documentation", + "category": "iOS SDK", + "url": "/docs/ios/vibe-coding-guide", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/3rd-party-analytics/cohorting-in-3rd-party-tools.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/3rd-party-analytics/cohorting-in-3rd-party-tools.mdx", + "title": "Cohorting in 3rd Party Tools", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/3rd-party-analytics/cohorting-in-3rd-party-tools", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/3rd-party-analytics/custom-paywall-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/3rd-party-analytics/custom-paywall-analytics.mdx", + "title": "Custom Paywall Analytics", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/3rd-party-analytics/custom-paywall-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/3rd-party-analytics/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/3rd-party-analytics/index.mdx", + "title": "3rd Party Analytics", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/3rd-party-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/3rd-party-analytics/tracking-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/3rd-party-analytics/tracking-analytics.mdx", + "title": "Superwall Events", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/3rd-party-analytics/tracking-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/advanced-configuration.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/advanced-configuration.mdx", + "title": "Advanced Purchasing", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/advanced-configuration", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/advanced/custom-callbacks.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/advanced/custom-callbacks.mdx", + "title": "Custom callbacks", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/advanced/custom-callbacks", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/advanced/request-permissions-from-paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/advanced/request-permissions-from-paywalls.mdx", + "title": "Request permissions from paywalls", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/advanced/request-permissions-from-paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/advanced/using-device-tiers-on-android.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/advanced/using-device-tiers-on-android.mdx", + "title": "Device Tier Targeting", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/advanced/using-device-tiers-on-android", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/advanced/using-the-presentation-handler.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/advanced/using-the-presentation-handler.mdx", + "title": "Using the Presentation Handler", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/advanced/using-the-presentation-handler", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/advanced/viewing-purchased-products.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/advanced/viewing-purchased-products.mdx", + "title": "Viewing Purchased Products", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/advanced/viewing-purchased-products", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/configuring.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/configuring.mdx", + "title": "Advanced Configuration", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/configuring", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/experimental-flags.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/experimental-flags.mdx", + "title": "Experimental Flags", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/experimental-flags", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/using-superwall-delegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/using-superwall-delegate.mdx", + "title": "Using the Superwall Delegate", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/using-superwall-delegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/vibe-coding.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/vibe-coding.mdx", + "title": "Vibe Coding", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/vibe-coding", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/web-checkout/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/web-checkout/index.mdx", + "title": "Web Checkout", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/web-checkout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/web-checkout/linking-membership-to-iOS-app.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/web-checkout/linking-membership-to-iOS-app.mdx", + "title": "Redeeming In-App", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/web-checkout/linking-membership-to-iOS-app", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/web-checkout/post-checkout-redirecting.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/web-checkout/post-checkout-redirecting.mdx", + "title": "Post-Checkout Redirecting", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/web-checkout/post-checkout-redirecting", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/guides/web-checkout/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/guides/web-checkout/using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated guides for Android SDK", + "category": "Android SDK", + "subcategory": "Guides", + "url": "/docs/android/guides/web-checkout/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/quickstart/configure.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/quickstart/configure.mdx", + "title": "Configure the SDK", + "description": "Updated quickstart for Android SDK", + "category": "Android SDK", + "subcategory": "Quickstart", + "url": "/docs/android/quickstart/configure", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/quickstart/feature-gating.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/quickstart/feature-gating.mdx", + "title": "Presenting Paywalls", + "description": "Updated quickstart for Android SDK", + "category": "Android SDK", + "subcategory": "Quickstart", + "url": "/docs/android/quickstart/feature-gating", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/quickstart/in-app-paywall-previews.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/quickstart/in-app-paywall-previews.mdx", + "title": "Handling Deep Links", + "description": "Updated quickstart for Android SDK", + "category": "Android SDK", + "subcategory": "Quickstart", + "url": "/docs/android/quickstart/in-app-paywall-previews", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/quickstart/setting-user-properties.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/quickstart/setting-user-properties.mdx", + "title": "Setting User Attributes", + "description": "Updated quickstart for Android SDK", + "category": "Android SDK", + "subcategory": "Quickstart", + "url": "/docs/android/quickstart/setting-user-properties", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/quickstart/tracking-subscription-state.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/quickstart/tracking-subscription-state.mdx", + "title": "Tracking Subscription State", + "description": "Updated quickstart for Android SDK", + "category": "Android SDK", + "subcategory": "Quickstart", + "url": "/docs/android/quickstart/tracking-subscription-state", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/quickstart/user-management.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/quickstart/user-management.mdx", + "title": "User Management", + "description": "Updated quickstart for Android SDK", + "category": "Android SDK", + "subcategory": "Quickstart", + "url": "/docs/android/quickstart/user-management", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/PaywallOptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/PaywallOptions.mdx", + "title": "PaywallOptions", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/PaywallOptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/PurchaseController.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/PurchaseController.mdx", + "title": "PurchaseController", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/PurchaseController", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/SuperwallDelegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/SuperwallDelegate.mdx", + "title": "SuperwallDelegate", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/SuperwallDelegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/SuperwallEvent.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/SuperwallEvent.mdx", + "title": "SuperwallEvent", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/SuperwallEvent", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/SuperwallOptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/SuperwallOptions.mdx", + "title": "SuperwallOptions", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/SuperwallOptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/advanced/PaywallBuilder.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/advanced/PaywallBuilder.mdx", + "title": "PaywallBuilder", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/advanced/PaywallBuilder", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/advanced/setSubscriptionStatus.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/advanced/setSubscriptionStatus.mdx", + "title": "setSubscriptionStatus()", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/advanced/setSubscriptionStatus", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/configure.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/configure.mdx", + "title": "configure()", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/configure", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/getPresentationResult.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/getPresentationResult.mdx", + "title": "getPresentationResult()", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/getPresentationResult", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/handleDeepLink.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/handleDeepLink.mdx", + "title": "handleDeepLink()", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/handleDeepLink", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/identify.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/identify.mdx", + "title": "identify()", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/identify", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/register.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/register.mdx", + "title": "register()", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/register", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/setUserAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/setUserAttributes.mdx", + "title": "setUserAttributes()", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/setUserAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/subscriptionStatus.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/subscriptionStatus.mdx", + "title": "subscriptionStatus", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/subscriptionStatus", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/sdk-reference/userId.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/sdk-reference/userId.mdx", + "title": "userId", + "description": "Updated sdk reference for Android SDK", + "category": "Android SDK", + "subcategory": "SDK Reference", + "url": "/docs/android/sdk-reference/userId", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/android/vibe-coding-guide.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "android/vibe-coding-guide.mdx", + "title": "Superwall Android Vibe Coding Guide", + "description": "Updated Android SDK documentation", + "category": "Android SDK", + "url": "/docs/android/vibe-coding-guide", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/changelog.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/changelog.mdx", + "title": "Changelog", + "description": "Updated Flutter SDK documentation", + "category": "Flutter SDK", + "url": "/docs/flutter/changelog", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/3rd-party-analytics/cohorting-in-3rd-party-tools.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/3rd-party-analytics/cohorting-in-3rd-party-tools.mdx", + "title": "Cohorting in 3rd Party Tools", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/3rd-party-analytics/cohorting-in-3rd-party-tools", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/3rd-party-analytics/custom-paywall-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/3rd-party-analytics/custom-paywall-analytics.mdx", + "title": "Custom Paywall Analytics", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/3rd-party-analytics/custom-paywall-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/3rd-party-analytics/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/3rd-party-analytics/index.mdx", + "title": "3rd Party Analytics", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/3rd-party-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/3rd-party-analytics/tracking-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/3rd-party-analytics/tracking-analytics.mdx", + "title": "Superwall Events", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/3rd-party-analytics/tracking-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/advanced-configuration.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/advanced-configuration.mdx", + "title": "Advanced Purchasing", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/advanced-configuration", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/advanced/using-the-presentation-handler.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/advanced/using-the-presentation-handler.mdx", + "title": "Using the Presentation Handler", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/advanced/using-the-presentation-handler", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/advanced/viewing-purchased-products.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/advanced/viewing-purchased-products.mdx", + "title": "Viewing Purchased Products", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/advanced/viewing-purchased-products", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/configuring.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/configuring.mdx", + "title": "Advanced Configuration", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/configuring", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/experimental-flags.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/experimental-flags.mdx", + "title": "Experimental Flags", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/experimental-flags", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/migrations/migrating-to-v2.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/migrations/migrating-to-v2.mdx", + "title": "Migrating from v1 to v2 - Flutter", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/migrations/migrating-to-v2", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/using-superwall-delegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/using-superwall-delegate.mdx", + "title": "Using the Superwall Delegate", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/using-superwall-delegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/vibe-coding.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/vibe-coding.mdx", + "title": "Vibe Coding", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/vibe-coding", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/web-checkout/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/web-checkout/index.mdx", + "title": "Web Checkout", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/web-checkout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/web-checkout/linking-membership-to-iOS-app.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/web-checkout/linking-membership-to-iOS-app.mdx", + "title": "Redeeming In-App", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/web-checkout/linking-membership-to-iOS-app", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/web-checkout/post-checkout-redirecting.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/web-checkout/post-checkout-redirecting.mdx", + "title": "Post-Checkout Redirecting", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/web-checkout/post-checkout-redirecting", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/guides/web-checkout/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/guides/web-checkout/using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated guides for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Guides", + "url": "/docs/flutter/guides/web-checkout/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/index.mdx", + "title": "Welcome", + "description": "Updated Flutter SDK documentation", + "category": "Flutter SDK", + "url": "/docs/flutter", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/quickstart/configure.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/quickstart/configure.mdx", + "title": "Configure the SDK", + "description": "Updated quickstart for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Quickstart", + "url": "/docs/flutter/quickstart/configure", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/quickstart/feature-gating.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/quickstart/feature-gating.mdx", + "title": "Presenting Paywalls", + "description": "Updated quickstart for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Quickstart", + "url": "/docs/flutter/quickstart/feature-gating", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/quickstart/in-app-paywall-previews.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/quickstart/in-app-paywall-previews.mdx", + "title": "Handling Deep Links", + "description": "Updated quickstart for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Quickstart", + "url": "/docs/flutter/quickstart/in-app-paywall-previews", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/quickstart/install.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/quickstart/install.mdx", + "title": "Install the SDK", + "description": "Updated quickstart for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Quickstart", + "url": "/docs/flutter/quickstart/install", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/quickstart/setting-user-properties.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/quickstart/setting-user-properties.mdx", + "title": "Setting User Attributes", + "description": "Updated quickstart for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Quickstart", + "url": "/docs/flutter/quickstart/setting-user-properties", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/quickstart/tracking-subscription-state.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/quickstart/tracking-subscription-state.mdx", + "title": "Tracking Subscription State", + "description": "Updated quickstart for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Quickstart", + "url": "/docs/flutter/quickstart/tracking-subscription-state", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/quickstart/user-management.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/quickstart/user-management.mdx", + "title": "User Management", + "description": "Updated quickstart for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "Quickstart", + "url": "/docs/flutter/quickstart/user-management", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/CustomerInfo.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/CustomerInfo.mdx", + "title": "CustomerInfo", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/CustomerInfo", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/Entitlements.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/Entitlements.mdx", + "title": "Entitlements", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/Entitlements", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/IntegrationAttribute.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/IntegrationAttribute.mdx", + "title": "IntegrationAttribute", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/IntegrationAttribute", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/NonSubscriptionTransaction.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/NonSubscriptionTransaction.mdx", + "title": "NonSubscriptionTransaction", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/NonSubscriptionTransaction", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/PaywallOptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/PaywallOptions.mdx", + "title": "PaywallOptions", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/PaywallOptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/PaywallPresentationHandler.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/PaywallPresentationHandler.mdx", + "title": "PaywallPresentationHandler", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/PaywallPresentationHandler", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/PresentationResult.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/PresentationResult.mdx", + "title": "PresentationResult", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/PresentationResult", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/PurchaseController.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/PurchaseController.mdx", + "title": "PurchaseController", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/PurchaseController", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/SubscriptionTransaction.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/SubscriptionTransaction.mdx", + "title": "SubscriptionTransaction", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/SubscriptionTransaction", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/Superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/Superwall.mdx", + "title": "Superwall.shared", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/Superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/SuperwallDelegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/SuperwallDelegate.mdx", + "title": "SuperwallDelegate", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/SuperwallDelegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/SuperwallOptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/SuperwallOptions.mdx", + "title": "SuperwallOptions", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/SuperwallOptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/advanced/setSubscriptionStatus.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/advanced/setSubscriptionStatus.mdx", + "title": "setSubscriptionStatus()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/advanced/setSubscriptionStatus", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/configure.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/configure.mdx", + "title": "configure()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/configure", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/consume.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/consume.mdx", + "title": "consume()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/consume", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/getCustomerInfo.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/getCustomerInfo.mdx", + "title": "getCustomerInfo()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/getCustomerInfo", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/getEntitlements.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/getEntitlements.mdx", + "title": "getEntitlements()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/getEntitlements", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/getPresentationResult.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/getPresentationResult.mdx", + "title": "getPresentationResult()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/getPresentationResult", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/getUserId.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/getUserId.mdx", + "title": "getUserId()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/getUserId", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/handleDeepLink.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/handleDeepLink.mdx", + "title": "handleDeepLink()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/handleDeepLink", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/identify.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/identify.mdx", + "title": "identify()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/identify", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/index.mdx", + "title": "Overview", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/overrideProductsByName.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/overrideProductsByName.mdx", + "title": "overrideProductsByName", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/overrideProductsByName", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/register.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/register.mdx", + "title": "registerPlacement()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/register", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/setIntegrationAttribute.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/setIntegrationAttribute.mdx", + "title": "setIntegrationAttribute()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/setIntegrationAttribute", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/setIntegrationAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/setIntegrationAttributes.mdx", + "title": "setIntegrationAttributes()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/setIntegrationAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/setUserAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/setUserAttributes.mdx", + "title": "setUserAttributes()", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/setUserAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/sdk-reference/subscriptionStatus.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/sdk-reference/subscriptionStatus.mdx", + "title": "subscriptionStatus", + "description": "Updated sdk reference for Flutter SDK", + "category": "Flutter SDK", + "subcategory": "SDK Reference", + "url": "/docs/flutter/sdk-reference/subscriptionStatus", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/flutter/vibe-coding-guide.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "flutter/vibe-coding-guide.mdx", + "title": "Superwall Flutter Vibe Coding Guide", + "description": "Updated Flutter SDK documentation", + "category": "Flutter SDK", + "url": "/docs/flutter/vibe-coding-guide", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/3rd-party-analytics/cohorting-in-3rd-party-tools.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/3rd-party-analytics/cohorting-in-3rd-party-tools.mdx", + "title": "Cohorting in 3rd Party Tools", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/3rd-party-analytics/cohorting-in-3rd-party-tools", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/3rd-party-analytics/custom-paywall-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/3rd-party-analytics/custom-paywall-analytics.mdx", + "title": "Custom Paywall Analytics", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/3rd-party-analytics/custom-paywall-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/3rd-party-analytics/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/3rd-party-analytics/index.mdx", + "title": "3rd Party Analytics", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/3rd-party-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/3rd-party-analytics/tracking-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/3rd-party-analytics/tracking-analytics.mdx", + "title": "Superwall Events", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/3rd-party-analytics/tracking-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/advanced-configuration.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/advanced-configuration.mdx", + "title": "Advanced Purchasing", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/advanced-configuration", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/advanced/using-the-presentation-handler.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/advanced/using-the-presentation-handler.mdx", + "title": "Using the Presentation Handler", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/advanced/using-the-presentation-handler", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/advanced/viewing-purchased-products.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/advanced/viewing-purchased-products.mdx", + "title": "Viewing Purchased Products", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/advanced/viewing-purchased-products", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/configuring.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/configuring.mdx", + "title": "Configuring", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/configuring", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/debugging.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/debugging.mdx", + "title": "Debugging", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/debugging", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/experimental-flags.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/experimental-flags.mdx", + "title": "Experimental Flags", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/experimental-flags", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/managing-users.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/managing-users.mdx", + "title": "Managing Users", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/managing-users", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/migrating-react-native.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/migrating-react-native.mdx", + "title": "Migrating from React Native SDK", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/migrating-react-native", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/migrations/migrating-to-v2.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/migrations/migrating-to-v2.mdx", + "title": "Migrating from v1 to v2 - React Native", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/migrations/migrating-to-v2", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/setting-locale.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/setting-locale.mdx", + "title": "Setting a Locale", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/setting-locale", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/testing-purchases.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/testing-purchases.mdx", + "title": "StoreKit testing (iOS only)", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/testing-purchases", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/using-expo-sdk-in-bare-react-native.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/using-expo-sdk-in-bare-react-native.mdx", + "title": "Using Expo SDK in Bare React Native Apps", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/using-expo-sdk-in-bare-react-native", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/using-superwall-delegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/using-superwall-delegate.mdx", + "title": "Using the Superwall Delegate", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/using-superwall-delegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/vibe-coding.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/vibe-coding.mdx", + "title": "Vibe Coding", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/vibe-coding", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/web-checkout/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/web-checkout/index.mdx", + "title": "Web Checkout", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/web-checkout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/web-checkout/linking-membership-to-iOS-app.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/web-checkout/linking-membership-to-iOS-app.mdx", + "title": "Redeeming In-App", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/web-checkout/linking-membership-to-iOS-app", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/web-checkout/post-checkout-redirecting.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/web-checkout/post-checkout-redirecting.mdx", + "title": "Post-Checkout Redirecting", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/web-checkout/post-checkout-redirecting", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/guides/web-checkout/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/guides/web-checkout/using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated guides for Expo SDK", + "category": "Expo SDK", + "subcategory": "Guides", + "url": "/docs/expo/guides/web-checkout/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/quickstart/configure.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/quickstart/configure.mdx", + "title": "Configure the SDK", + "description": "Updated quickstart for Expo SDK", + "category": "Expo SDK", + "subcategory": "Quickstart", + "url": "/docs/expo/quickstart/configure", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/quickstart/feature-gating.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/quickstart/feature-gating.mdx", + "title": "Feature Gating", + "description": "Updated quickstart for Expo SDK", + "category": "Expo SDK", + "subcategory": "Quickstart", + "url": "/docs/expo/quickstart/feature-gating", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/quickstart/in-app-paywall-previews.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/quickstart/in-app-paywall-previews.mdx", + "title": "Handling Deep Links", + "description": "Updated quickstart for Expo SDK", + "category": "Expo SDK", + "subcategory": "Quickstart", + "url": "/docs/expo/quickstart/in-app-paywall-previews", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/quickstart/install.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/quickstart/install.mdx", + "title": "Install the SDK", + "description": "Updated quickstart for Expo SDK", + "category": "Expo SDK", + "subcategory": "Quickstart", + "url": "/docs/expo/quickstart/install", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/quickstart/present-first-paywall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/quickstart/present-first-paywall.mdx", + "title": "Present Your First Paywall", + "description": "Updated quickstart for Expo SDK", + "category": "Expo SDK", + "subcategory": "Quickstart", + "url": "/docs/expo/quickstart/present-first-paywall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/quickstart/setting-user-properties.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/quickstart/setting-user-properties.mdx", + "title": "Setting User Attributes", + "description": "Updated quickstart for Expo SDK", + "category": "Expo SDK", + "subcategory": "Quickstart", + "url": "/docs/expo/quickstart/setting-user-properties", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/quickstart/tracking-subscription-state.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/quickstart/tracking-subscription-state.mdx", + "title": "Tracking Subscription State", + "description": "Updated quickstart for Expo SDK", + "category": "Expo SDK", + "subcategory": "Quickstart", + "url": "/docs/expo/quickstart/tracking-subscription-state", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/quickstart/user-management.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/quickstart/user-management.mdx", + "title": "User Management", + "description": "Updated quickstart for Expo SDK", + "category": "Expo SDK", + "subcategory": "Quickstart", + "url": "/docs/expo/quickstart/user-management", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/components/CustomPurchaseControllerProvider.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/components/CustomPurchaseControllerProvider.mdx", + "title": "CustomPurchaseControllerProvider", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/components/CustomPurchaseControllerProvider", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/components/SuperwallError.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/components/SuperwallError.mdx", + "title": "SuperwallError", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/components/SuperwallError", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/components/SuperwallLoaded.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/components/SuperwallLoaded.mdx", + "title": "SuperwallLoaded", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/components/SuperwallLoaded", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/components/SuperwallLoading.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/components/SuperwallLoading.mdx", + "title": "SuperwallLoading", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/components/SuperwallLoading", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/components/SuperwallProvider.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/components/SuperwallProvider.mdx", + "title": "SuperwallProvider", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/components/SuperwallProvider", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/getPresentationResult.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/getPresentationResult.mdx", + "title": "getPresentationResult()", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/getPresentationResult", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/hooks/usePlacement.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/hooks/usePlacement.mdx", + "title": "usePlacement", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/hooks/usePlacement", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/hooks/useSuperwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/hooks/useSuperwall.mdx", + "title": "useSuperwall", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/hooks/useSuperwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/sdk-reference/hooks/useUser.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/sdk-reference/hooks/useUser.mdx", + "title": "useUser", + "description": "Updated sdk reference for Expo SDK", + "category": "Expo SDK", + "subcategory": "SDK Reference", + "url": "/docs/expo/sdk-reference/hooks/useUser", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/expo/vibe-coding-guide.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "expo/vibe-coding-guide.mdx", + "title": "Superwall Expo Vibe Coding Guide", + "description": "Updated Expo SDK documentation", + "category": "Expo SDK", + "url": "/docs/expo/vibe-coding-guide", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/changelog.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/changelog.mdx", + "title": "Changelog", + "description": "Updated React Native SDK documentation", + "category": "React Native SDK", + "url": "/docs/react-native/changelog", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/index.mdx", + "title": "Welcome", + "description": "Updated React Native SDK documentation", + "category": "React Native SDK", + "url": "/docs/react-native", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/PaywallOptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/PaywallOptions.mdx", + "title": "PaywallOptions", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/PaywallOptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/PaywallPresentationHandler.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/PaywallPresentationHandler.mdx", + "title": "PaywallPresentationHandler", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/PaywallPresentationHandler", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/PurchaseController.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/PurchaseController.mdx", + "title": "PurchaseController", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/PurchaseController", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/Superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/Superwall.mdx", + "title": "Superwall", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/Superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/SuperwallDelegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/SuperwallDelegate.mdx", + "title": "SuperwallDelegate", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/SuperwallDelegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/SuperwallOptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/SuperwallOptions.mdx", + "title": "SuperwallOptions", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/SuperwallOptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/configure.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/configure.mdx", + "title": "configure()", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/configure", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/getUserAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/getUserAttributes.mdx", + "title": "getUserAttributes()", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/getUserAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/handleDeepLink.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/handleDeepLink.mdx", + "title": "handleDeepLink()", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/handleDeepLink", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/identify.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/identify.mdx", + "title": "identify()", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/identify", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/index.mdx", + "title": "Overview", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/register.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/register.mdx", + "title": "register()", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/register", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/setUserAttributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/setUserAttributes.mdx", + "title": "setUserAttributes()", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/setUserAttributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/subscriptionStatus.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/subscriptionStatus.mdx", + "title": "Subscription Status", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/subscriptionStatus", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/sdk-reference/types.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/sdk-reference/types.mdx", + "title": "Types and Enums", + "description": "Updated sdk reference for React Native SDK", + "category": "React Native SDK", + "subcategory": "SDK Reference", + "url": "/docs/react-native/sdk-reference/types", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/react-native/vibe-coding-guide.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "react-native/vibe-coding-guide.mdx", + "title": "Superwall React Native Vibe Coding Guide", + "description": "Updated React Native SDK documentation", + "category": "React Native SDK", + "url": "/docs/react-native/vibe-coding-guide", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/charts.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/charts.mdx", + "title": "Charts", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/charts", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-campaigns/campaigns-audience.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-campaigns/campaigns-audience.mdx", + "title": "Audiences", + "description": "Updated campaigns for Dashboard", + "category": "Dashboard", + "subcategory": "Campaigns", + "url": "/docs/dashboard/dashboard-campaigns/campaigns-audience", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-campaigns/campaigns-placements.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-campaigns/campaigns-placements.mdx", + "title": "Placements", + "description": "Updated campaigns for Dashboard", + "category": "Dashboard", + "subcategory": "Campaigns", + "url": "/docs/dashboard/dashboard-campaigns/campaigns-placements", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-campaigns/campaigns-standard-placements.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-campaigns/campaigns-standard-placements.mdx", + "title": "Standard Placements", + "description": "Updated campaigns for Dashboard", + "category": "Dashboard", + "subcategory": "Campaigns", + "url": "/docs/dashboard/dashboard-campaigns/campaigns-standard-placements", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/flow-elements.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/flow-elements.mdx", + "title": "Flow Elements", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/flow-elements", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/getting-started.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/getting-started.mdx", + "title": "Getting Started with Flows", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/getting-started", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/how-flows-are-structured.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/how-flows-are-structured.mdx", + "title": "How Flows are Structured", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/how-flows-are-structured", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/linking-pages.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/linking-pages.mdx", + "title": "Linking Pages", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/linking-pages", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/navigation.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/navigation.mdx", + "title": "Navigation", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/navigation", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/ordering-screens.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/ordering-screens.mdx", + "title": "Ordering Screens", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/ordering-screens", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/permission-prompts.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/permission-prompts.mdx", + "title": "Permission Prompts", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/permission-prompts", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/the-canvas.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/the-canvas.mdx", + "title": "The Canvas", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/the-canvas", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-flows/tips.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-flows/tips.mdx", + "title": "Tips", + "description": "New Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-creating-flows/tips", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-autoscroll-component.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-autoscroll-component.mdx", + "title": "Autoscroll", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-autoscroll-component", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-drawer-component.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-drawer-component.mdx", + "title": "Drawers", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-drawer-component", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-dynamic-values.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-dynamic-values.mdx", + "title": "Dynamic Values", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-dynamic-values", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-floating-toolbar.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-floating-toolbar.mdx", + "title": "Floating Toolbar", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-floating-toolbar", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-indicator-component.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-indicator-component.mdx", + "title": "Indicator", + "description": "New creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-indicator-component", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-input-component.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-input-component.mdx", + "title": "Input", + "description": "New creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-input-component", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-layout.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-layout.mdx", + "title": "Layout", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-layout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-liquid.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-liquid.mdx", + "title": "Liquid", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-liquid", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-localization.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-localization.mdx", + "title": "Paywall Localization", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-localization", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-multiple-choice-component.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-multiple-choice-component.mdx", + "title": "Multiple Choice", + "description": "New creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-multiple-choice-component", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "added" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-navigation-component.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-navigation-component.mdx", + "title": "Navigation", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-navigation-component", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-notifications.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-notifications.mdx", + "title": "Notifications", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-notifications", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-publishing.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-publishing.mdx", + "title": "Publishing", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-publishing", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-settings.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-settings.mdx", + "title": "Settings", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-settings", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-slides-component.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-slides-component.mdx", + "title": "Slides", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-slides-component", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-stacks.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-stacks.mdx", + "title": "Stacks", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-stacks", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements.mdx", + "title": "Styling Elements", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-variables.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-creating-paywalls/paywall-editor-variables.mdx", + "title": "Variables", + "description": "Updated creating paywalls for Dashboard", + "category": "Dashboard", + "subcategory": "Creating Paywalls", + "url": "/docs/dashboard/dashboard-creating-paywalls/paywall-editor-variables", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-demand-score/demand-score-experiments.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-demand-score/demand-score-experiments.mdx", + "title": "Using Demand Score in Campaigns", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-demand-score/demand-score-experiments", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-demand-score/demand-score-insights.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-demand-score/demand-score-insights.mdx", + "title": "Understanding Demand Score Insights", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-demand-score/demand-score-insights", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-demand-score/demand-score.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-demand-score/demand-score.mdx", + "title": "Using Demand Score", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/dashboard-demand-score/demand-score", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-settings/overview-settings-all-teams.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-settings/overview-settings-all-teams.mdx", + "title": "All teams", + "description": "Updated settings for Dashboard", + "category": "Dashboard", + "subcategory": "Settings", + "url": "/docs/dashboard/dashboard-settings/overview-settings-all-teams", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-settings/overview-settings-public-beta.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-settings/overview-settings-public-beta.mdx", + "title": "Public Beta", + "description": "Updated settings for Dashboard", + "category": "Dashboard", + "subcategory": "Settings", + "url": "/docs/dashboard/dashboard-settings/overview-settings-public-beta", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-settings/overview-settings-refund-protection.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-settings/overview-settings-refund-protection.mdx", + "title": "Refund Protection", + "description": "Updated settings for Dashboard", + "category": "Dashboard", + "subcategory": "Settings", + "url": "/docs/dashboard/dashboard-settings/overview-settings-refund-protection", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking-google-play.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-settings/overview-settings-revenue-tracking-google-play.mdx", + "title": "Google Play Revenue Tracking", + "description": "Updated settings for Dashboard", + "category": "Dashboard", + "subcategory": "Settings", + "url": "/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking-google-play", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-settings/overview-settings-revenue-tracking.mdx", + "title": "Revenue Tracking", + "description": "Updated settings for Dashboard", + "category": "Dashboard", + "subcategory": "Settings", + "url": "/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-settings/overview-settings-team.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-settings/overview-settings-team.mdx", + "title": "Team", + "description": "Updated settings for Dashboard", + "category": "Dashboard", + "subcategory": "Settings", + "url": "/docs/dashboard/dashboard-settings/overview-settings-team", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/dashboard-settings/overview-settings.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/dashboard-settings/overview-settings.mdx", + "title": "General", + "description": "Updated settings for Dashboard", + "category": "Dashboard", + "subcategory": "Settings", + "url": "/docs/dashboard/dashboard-settings/overview-settings", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/guides/migrating-from-revenuecat-to-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/guides/migrating-from-revenuecat-to-superwall.mdx", + "title": "RevenueCat Migration Guide", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/migrating-from-revenuecat-to-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/guides/superwall-mcp.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/guides/superwall-mcp.mdx", + "title": "Superwall MCP", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/superwall-mcp", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/guides/tips-abandoned-transaction-paywall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/guides/tips-abandoned-transaction-paywall.mdx", + "title": "Abandoned Transaction Paywalls", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/tips-abandoned-transaction-paywall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/guides/tips-first-touch-paywall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/guides/tips-first-touch-paywall.mdx", + "title": "First Touch Paywalls", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/tips-first-touch-paywall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/guides/tips-paywalls-based-on-placement.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/guides/tips-paywalls-based-on-placement.mdx", + "title": "Showing Unique Paywalls", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/tips-paywalls-based-on-placement", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/guides/tips-paywalls-feature-gating.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/guides/tips-paywalls-feature-gating.mdx", + "title": "Feature Gating", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/tips-paywalls-feature-gating", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/guides/tips-using-custom-actions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/guides/tips-using-custom-actions.mdx", + "title": "Custom Actions", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/tips-using-custom-actions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/guides/using-superwall-for-onboarding-flows.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/guides/using-superwall-for-onboarding-flows.mdx", + "title": "Using Superwall for Onboarding Flows", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/using-superwall-for-onboarding-flows", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/index.mdx", + "title": "Welcome", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/manage-account.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/manage-account.mdx", + "title": "Account Management", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/manage-account", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/overview-metrics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/overview-metrics.mdx", + "title": "Overview", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/overview-metrics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/overview-users.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/overview-users.mdx", + "title": "Users", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/overview-users", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/paywalls.mdx", + "title": "Paywalls", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/products.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/products.mdx", + "title": "Adding Products", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/products", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/dashboard/subscription-management.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "dashboard/subscription-management.mdx", + "title": "Subscription Management", + "description": "Updated Dashboard documentation", + "category": "Dashboard", + "url": "/docs/dashboard/subscription-management", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/amplitude.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/amplitude.mdx", + "title": "Amplitude", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/amplitude", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/customer-io.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/customer-io.mdx", + "title": "Customer.io", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/customer-io", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/discord.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/discord.mdx", + "title": "Discord", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/discord", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/figma-plugin.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/figma-plugin.mdx", + "title": "Figma Plugin", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/figma-plugin", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/firebase.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/firebase.mdx", + "title": "Firebase", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/firebase", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/index.mdx", + "title": "Integrations", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/mixpanel.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/mixpanel.mdx", + "title": "Mixpanel", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/mixpanel", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/slack.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/slack.mdx", + "title": "Slack", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/slack", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/statsig.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/statsig.mdx", + "title": "Statsig", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/statsig", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/webhooks-verify.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/webhooks-verify.mdx", + "title": "Verify Webhook Requests", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/webhooks-verify", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/webhooks/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/webhooks/index.mdx", + "title": "Webhooks", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/webhooks", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/integrations/webhooks/verify.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "integrations/webhooks/verify.mdx", + "title": "Verify Webhook Requests", + "description": "Updated Integrations documentation", + "category": "Integrations", + "url": "/docs/integrations/webhooks/verify", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-adding-a-stripe-product.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "web-checkout/web-checkout-adding-a-stripe-product.mdx", + "title": "Creating Products", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-adding-a-stripe-product", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-configuring-stripe-keys-and-settings.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "web-checkout/web-checkout-configuring-stripe-keys-and-settings.mdx", + "title": "Stripe Setup", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-configuring-stripe-keys-and-settings", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-creating-an-app.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "web-checkout/web-checkout-creating-an-app.mdx", + "title": "Creating an App", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-creating-an-app", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-creating-campaigns-to-show-paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "web-checkout/web-checkout-creating-campaigns-to-show-paywalls.mdx", + "title": "Web Checkout Links", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-creating-campaigns-to-show-paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "web-checkout/web-checkout-direct-stripe-checkout.mdx", + "title": "App2Web", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-direct-stripe-checkout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-faq.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "web-checkout/web-checkout-faq.mdx", + "title": "Web Checkout FAQ", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-faq", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-testing-purchases.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "web-checkout/web-checkout-testing-purchases.mdx", + "title": "Sandbox Purchases", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-testing-purchases", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-web-only.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "web-checkout/web-checkout-web-only.mdx", + "title": "Web-Only Checkout", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-web-only", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/2125187334-how-do-i-change-my-login-email-address.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/2125187334-how-do-i-change-my-login-email-address.mdx", + "title": "How do I change my login email address?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/2125187334-how-do-i-change-my-login-email-address", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/2132346026-how-do-i-update-my-apple-small-business-program-status-in-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/2132346026-how-do-i-update-my-apple-small-business-program-status-in-superwall.mdx", + "title": "How do I update my Apple Small Business Program status in Superwall?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/2132346026-how-do-i-update-my-apple-small-business-program-status-in-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/2172810792-why-don-t-trial-conversion-and-cancellation-rates-add-up-to-100.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/2172810792-why-don-t-trial-conversion-and-cancellation-rates-add-up-to-100.mdx", + "title": "Why don't trial conversion and cancellation rates add up to 100%?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/2172810792-why-don-t-trial-conversion-and-cancellation-rates-add-up-to-100", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/2563776677-revenue-charts-tour.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/2563776677-revenue-charts-tour.mdx", + "title": "Video: Revenue Charts Tour", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/2563776677-revenue-charts-tour", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/3633020467-breaking-down-revenue-charts-by-user-attributes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/3633020467-breaking-down-revenue-charts-by-user-attributes.mdx", + "title": "Video: Breaking Down Revenue Charts by User Attributes", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/3633020467-breaking-down-revenue-charts-by-user-attributes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/4129730749-how-is-the-estimated-arpu-metric-calculated-in-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/4129730749-how-is-the-estimated-arpu-metric-calculated-in-superwall.mdx", + "title": "How is the Estimated ARPU metric calculated in Superwall?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/4129730749-how-is-the-estimated-arpu-metric-calculated-in-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/5346543318-how-do-i-find-my-superwall-server-secret.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/5346543318-how-do-i-find-my-superwall-server-secret.mdx", + "title": "How do I find my Superwall Server Secret?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/5346543318-how-do-i-find-my-superwall-server-secret", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/5483562984-how-to-optimize-refund-protection-settings.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/5483562984-how-to-optimize-refund-protection-settings.mdx", + "title": "How to Optimize Refund Protection Settings", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/5483562984-how-to-optimize-refund-protection-settings", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/8137029255-configuring-products-to-use-in-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/8137029255-configuring-products-to-use-in-superwall.mdx", + "title": "Video: Configuring Products to use in Superwall", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/8137029255-configuring-products-to-use-in-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/8360602963-how-to-show-different-paywalls-to-certain-users-with-audiences.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/8360602963-how-to-show-different-paywalls-to-certain-users-with-audiences.mdx", + "title": "Video: How to Show Different Paywalls to Certain Users with Audiences", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/8360602963-how-to-show-different-paywalls-to-certain-users-with-audiences", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/8851145816-get-started-with-apple-search-ads.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/8851145816-get-started-with-apple-search-ads.mdx", + "title": "Video: Get Started with Apple Search Ads", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/8851145816-get-started-with-apple-search-ads", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/9023151337-how-do-i-add-my-vat-number-to-invoices.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/9023151337-how-do-i-add-my-vat-number-to-invoices.mdx", + "title": "How do I add my VAT number to invoices?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/9023151337-how-do-i-add-my-vat-number-to-invoices", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/9149611399-can-i-recover-an-archived-product-in-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/9149611399-can-i-recover-an-archived-product-in-superwall.mdx", + "title": "How can I recover an archived product in Superwall?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/9149611399-can-i-recover-an-archived-product-in-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/9274386153-what-is-the-difference-between-trial-cancel-and-trial-expire-tags.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/9274386153-what-is-the-difference-between-trial-cancel-and-trial-expire-tags.mdx", + "title": "What is the difference between \"Trial Cancel\" and \"Trial Expire\" tags?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/9274386153-what-is-the-difference-between-trial-cancel-and-trial-expire-tags", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/9588935743-a-superwall-product-tour.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/9588935743-a-superwall-product-tour.mdx", + "title": "A Superwall product tour", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/9588935743-a-superwall-product-tour", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/9621028514-why-is-initial-conversion-lower-than-new-trials-on-some-days.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/9621028514-why-is-initial-conversion-lower-than-new-trials-on-some-days.mdx", + "title": "Why is initial conversion lower than new trials on some days?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/9621028514-why-is-initial-conversion-lower-than-new-trials-on-some-days", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/how-to-reset-paywall-history-for-a-b-testing.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/how-to-reset-paywall-history-for-a-b-testing.mdx", + "title": "How to Start a Fresh A/B Test", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/how-to-reset-paywall-history-for-a-b-testing", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/index.mdx", + "title": "Dashboard", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/what-is-the-legacy-user-role-in-team-settings.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/what-is-the-legacy-user-role-in-team-settings.mdx", + "title": "What is the legacy User role in team settings?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/what-is-the-legacy-user-role-in-team-settings", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/dashboard/why-does-the-sdk-releases-behind-warning-still-appear.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/dashboard/why-does-the-sdk-releases-behind-warning-still-appear.mdx", + "title": "Why does the \"SDK releases behind\" warning still appear after updating?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/dashboard/why-does-the-sdk-releases-behind-warning-still-appear", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/1379595978-how-to-transfer-app-to-a-new-owner.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/1379595978-how-to-transfer-app-to-a-new-owner.mdx", + "title": "How to Transfer Your App to a New Owner", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/1379595978-how-to-transfer-app-to-a-new-owner", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/2801653905-how-does-superwalls-pricing-work.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/2801653905-how-does-superwalls-pricing-work.mdx", + "title": "How does Superwall's pricing work?", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/2801653905-how-does-superwalls-pricing-work", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/app-store-compliance-paywall-events.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/app-store-compliance-paywall-events.mdx", + "title": "Are Paywall Events and Urgency Messaging App Store Compliant?", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/app-store-compliance-paywall-events", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/can-i-pre-authenticate-users-on-subscription-management-page.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/can-i-pre-authenticate-users-on-subscription-management-page.mdx", + "title": "Can I pre-authenticate users on the subscription management page?", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/can-i-pre-authenticate-users-on-subscription-management-page", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/how-do-i-migrate-my-existing-purchases-to-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/how-do-i-migrate-my-existing-purchases-to-revenuecat.mdx", + "title": "How do I migrate my existing purchases to RevenueCat?", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/how-do-i-migrate-my-existing-purchases-to-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/how-to-extract-apple-search-ads-data-from-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/how-to-extract-apple-search-ads-data-from-superwall.mdx", + "title": "How do I extract Apple Search Ads attribution data from Superwall?", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/how-to-extract-apple-search-ads-data-from-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/how-to-migrate-from-another-provider-to-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/how-to-migrate-from-another-provider-to-superwall.mdx", + "title": "How do I migrate to Superwall from another provider?", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/how-to-migrate-from-another-provider-to-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/index.mdx", + "title": "FAQ", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/why-is-my-android-app-missing-historical-revenue-data.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/why-is-my-android-app-missing-historical-revenue-data.mdx", + "title": "Why is my Android app missing historical revenue data after setting up the Google Play integration?", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/why-is-my-android-app-missing-historical-revenue-data", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/faq/why-is-my-transaction-failure-rate-high.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/faq/why-is-my-transaction-failure-rate-high.mdx", + "title": "Why is my transaction failure rate high?", + "description": "Updated faq for Support", + "category": "Support", + "subcategory": "FAQ", + "url": "/docs/support/faq/why-is-my-transaction-failure-rate-high", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/index.mdx", + "title": "Support Center", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/1377495156-how-to-create-a-countdown-timer-on-a-paywall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/1377495156-how-to-create-a-countdown-timer-on-a-paywall.mdx", + "title": "Video: How to create a countdown timer on a paywall", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/1377495156-how-to-create-a-countdown-timer-on-a-paywall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/1502195570-adding-products-to-paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/1502195570-adding-products-to-paywalls.mdx", + "title": "Video: Adding Products to Paywalls", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/1502195570-adding-products-to-paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/1523245773-are-videos-automatically-compressed-when-uploaded-to-a-paywall-via-the-editor.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/1523245773-are-videos-automatically-compressed-when-uploaded-to-a-paywall-via-the-editor.mdx", + "title": "Are video and images automatically compressed when uploaded to a paywall via the editor?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/1523245773-are-videos-automatically-compressed-when-uploaded-to-a-paywall-via-the-editor", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/1932646675-building-your-first-paywall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/1932646675-building-your-first-paywall.mdx", + "title": "Video: Building your first paywall", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/1932646675-building-your-first-paywall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/2079174387-using-custom-actions-to-setup-referral-systems.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/2079174387-using-custom-actions-to-setup-referral-systems.mdx", + "title": "Video: Using Custom Actions to Setup Referral Systems", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/2079174387-using-custom-actions-to-setup-referral-systems", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/2306253672-can-i-use-a-feature-shown-in-the-attached-screenshot.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/2306253672-can-i-use-a-feature-shown-in-the-attached-screenshot.mdx", + "title": "When adding a product, is it possible to fetch the price for non subscription products?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/2306253672-can-i-use-a-feature-shown-in-the-attached-screenshot", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/2427577661-how-to-use-custom-actions-in-your-paywall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/2427577661-how-to-use-custom-actions-in-your-paywall.mdx", + "title": "Video: How to use custom actions in your paywall", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/2427577661-how-to-use-custom-actions-in-your-paywall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/2455479259-showing-paywalls-with-a-discount-for-abandoned-transactions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/2455479259-showing-paywalls-with-a-discount-for-abandoned-transactions.mdx", + "title": "Video: Showing paywalls with a discount for abandoned transactions", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/2455479259-showing-paywalls-with-a-discount-for-abandoned-transactions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/3696237744-using-custom-placements-for-tracking-paywall-interactions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/3696237744-using-custom-placements-for-tracking-paywall-interactions.mdx", + "title": "Video: Using Custom Placements for Tracking Paywall Interactions", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/3696237744-using-custom-placements-for-tracking-paywall-interactions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/4109039578-display-dynamic-images-in-your-paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/4109039578-display-dynamic-images-in-your-paywalls.mdx", + "title": "Display dynamic images in your paywalls", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/4109039578-display-dynamic-images-in-your-paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/4876966592-feature-gating.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/4876966592-feature-gating.mdx", + "title": "Video: Feature Gating", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/4876966592-feature-gating", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/5453267914-how-to-make-paywalls-adapt-to-device-light-or-dark-mode-and-more.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/5453267914-how-to-make-paywalls-adapt-to-device-light-or-dark-mode-and-more.mdx", + "title": "Video: How to make paywalls adapt to device, light or dark mode, and more.", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/5453267914-how-to-make-paywalls-adapt-to-device-light-or-dark-mode-and-more", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/6032457649-building-a-multi-tier-paywall-using-the-superwall-editor.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/6032457649-building-a-multi-tier-paywall-using-the-superwall-editor.mdx", + "title": "Video: Building a Multi-Tier Paywall using the Superwall Editor", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/6032457649-building-a-multi-tier-paywall-using-the-superwall-editor", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/6426797732-how-do-i-animate-text-elements-in-the-superwall-editor.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/6426797732-how-do-i-animate-text-elements-in-the-superwall-editor.mdx", + "title": "How do I animate elements in the Superwall editor?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/6426797732-how-do-i-animate-text-elements-in-the-superwall-editor", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/6485999553-how-to-use-dynamic-values.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/6485999553-how-to-use-dynamic-values.mdx", + "title": "Video: How to use Dynamic Values", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/6485999553-how-to-use-dynamic-values", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/6666110181-tracking-user-behavior-on-paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/6666110181-tracking-user-behavior-on-paywalls.mdx", + "title": "Video: Tracking User Behavior on Paywalls", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/6666110181-tracking-user-behavior-on-paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/6770999766-paywall-editor-menus-or-modals-closing.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/6770999766-paywall-editor-menus-or-modals-closing.mdx", + "title": "Paywall Editor: Menus or Modals Closing", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/6770999766-paywall-editor-menus-or-modals-closing", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/7124788686-how-do-i-copy-a-paywall-from-one-account-to-another.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/7124788686-how-do-i-copy-a-paywall-from-one-account-to-another.mdx", + "title": "How do I copy a paywall from one account to another?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/7124788686-how-do-i-copy-a-paywall-from-one-account-to-another", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/7448860745-can-i-delete-or-update-existing-snippets.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/7448860745-can-i-delete-or-update-existing-snippets.mdx", + "title": "Can I delete or update existing snippets?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/7448860745-can-i-delete-or-update-existing-snippets", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/8950966564-ai-image-generation-in-paywalls.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/8950966564-ai-image-generation-in-paywalls.mdx", + "title": "Video: AI Image Generation in Paywalls", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/8950966564-ai-image-generation-in-paywalls", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/index.mdx", + "title": "Paywall Editor", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/paywall-editor/localizing-paywalls-with-dynamic-values.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/paywall-editor/localizing-paywalls-with-dynamic-values.mdx", + "title": "Localizing Paywalls with Dynamic Values", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/paywall-editor/localizing-paywalls-with-dynamic-values", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/3107042948-how-to-setup-sandbox-testing-without-affecting-production-metrics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/3107042948-how-to-setup-sandbox-testing-without-affecting-production-metrics.mdx", + "title": "How to setup sandbox testing without affecting production metrics", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/3107042948-how-to-setup-sandbox-testing-without-affecting-production-metrics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/3165338058-how-to-present-a-paywall-from-the-first-touch-in-app.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/3165338058-how-to-present-a-paywall-from-the-first-touch-in-app.mdx", + "title": "Video: How to present a paywall from the first touch in app", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/3165338058-how-to-present-a-paywall-from-the-first-touch-in-app", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/3422417486-how-to-install-and-configure-the-superwall-sdk-in-flutter-in-under-2-minutes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/3422417486-how-to-install-and-configure-the-superwall-sdk-in-flutter-in-under-2-minutes.mdx", + "title": "Video: How to Install and Configure the Superwall SDK in Flutter (In Under 2 Minutes!)", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/3422417486-how-to-install-and-configure-the-superwall-sdk-in-flutter-in-under-2-minutes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/3677919065-how-to-setup-web-restoration-alert-options.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/3677919065-how-to-setup-web-restoration-alert-options.mdx", + "title": "How to Setup Web Restoration Alert Options", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/3677919065-how-to-setup-web-restoration-alert-options", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/4341680566-presenting-a-paywall-in-an-ios-app-using-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/4341680566-presenting-a-paywall-in-an-ios-app-using-superwall.mdx", + "title": "Video: Presenting a Paywall in an iOS App Using Superwall", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/4341680566-presenting-a-paywall-in-an-ios-app-using-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/4506454639-using-xcode-s-transaction-manager.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/4506454639-using-xcode-s-transaction-manager.mdx", + "title": "Video: Using Xcode's Transaction Manager", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/4506454639-using-xcode-s-transaction-manager", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/5896158743-how-do-i-disable-streamlined-purchasing-for-ios-apps.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/5896158743-how-do-i-disable-streamlined-purchasing-for-ios-apps.mdx", + "title": "How do I disable Streamlined Purchasing for iOS apps?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/5896158743-how-do-i-disable-streamlined-purchasing-for-ios-apps", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/6889849185-how-to-install-superwall-s-sdk-into-your-ios-app.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/6889849185-how-to-install-superwall-s-sdk-into-your-ios-app.mdx", + "title": "Video: How to Install Superwall's SDK into your iOS App", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/6889849185-how-to-install-superwall-s-sdk-into-your-ios-app", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/8208368408-making-a-purchase-with-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/8208368408-making-a-purchase-with-superwall.mdx", + "title": "Video: Making a Purchase with Superwall", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk/8208368408-making-a-purchase-with-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/sdk/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/sdk/index.mdx", + "title": "SDK", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/sdk", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/1205343891-why-isn-t-my-free-trial-showing-up-in-my-paywall-preview.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/1205343891-why-isn-t-my-free-trial-showing-up-in-my-paywall-preview.mdx", + "title": "Why isn't my free trial showing up in my paywall?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/1205343891-why-isn-t-my-free-trial-showing-up-in-my-paywall-preview", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/3578026824-troubleshooting-android-sdk.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/3578026824-troubleshooting-android-sdk.mdx", + "title": "Troubleshooting: Android SDK", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/3578026824-troubleshooting-android-sdk", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/3920414585-why-aren-t-my-revenuecat-transactions-attributing-to-a-placement-paywall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/3920414585-why-aren-t-my-revenuecat-transactions-attributing-to-a-placement-paywall.mdx", + "title": "Why aren't my transactions attributing to a placement/paywall?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/3920414585-why-aren-t-my-revenuecat-transactions-attributing-to-a-placement-paywall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/4741512872-why-am-i-seeing-a-billing-issue-after-my-free-trial-ends.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/4741512872-why-am-i-seeing-a-billing-issue-after-my-free-trial-ends.mdx", + "title": "Why am I seeing a billing issue after my free trial ends?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/4741512872-why-am-i-seeing-a-billing-issue-after-my-free-trial-ends", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/4780985851-troubleshooting-expo-sdk.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/4780985851-troubleshooting-expo-sdk.mdx", + "title": "Troubleshooting: Expo SDK", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/4780985851-troubleshooting-expo-sdk", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/5131096404-why-is-my-webhook-s-originalappuserid-different-from-the-user-id-i-set.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/5131096404-why-is-my-webhook-s-originalappuserid-different-from-the-user-id-i-set.mdx", + "title": "Why is my webhook's originalAppUserId different from the user ID I set?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/5131096404-why-is-my-webhook-s-originalappuserid-different-from-the-user-id-i-set", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/5316844925-why-am-i-not-receiving-webhook-events-when-using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/5316844925-why-am-i-not-receiving-webhook-events-when-using-revenuecat.mdx", + "title": "Why am I not receiving webhook events?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/5316844925-why-am-i-not-receiving-webhook-events-when-using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/5990752866-why-are-my-webhook-events-not-triggering.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/5990752866-why-are-my-webhook-events-not-triggering.mdx", + "title": "Why are my webhook events not triggering?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/5990752866-why-are-my-webhook-events-not-triggering", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/6022066375-troubleshooting.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/6022066375-troubleshooting.mdx", + "title": "Troubleshooting", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/6022066375-troubleshooting", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/6204964383-why-am-i-seeing-sign-in-to-apple-account-when-testing-in-app-purchases.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/6204964383-why-am-i-seeing-sign-in-to-apple-account-when-testing-in-app-purchases.mdx", + "title": "Why am I seeing \"Sign in to Apple Account\" when testing in-app purchases?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/6204964383-why-am-i-seeing-sign-in-to-apple-account-when-testing-in-app-purchases", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/6381986971-paywall-not-showing.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/6381986971-paywall-not-showing.mdx", + "title": "Paywall Not Showing", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/6381986971-paywall-not-showing", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/6999598520-troubleshooting-flutter-sdk.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/6999598520-troubleshooting-flutter-sdk.mdx", + "title": "Troubleshooting: Flutter SDK", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/6999598520-troubleshooting-flutter-sdk", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/7581794451-why-am-i-seeing-520-errors-from-the-events-api-endpoint.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/7581794451-why-am-i-seeing-520-errors-from-the-events-api-endpoint.mdx", + "title": "Why am I seeing 520 errors from the events API endpoint?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/7581794451-why-am-i-seeing-520-errors-from-the-events-api-endpoint", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/8550351416-why-am-i-getting-placementnotfound-errors-for-active-placements-in-expo.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/8550351416-why-am-i-getting-placementnotfound-errors-for-active-placements-in-expo.mdx", + "title": "Why am I getting PlacementNotFound errors for active placements in Expo?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/8550351416-why-am-i-getting-placementnotfound-errors-for-active-placements-in-expo", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/8569105587-why-does-my-subscription-status-remain-inactive-after-successful-purchase.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/8569105587-why-does-my-subscription-status-remain-inactive-after-successful-purchase.mdx", + "title": "Why does my subscription status remain INACTIVE after successful purchase?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/8569105587-why-does-my-subscription-status-remain-inactive-after-successful-purchase", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/8881818609-troubleshooting-ios-sdk.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/8881818609-troubleshooting-ios-sdk.mdx", + "title": "Troubleshooting: iOS SDK", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/8881818609-troubleshooting-ios-sdk", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/9207773532-why-does-my-entitlement-show-missing-app-id-after-connecting-app-store-connect-api.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/9207773532-why-does-my-entitlement-show-missing-app-id-after-connecting-app-store-connect-api.mdx", + "title": "Why does my entitlement show \"Missing App ID\" after connecting App Store Connect API?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/9207773532-why-does-my-entitlement-show-missing-app-id-after-connecting-app-store-connect-api", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/9558513118-why-are-my-products-showing-unknown-status-in-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/9558513118-why-are-my-products-showing-unknown-status-in-superwall.mdx", + "title": "Why are my products showing \"Unknown\" status in Superwall?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/9558513118-why-are-my-products-showing-unknown-status-in-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/9619927130-why-is-my-paywall-not-loading-on-android-with-billing-service-unavailable-error.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/9619927130-why-is-my-paywall-not-loading-on-android-with-billing-service-unavailable-error.mdx", + "title": "Why is my paywall not loading on Android with Billing Service Unavailable?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/9619927130-why-is-my-paywall-not-loading-on-android-with-billing-service-unavailable-error", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/how-to-test-paywalls-with-local-currency-for-a-specific-country.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/how-to-test-paywalls-with-local-currency-for-a-specific-country.mdx", + "title": "How to Test Paywalls with Local Currency for a Specific Country", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/how-to-test-paywalls-with-local-currency-for-a-specific-country", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/index.mdx", + "title": "Troubleshooting", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/products-not-loading/1253018505-products-not-loading-ios.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/products-not-loading/1253018505-products-not-loading-ios.mdx", + "title": "Products Not Loading: iOS", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/products-not-loading/1253018505-products-not-loading-ios", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/products-not-loading/3716347779-products-not-loading-android.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/products-not-loading/3716347779-products-not-loading-android.mdx", + "title": "Products Not Loading: Android", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/products-not-loading/3716347779-products-not-loading-android", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/products-not-loading/4739776203-products-not-loading-ios-simulator.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/products-not-loading/4739776203-products-not-loading-ios-simulator.mdx", + "title": "Products Not Loading: iOS Simulator", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/products-not-loading/4739776203-products-not-loading-ios-simulator", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/products-not-loading/4845457144-products-not-loading-ios-device-with-storekit-config-file.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/products-not-loading/4845457144-products-not-loading-ios-device-with-storekit-config-file.mdx", + "title": "Products Not Loading: iOS Device with StoreKit config file", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/products-not-loading/4845457144-products-not-loading-ios-device-with-storekit-config-file", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/products-not-loading/9984011656-products-not-loading-safari-preview.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/products-not-loading/9984011656-products-not-loading-safari-preview.mdx", + "title": "Products Not Loading: Browser Preview", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/products-not-loading/9984011656-products-not-loading-safari-preview", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/products-not-loading/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/products-not-loading/index.mdx", + "title": "Products Not Loading: Troubleshooting Guide", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/products-not-loading", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/troubleshooting-old-paywall-persists-after-removal.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/troubleshooting-old-paywall-persists-after-removal.mdx", + "title": "Why Are Users Still Seeing a Removed Paywall?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/troubleshooting-old-paywall-persists-after-removal", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/troubleshooting-paywall-memory-usage-on-iOS.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/troubleshooting-paywall-memory-usage-on-iOS.mdx", + "title": "Paywall Memory Usage on iOS", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/troubleshooting-paywall-memory-usage-on-iOS", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/troubleshooting-pending-trials-not-converting.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/troubleshooting-pending-trials-not-converting.mdx", + "title": "Why are my trials still showing as pending after they should have converted?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/troubleshooting-pending-trials-not-converting", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/troubleshooting-testflight-subscriptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/troubleshooting-testflight-subscriptions.mdx", + "title": "TestFlight Subscriptions", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/troubleshooting-testflight-subscriptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/troubleshooting/why-is-my-paywall-not-updating-after-publishing.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/troubleshooting/why-is-my-paywall-not-updating-after-publishing.mdx", + "title": "Why is my paywall not updating after publishing?", + "description": "Updated troubleshooting for Support", + "category": "Support", + "subcategory": "Troubleshooting", + "url": "/docs/support/troubleshooting/why-is-my-paywall-not-updating-after-publishing", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/web-checkout/1872595046-web-checkout-tour-on-ios.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/web-checkout/1872595046-web-checkout-tour-on-ios.mdx", + "title": "Video: Web Checkout Tour on iOS", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/web-checkout/1872595046-web-checkout-tour-on-ios", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/web-checkout/3771535881-why-am-i-seeing-an-error-occurred-while-loading-the-stripe-portal-in-the-manage-subscription-page.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/web-checkout/3771535881-why-am-i-seeing-an-error-occurred-while-loading-the-stripe-portal-in-the-manage-subscription-page.mdx", + "title": "Why am I seeing \"An error occurred while loading the Stripe Portal\" in the manage subscription page?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/web-checkout/3771535881-why-am-i-seeing-an-error-occurred-while-loading-the-stripe-portal-in-the-manage-subscription-page", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/web-checkout/3969573187-how-do-i-disable-the-activation-link-email-for-web-checkout.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/web-checkout/3969573187-how-do-i-disable-the-activation-link-email-for-web-checkout.mdx", + "title": "How do I disable the activation link email for web checkout?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/web-checkout/3969573187-how-do-i-disable-the-activation-link-email-for-web-checkout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/web-checkout/how-to-retrieve-stripe-customer-data-after-web-checkout.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/web-checkout/how-to-retrieve-stripe-customer-data-after-web-checkout.mdx", + "title": "How do I retrieve Stripe customer data after web checkout?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/web-checkout/how-to-retrieve-stripe-customer-data-after-web-checkout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/web-checkout/index.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/web-checkout/index.mdx", + "title": "Web Checkout", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/web-checkout", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/support/web-checkout/web-checkout-revenue-tracking-is-automatic.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "support/web-checkout/web-checkout-revenue-tracking-is-automatic.mdx", + "title": "Why is there no revenue tracking setup for web checkout?", + "description": "Updated Support documentation", + "category": "Support", + "url": "/docs/support/web-checkout/web-checkout-revenue-tracking-is-automatic", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/community/capacitor.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "community/capacitor.mdx", + "title": "Capacitor", + "description": "Updated Community documentation", + "category": "Community", + "url": "/docs/community/capacitor", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_3rd-party-analytics.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_3rd-party-analytics.mdx", + "title": "3rd Party Analytics (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_3rd-party-analytics", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_advanced-configuration.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_advanced-configuration.mdx", + "title": "Purchases and Subscription Status (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_advanced-configuration", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_cohorting-in-3rd-party-tools.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_cohorting-in-3rd-party-tools.mdx", + "title": "Cohorting in 3rd Party Tools (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_cohorting-in-3rd-party-tools", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_configuring-the-sdk.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_configuring-the-sdk.mdx", + "title": "Configuring the SDK (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_configuring-the-sdk", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_feature-gating.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_feature-gating.mdx", + "title": "Showing Paywalls (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_feature-gating", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_identity-management.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_identity-management.mdx", + "title": "User Management (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_identity-management", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_in-app-paywall-previews.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_in-app-paywall-previews.mdx", + "title": "Deep Links and In-App Previews (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_in-app-paywall-previews", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_installation-via-gradle.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_installation-via-gradle.mdx", + "title": "Android - Gradle (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_installation-via-gradle", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_installation-via-package.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_installation-via-package.mdx", + "title": "React Native - Package.json (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_installation-via-package", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_presenting.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_presenting.mdx", + "title": "Retrieving and Presenting a Paywall Yourself (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_presenting", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_using-revenuecat.mdx", + "title": "Using RevenueCat (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_using-superwall-delegate.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_using-superwall-delegate.mdx", + "title": "Using the Superwall Delegate (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_using-superwall-delegate", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/legacy/legacy_using-superwalloptions.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "legacy/legacy_using-superwalloptions.mdx", + "title": "Passing in options (Legacy)", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/legacy/legacy_using-superwalloptions", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/recipes.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "recipes.mdx", + "title": "Recipes", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/recipes", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/using-implicit-events.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "using-implicit-events.mdx", + "title": "Using Implicit Events", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/using-implicit-events", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/using-placement-parameters.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "using-placement-parameters.mdx", + "title": "Using Placement Parameters", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/using-placement-parameters", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/using-referral-or-promo-codes-with-superwall.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "using-referral-or-promo-codes-with-superwall.mdx", + "title": "Using Referral or Promo Codes with Superwall", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/using-referral-or-promo-codes-with-superwall", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/using-revenuecat.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "using-revenuecat.mdx", + "title": "Using RevenueCat", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/using-revenuecat", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/using-superwall-with-cursor.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "using-superwall-with-cursor.mdx", + "title": "Using Superwall with Cursor", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/using-superwall-with-cursor", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/using-the-dashboard.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "using-the-dashboard.mdx", + "title": "Home Page", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/using-the-dashboard", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/using-the-presentation-handler.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "using-the-presentation-handler.mdx", + "title": "Using the Presentation Handler", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/using-the-presentation-handler", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/variable-reference.mdx:153a37d3d6cb55613551aad2e7e31b5f9fd2fa2a", + "path": "variable-reference.mdx", + "title": "Variable Reference", + "description": "Updated Documentation documentation", + "category": "Documentation", + "url": "/docs/variable-reference", + "date": "2026-03-10T15:34:06.000Z", + "changeType": "modified" + }, { "key": "content/docs/ios/sdk-reference/customerInfo.mdx:f9f3904c08a3a86294c2de431345808adf9e5f32", "path": "ios/sdk-reference/customerInfo.mdx", From 1d59526ef3c26f09d4f366cdc58a75ad5fc5b9ed Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Wed, 18 Mar 2026 13:06:16 -0500 Subject: [PATCH 2/5] docs: add Adjust, Appstack, AppStance, PostHog Add new integration docs for Adjust, Appstack, AppStance, and PostHog; update content/docs/integrations/meta.json to include appstack and appstance. Also update src/lib/changelog-entries.json lastUpdated and add recent changelog entries for related docs updates. --- content/docs/integrations/adjust.mdx | 197 ++++++++++++++ content/docs/integrations/appstack.mdx | 126 +++++++++ content/docs/integrations/appstance.mdx | 200 ++++++++++++++ content/docs/integrations/meta.json | 2 + content/docs/integrations/posthog.mdx | 336 ++++++++++++++++++++++++ src/lib/changelog-entries.json | 23 +- 6 files changed, 883 insertions(+), 1 deletion(-) create mode 100644 content/docs/integrations/adjust.mdx create mode 100644 content/docs/integrations/appstack.mdx create mode 100644 content/docs/integrations/appstance.mdx create mode 100644 content/docs/integrations/posthog.mdx diff --git a/content/docs/integrations/adjust.mdx b/content/docs/integrations/adjust.mdx new file mode 100644 index 0000000..96d1377 --- /dev/null +++ b/content/docs/integrations/adjust.mdx @@ -0,0 +1,197 @@ +--- +title: "Adjust" +description: "The Adjust integration automatically sends Superwall subscription and payment events to Adjust via the server-to-server (S2S) event API. Track subscription lifecycle events, attribute revenue, and measure campaign performance with automatic event mapping and device-level identification." +--- + +In the **Analytics** section within **Integrations**, you can connect your Adjust account to Superwall: + +### Required fields + +Fill out the following fields and **click** the **Enable Adjust** button at the bottom right to save your changes: + +- **App Token:** Your Adjust app token. +- **Event Token:** The default event token used when sending events to Adjust. +- **Sales Reporting:** Which revenue value to report in Adjust. Choose between **Proceeds** (after store taxes and fees) or **Revenue**. + +### Features + +- **Automatic Event Mapping**: Converts Superwall events to Adjust-compatible event names +- **Revenue Tracking**: Automatic revenue attribution with currency support +- **S2S Event API**: Events are sent server-to-server for reliable delivery +- **Device Identification**: Uses Adjust device IDs, IDFA, and GPS advertising ID for attribution +- **Callback Parameters**: Custom data attached to each event for downstream use +- **Custom Event Names**: Optional override of default event name mappings +- **S2S Security**: Optional authentication token for secure server-to-server communication + +### Configuration + +#### Required settings + +| Field | Description | Example | +|-------|-------------|---------| +| `app_token` | Your Adjust app token | `"abc123def456"` | +| `event_token` | Default event token for Adjust | `"xyz789"` | +| `sales_reporting` | Which value to report | `"Revenue"` or `"Proceeds"` | + +#### Optional settings + +| Field | Description | Example | +|-------|-------------|---------| +| `s2s_token` | S2S security authentication token | `"your_s2s_token"` | +| Custom event name mappings | Override default event names per event type | `"sw_trial_start"` mapped to a custom name | + +#### Example configuration + +```json +{ + "app_token": "your_adjust_app_token", + "event_token": "your_default_event_token", + "sales_reporting": "Revenue", + "s2s_token": "your_optional_s2s_token" +} +``` + +### Event mapping + +Superwall events are transformed into Adjust event names using the standard mapper: + +#### Complete event mapping + +| Superwall Event | Period Type | Adjust Event Name | +|-----------------|-------------|-------------------| +| `initial_purchase` | TRIAL | `sw_trial_start` | +| `initial_purchase` | INTRO | `sw_intro_offer_start` | +| `initial_purchase` | NORMAL | `sw_subscription_start` | +| `renewal` | trial conversion | `sw_trial_converted` | +| `renewal` | INTRO | `sw_intro_offer_converted` | +| `renewal` | NORMAL | `sw_renewal` | +| `cancellation` | TRIAL | `sw_trial_cancelled` | +| `cancellation` | INTRO | `sw_intro_offer_cancelled` | +| `cancellation` | NORMAL | `sw_subscription_cancelled` | +| `uncancellation` | TRIAL | `sw_trial_uncancelled` | +| `uncancellation` | INTRO | `sw_intro_offer_uncancelled` | +| `uncancellation` | NORMAL | `sw_subscription_uncancelled` | +| `expiration` | TRIAL | `sw_trial_expired` | +| `expiration` | INTRO | `sw_intro_offer_expired` | +| `expiration` | NORMAL | `sw_subscription_expired` | +| `billing_issue` | any | `sw_billing_issue` | +| `subscription_paused` | any | `sw_subscription_paused` | +| `product_change` | any | `sw_product_change` | +| `non_renewing_purchase` | any | `sw_non_renewing_purchase` | +| Any with `price < 0` | any | `sw_refund` | + +You can optionally override these default event names with custom mappings in your integration settings. + +### Callback parameters + +Every Adjust event includes callback parameters encoded as JSON. These are sent alongside the event for downstream processing: + +- `event_name`: The mapped Superwall event name (e.g., `sw_trial_start`) +- `product_id`: The product identifier for the transaction +- `transaction_id`: The transaction identifier +- `original_transaction_id`: The original transaction identifier (for renewals and modifications) + +These callback parameters are included in the `callback_params` query parameter as a JSON-encoded string. + +### Revenue tracking + +#### Automatic revenue attribution + +Revenue is automatically included for events with non-zero amounts. The `sales_reporting` setting determines which value is used: + +| Setting | Value Used | Description | +|---------|------------|-------------| +| `"Revenue"` | `price` | Gross revenue before store fees | +| `"Proceeds"` | `proceeds` | Net revenue after store fees | + +When revenue is present: +- **Positive revenue**: Purchases, renewals, conversions +- **Negative revenue**: Refunds (automatically deducted) +- **Zero revenue**: Events like cancellations, expirations, and billing issues do not include revenue data + +Revenue is sent with the corresponding currency code from the transaction. + +### User and device identification + +Adjust uses device-level identifiers rather than user IDs for attribution. The integration reads these values from `userAttributes` on the Superwall event: + +#### Device identifier hierarchy + +| Identifier | Platform | Description | +|------------|----------|-------------| +| `adjustId` | All | Primary Adjust device ID (required) | +| `idfa` | iOS | Identifier for Advertisers | +| `gps_adid` | Android | Google Play Services advertising ID | + +**Important:** If no `adjustId` is present in `userAttributes`, the event is skipped entirely. Make sure your app sets the Adjust device ID on the Superwall user so that events can be attributed correctly. + +#### Platform detection + +The integration determines the platform from the store field on the event: + +- `APP_STORE` maps to iOS (uses `idfa` if available) +- `PLAY_STORE` maps to Android (uses `gps_adid` if available) + +### Sandbox handling + +Adjust does **not** support separate sandbox environments. All sandbox events are skipped and will not be sent to Adjust. + +Only production events are forwarded to the Adjust S2S event API. If you need to test the integration, use production or live test transactions. + +### Testing the integration + +#### 1. Validate credentials + +When you save the integration, Superwall sends a test event to verify that your `app_token` and `event_token` are valid. If the test fails, double-check your tokens in the Adjust dashboard. + +#### 2. Trigger production events + +Since sandbox events are skipped, testing requires live transactions: +- **iOS**: Use TestFlight with a sandbox Apple ID. Note that StoreKit Configuration files do not generate App Store Server Notifications, so webhooks and downstream integrations will not fire. +- **Google Play**: Use license test accounts to perform purchases. + +#### 3. Verify in Adjust + +Check the Adjust dashboard: +1. **Event Log**: Confirm events are arriving with the correct event token +2. **Callback Data**: Verify callback parameters contain the expected values +3. **Revenue**: Confirm revenue amounts and currency codes are correct +4. **Device Attribution**: Ensure events are attributed to the correct device + +### Best practices + +1. **Set Adjust device IDs early**: Configure the `adjustId` in Superwall user attributes as soon as the Adjust SDK initializes, so that all subscription events can be attributed. +2. **Include advertising IDs**: Pass `idfa` (iOS) or `gps_adid` (Android) in user attributes for richer attribution data. +3. **Use S2S security**: Configure the `s2s_token` to authenticate server-to-server requests and prevent spoofed events. +4. **Revenue model consistency**: Choose gross revenue or proceeds and keep it consistent across all your analytics tools. +5. **Custom event names**: Use custom event name mappings if your Adjust setup requires specific naming conventions. +6. **Monitor attribution**: Regularly verify that events in the Adjust dashboard match your expected subscription activity. + +### Troubleshooting + +#### Events not appearing + +1. **Check adjustId**: The `adjustId` must be present in `userAttributes`. Events without it are skipped entirely. +2. **Check app token**: Verify the app token matches your Adjust app. +3. **Check event token**: Ensure the event token is valid in your Adjust dashboard. +4. **Check environment**: Sandbox events are always skipped. Only production events are sent. +5. **Check S2S token**: If configured, verify the S2S authentication token is correct. + +#### Revenue not tracking + +1. **Check amount**: Only non-zero amounts include revenue data. +2. **Check sales reporting**: Verify whether you selected Revenue or Proceeds. +3. **Check currency**: Ensure the currency code is present on the transaction. + +#### Device attribution issues + +1. **Check adjustId**: This is the primary identifier and must be set in user attributes. +2. **Check IDFA/GPS ad ID**: These are supplementary identifiers. Ensure they are passed in user attributes if available. +3. **Check platform detection**: Verify the store field is correct (APP_STORE for iOS, PLAY_STORE for Android). + +#### S2S API errors + +The Adjust S2S event API receives events as URL query parameters. Common issues include: +- **Invalid app token**: Returns an error from the Adjust endpoint. +- **Invalid event token**: The event token must exist in your Adjust dashboard. +- **Authentication failure**: If using `s2s_token`, ensure it matches your Adjust S2S security settings. diff --git a/content/docs/integrations/appstack.mdx b/content/docs/integrations/appstack.mdx new file mode 100644 index 0000000..8802cdf --- /dev/null +++ b/content/docs/integrations/appstack.mdx @@ -0,0 +1,126 @@ +--- +title: "Appstack" +description: "The Appstack integration forwards Superwall webhook events directly to Appstack for analytics and attribution. As a pass-through integration, it sends the raw event payload without transformation, giving Appstack full access to your subscription lifecycle data." +--- + +In the **Analytics** section within **Integrations**, you can connect your Appstack account to Superwall: + +### Required Fields + +Fill out the following fields and **click** the **Enable Appstack** button at the bottom right to save your changes: + +- **Access Token:** Your Appstack API access token, used to authenticate requests. +- **App ID:** Your Appstack application ID, used to route events to the correct app. + +### Features + +- **Pass-Through Delivery**: Raw Superwall webhook events are forwarded directly to Appstack without transformation +- **Simple Configuration**: Only an access token and app ID are required +- **Credential Validation**: Connection is verified before the integration goes live +- **Production Events Only**: Sandbox events are automatically filtered out + +## Configuration + +### Required Settings + +| Field | Description | Example | +|-------|-------------|---------| +| `integration_id` | Must be set to `"appstack"` | `"appstack"` | +| `access_token` | Your Appstack API access token | `"ask_live_abc123..."` | +| `app_id` | Your Appstack application ID | `"app_456def..."` | + +### Example Configuration + +```json +{ + "integration_id": "appstack", + "access_token": "your_appstack_access_token", + "app_id": "your_appstack_app_id" +} +``` + +## How It Works + +Appstack is a **pass-through integration**. Unlike analytics integrations that map and transform events into platform-specific formats, the Appstack integration forwards the raw Superwall webhook event payload directly to Appstack. + +When a subscription event occurs: + +1. Superwall generates the webhook event. +2. The integration sends the complete, unmodified event payload to Appstack. +3. Appstack receives and processes the event on its end. + +### API Endpoint + +Events are sent to: + +``` +POST https://api.event.appstack.tech/superwall/webhook/{app_id} +``` + +### Request Headers + +``` +Content-Type: application/json +Authorization: +``` + +The `access_token` is sent as the `Authorization` header value, and the `app_id` is included in the URL path. + +## Sandbox Handling + +Sandbox events are **automatically filtered out**. Only production events are forwarded to Appstack. There is no option to include sandbox events or to configure a separate sandbox endpoint. + +## Testing the Integration + +### 1. Validate Credentials + +When you save the integration, Superwall sends a test event to the Appstack validation endpoint to confirm your credentials are correct: + +``` +POST https://api.event.appstack.tech/superwall/validate +``` + +If validation fails, double-check your access token and app ID. + +### 2. Trigger a Production Event + +Since sandbox events are filtered out, you will need a production transaction to verify end-to-end delivery: + +- iOS: Use TestFlight with a sandbox Apple ID. StoreKit Configuration files do not generate App Store Server Notifications, so webhooks and downstream integrations will not fire. +- Google Play: Use license test accounts to perform sandbox purchases. +- Stripe: Use Stripe Test Mode to create sandbox transactions. + + + Because sandbox events are not forwarded to Appstack, full end-to-end testing requires a production transaction. Use credential validation to confirm the connection is working before going live. + + +### 3. Verify in Appstack + +Check your Appstack dashboard to confirm events are arriving and being processed correctly. + +## Troubleshooting + +### Events Not Appearing in Appstack + +**Possible causes:** +- Invalid access token or app ID +- Events are from a sandbox environment (these are filtered out) +- Network or endpoint issues on the Appstack side + +**Solutions:** +1. Re-save the integration to trigger credential validation +2. Confirm you are generating production (not sandbox) events +3. Verify your access token and app ID match what is shown in your Appstack dashboard +4. Contact Appstack support if credentials are correct but events are still not arriving + +### Credential Validation Failing + +**Possible causes:** +- Incorrect access token +- Incorrect app ID +- Appstack service is temporarily unavailable + +**Solutions:** +1. Copy the access token and app ID directly from your Appstack dashboard to avoid typos +2. Ensure your Appstack account is active and in good standing +3. Try again after a few minutes if the Appstack service may be experiencing downtime diff --git a/content/docs/integrations/appstance.mdx b/content/docs/integrations/appstance.mdx new file mode 100644 index 0000000..5cb9f42 --- /dev/null +++ b/content/docs/integrations/appstance.mdx @@ -0,0 +1,200 @@ +--- +title: "AppStance" +description: "The AppStance integration sends Superwall subscription and payment events to the AppStance platform for Apple Ads ROAS optimization. Automatically forward iOS transaction data with Apple Search Ads attribution for campaign performance analysis." +--- + + + This integration is currently in **Beta**. Features and behavior may change. If you encounter any issues, please reach out to support. + + +In the **Analytics** section within **Integrations**, you can connect your AppStance account to Superwall. + +AppStance (formerly Search Ads Optimization / SAO) is an Apple Ads ROAS optimization platform. This integration automatically forwards iOS subscription lifecycle events along with Apple Search Ads attribution data to AppStance, enabling you to measure and optimize your Apple Ads campaign performance. + +### Required fields + +Fill out the following fields and **click** the **Enable AppStance** button at the bottom right to save your changes: + +- **Integration ID:** Must be set to `appstance`. +- **Anonymous User Behavior:** Whether to send or skip events for anonymous users (optional). + +### Features + +- **Apple Ads ROAS Optimization**: Connects subscription revenue to Apple Search Ads campaigns +- **Automatic ASA Attribution**: Forwards Apple Search Ads attribution fields (org, campaign, ad group, keyword, and more) +- **iOS-Only Filtering**: Automatically filters out non-App Store events (Play Store and Stripe events are skipped) +- **Production-Only**: Sandbox events are skipped to keep optimization data clean +- **No Authentication Required**: The AppStance endpoint is public and does not require API keys +- **Device Identifier Forwarding**: Sends IDFV and IDFA when available + +### Configuration + +#### Required settings + +| Field | Description | Example | +|-------|-------------|---------| +| `integration_id` | Must be set to `"appstance"` | `"appstance"` | + +#### Optional settings + +| Field | Description | Example | +|-------|-------------|---------| +| `anonymous_user_behavior` | Whether to send events for anonymous users | `"send"` or `"dontSend"` | + +#### Example configuration + +```json +{ + "integration_id": "appstance", + "anonymous_user_behavior": "send" +} +``` + +### Event mapping + +AppStance uses its own event name mapping, which differs from the standard Superwall event mapping used by other integrations. + +| Superwall Event | Period Type | AppStance Event Name | +|-----------------|-------------|----------------------| +| `initial_purchase` | `TRIAL` | `free_trial` | +| `initial_purchase` | Any other | `initial_purchase` | +| `renewal` | Any | `renewal` | +| `cancellation` | Any | `cancellation` | +| `billing_issue` | Any | `billing_issue` | +| `product_change` | Any | `product_change` | +| `non_renewing_purchase` | Any | `initial_purchase` | +| `test` | Any | `test` | + +### Event payload + +Every event sent to AppStance includes the following fields: + +#### Core fields + +| Field | Type | Description | +|-------|------|-------------| +| `user_id` | string | User identifier (uses `originalAppUserId` or `originalTransactionId`) | +| `install_timestamp` | number | Timestamp from `purchasedAt` | +| `country_code` | string | Country code of the user | +| `store` | string | Always `APP_STORE` (non-iOS events are filtered out) | +| `event_unique_id` | string | Unique event identifier | +| `event_name` | string | Mapped event name (see table above) | +| `event_timestamp` | number | Timestamp of the event | +| `period_type` | string | Subscription period type | +| `price_usd` | number | Transaction price in USD | +| `proceeds_usd` | number | Proceeds after store fees in USD | +| `is_trial_conversion` | boolean | Whether this event is a trial-to-paid conversion | + +#### Revenue fields + +| Field | Type | Description | +|-------|------|-------------| +| `revenue_raw_amount` | number | Price in the original purchased currency | +| `revenue_raw_currency` | string | Currency code of the original transaction | + +#### Transaction fields + +| Field | Type | Description | +|-------|------|-------------| +| `bundle_id` | string | App bundle identifier | +| `transaction_id` | string | Transaction identifier | +| `original_transaction_id` | string | Original transaction identifier | +| `product_id` | string | Product identifier | +| `new_product_id` | string | New product identifier (for product changes) | +| `is_small_business` | boolean | Whether the Small Business Program applies | +| `environment` | string | Transaction environment | +| `project_id` | string | Superwall project identifier | +| `application_id` | string | Application identifier (currently null) | + +### Apple Search Ads attribution + +AppStance extracts Apple Search Ads (ASA) attribution data from user attributes and includes it in every event payload. This is the core data that powers Apple Ads ROAS optimization. + +| Field | Description | +|-------|-------------| +| `asa_org_id` | Apple Search Ads organization ID | +| `asa_campaign_id` | Campaign identifier | +| `asa_adgroup_id` | Ad group identifier | +| `asa_keyword_id` | Keyword identifier | +| `asa_ad_id` | Ad identifier | +| `asa_country_or_region` | Country or region for the campaign | +| `asa_conversion_type` | Conversion type (e.g., Download, Redownload) | +| `asa_click_date` | Date of the ad click | +| `asa_claim_type` | Claim type | +| `asa_impression_date` | Date of the ad impression | + +For ASA attribution data to be available, ensure your app has the [Apple Search Ads integration](/integrations/apple-search-ads) configured and that the Superwall SDK is collecting attribution data on the client side. + +### Device identifiers + +AppStance includes device identifiers from user attributes when available: + +| Field | Description | +|-------|-------------| +| `idfv` | Identifier for Vendor | +| `idfa` | Identifier for Advertisers (requires ATT consent) | + +These identifiers are extracted from `userAttributes` on the event. If your app collects IDFA (after obtaining App Tracking Transparency consent), it will be forwarded automatically. + +### Sandbox handling + +AppStance is a **production-only** integration. Sandbox events are automatically skipped and are not sent to AppStance. This ensures that test transactions do not affect your ROAS optimization data. + +Additionally, only App Store (iOS) events are forwarded. Events originating from Google Play Store or Stripe are filtered out, since AppStance is focused exclusively on Apple Ads optimization. + +### User identification + +The integration identifies users using the following hierarchy: + +1. **Primary**: `originalAppUserId` (if available) +2. **Fallback**: `originalTransactionId` (always present) + +If `anonymous_user_behavior` is set to `"dontSend"`, events for users without a resolved identity are skipped. + +### Testing the integration + +#### 1. Trigger a test event + +Use the `test` event type to verify connectivity. The integration maps `test` events to the `test` event name in AppStance. + +#### 2. Trigger production events + +Since AppStance skips sandbox events, you will need to test with production transactions: +- iOS: Use TestFlight with a sandbox Apple ID. Note that StoreKit Configuration files do not generate App Store Server Notifications, so webhooks and downstream integrations will not fire. +- Verify that events appear in your AppStance dashboard. + +#### 3. Verify ASA attribution + +Confirm that Apple Search Ads attribution fields are populated: +1. Ensure the Apple Search Ads integration is enabled in Superwall. +2. Install your app via an Apple Search Ad (or use a test campaign). +3. Make a purchase and check that `asa_campaign_id` and related fields are present in AppStance. + +### Best practices + +1. **Enable Apple Search Ads**: Ensure the [Apple Search Ads integration](/integrations/apple-search-ads) is configured so that ASA attribution data flows through to AppStance. +2. **Collect IDFA**: Request App Tracking Transparency consent to maximize device identifier coverage for attribution matching. +3. **Set User IDs Early**: Send `originalAppUserId` to Superwall as early as possible so that AppStance can consistently identify users across events. +4. **Use Anonymous User Filtering**: Set `anonymous_user_behavior` to `"dontSend"` if you want to exclude events that lack a resolved user identity. +5. **Monitor Production Data**: Since sandbox events are filtered, verify your integration using production transactions or the `test` event type. + +### Troubleshooting + +#### Events not appearing in AppStance + +1. **Check Platform**: Only iOS (App Store) events are sent. Play Store and Stripe events are automatically filtered out. +2. **Check Environment**: Sandbox events are skipped. Ensure you are testing with production transactions. +3. **Check Integration ID**: The `integration_id` must be exactly `"appstance"`. +4. **Check Anonymous Users**: If `anonymous_user_behavior` is `"dontSend"`, events for anonymous users are skipped. + +#### Missing ASA attribution data + +1. **Check Apple Search Ads Integration**: Ensure the Apple Search Ads integration is enabled in Superwall settings. +2. **Check SDK Version**: The Superwall SDK must be collecting ASA attribution data on the client side. +3. **Check Timing**: There is a delay between app install via a search ad and when Apple sends attribution data. Events that fire before attribution data arrives will have empty ASA fields. + +#### Events not mapping correctly + +1. **Check Event Type**: Verify the Superwall event name matches one of the supported types in the event mapping table. +2. **Check Period Type**: For `initial_purchase` events, the period type determines whether the event maps to `free_trial` or `initial_purchase`. +3. **Non-renewing purchases**: These are mapped to `initial_purchase` in AppStance regardless of period type. diff --git a/content/docs/integrations/meta.json b/content/docs/integrations/meta.json index da6f53b..aa1b89d 100644 --- a/content/docs/integrations/meta.json +++ b/content/docs/integrations/meta.json @@ -17,6 +17,8 @@ "customer-io", "firebase", "statsig", + "appstack", + "appstance", "slack", "discord", "figma-plugin" diff --git a/content/docs/integrations/posthog.mdx b/content/docs/integrations/posthog.mdx new file mode 100644 index 0000000..f9d01e4 --- /dev/null +++ b/content/docs/integrations/posthog.mdx @@ -0,0 +1,336 @@ +--- +title: "PostHog" +description: "The PostHog integration automatically sends Superwall subscription and payment events to your PostHog project using the Batch API. Track subscription lifecycle events, analyze revenue metrics, and enrich user profiles with automatic event mapping and minor-unit revenue conversion." +--- + +In the **Analytics** section within **Integrations**, you can connect your PostHog account to Superwall. + +### Required fields + +Fill out the following fields and **click** the **Enable PostHog** button at the bottom right to save your changes: + +- **Region:** Data residency region for your PostHog instance (US or EU). +- **API Key:** Your PostHog project API key (starts with `phc_`). Found in PostHog under Project Settings. +- **Sales Reporting:** Which revenue value to report. Choose between **Revenue** (gross) or **Proceeds** (after store taxes and fees). + +### Features + +- **Automatic Event Mapping**: Converts Superwall events to PostHog events with the `sw_` prefix +- **Minor-Unit Revenue Tracking**: Converts amounts to cents (minor units) for PostHog revenue analytics +- **User Profile Enrichment**: Sets user properties for store, environment, and bundle ID +- **Multi-Region Support**: Works with US and EU data residency +- **Sandbox Isolation**: Separate tracking for production and sandbox events +- **Custom Event Names**: Override default event names with your own mappings +- **Zero-Decimal Currency Handling**: Correctly handles currencies like JPY and KRW that do not use minor units + +## Configuration + +### Required settings + +| Field | Description | Example | +|-------|-------------|---------| +| `integration_id` | Must be set to `"posthog"` | `"posthog"` | +| `region` | Data residency region | `"US"` or `"EU"` | +| `api_key` | Your PostHog project API key (starts with `phc_`) | `"phc_abc123def456..."` | +| `sales_reporting` | Which value to report | `"Revenue"` or `"Proceeds"` | + +### Optional settings + +| Field | Description | Example | +|-------|-------------|---------| +| `sandbox_api_key` | API key for sandbox events (leave blank to skip) | `"phc_xyz789..."` | +| `anonymous_user_behavior` | Whether to send events for anonymous users | `"send"` or `"dontSend"` | +| Custom event name mappings | Override default `sw_` event names | `"sw_trial_start": "my_trial_started"` | + +### Example configuration + +```json +{ + "integration_id": "posthog", + "region": "US", + "api_key": "phc_your_production_api_key_here", + "sandbox_api_key": "phc_your_sandbox_api_key_here", + "sales_reporting": "Revenue", + "anonymous_user_behavior": "send" +} +``` + +## Event Mapping + +Superwall events are transformed into PostHog events with the `sw_` prefix. You can optionally override any event name with a custom mapping in your configuration. + +### Trial events +| Superwall Event | PostHog Event | Description | +|-----------------|---------------|-------------| +| `initial_purchase` + `periodType: TRIAL` | `sw_trial_start` | Trial period begins | +| `cancellation` + `periodType: TRIAL` | `sw_trial_cancelled` | Trial cancelled | +| `uncancellation` + `periodType: TRIAL` | `sw_trial_uncancelled` | Trial reactivated | +| `expiration` + `periodType: TRIAL` | `sw_trial_expired` | Trial ended | +| `renewal` + `isTrialConversion: true` | `sw_trial_converted` | Trial converted to paid | + +### Intro offer events +| Superwall Event | PostHog Event | Description | +|-----------------|---------------|-------------| +| `initial_purchase` + `periodType: INTRO` | `sw_intro_offer_start` | Intro offer begins | +| `cancellation` + `periodType: INTRO` | `sw_intro_offer_cancelled` | Intro offer cancelled | +| `uncancellation` + `periodType: INTRO` | `sw_intro_offer_uncancelled` | Intro offer reactivated | +| `expiration` + `periodType: INTRO` | `sw_intro_offer_expired` | Intro offer ended | +| `renewal` + `periodType: INTRO` | `sw_intro_offer_converted` | Intro converted to regular | + +### Subscription events +| Superwall Event | PostHog Event | Description | +|-----------------|---------------|-------------| +| `initial_purchase` + `periodType: NORMAL` | `sw_subscription_start` | Subscription begins | +| `renewal` + `periodType: NORMAL` | `sw_renewal` | Subscription renewed | +| `cancellation` + `periodType: NORMAL` | `sw_subscription_cancelled` | Subscription cancelled | +| `uncancellation` + `periodType: NORMAL` | `sw_subscription_uncancelled` | Subscription reactivated | +| `expiration` + `periodType: NORMAL` | `sw_subscription_expired` | Subscription ended | +| `subscription_paused` | `sw_subscription_paused` | Subscription paused | +| `billing_issue` | `sw_billing_issue` | Payment failed | + +### Other events +| Superwall Event | PostHog Event | Description | +|-----------------|---------------|-------------| +| `product_change` | `sw_product_change` | Plan changed | +| `non_renewing_purchase` | `sw_non_renewing_purchase` | One-time purchase | +| Any event with `price < 0` | `sw_refund` | Refund processed | + +## Event Properties + +Every PostHog event includes all fields from the Superwall webhook data object as top-level event properties. + +### Core properties +- `distinct_id`: User identifier (uses `originalAppUserId` or falls back to `originalTransactionId`) +- `timestamp`: Event timestamp in ISO format + +### User properties (`$set`) +The following user properties are set on each event: +- `store`: The store the transaction originated from (APP_STORE, PLAY_STORE, STRIPE) +- `environment`: Production or sandbox +- `bundle_id`: The app bundle identifier + +### Webhook data properties +All fields from the webhook are included as event properties: +- `id`, `name`, `cancelReason`, `exchangeRate` +- `isSmallBusiness`, `periodType`, `countryCode` +- `price`, `proceeds`, `priceInPurchasedCurrency` +- `taxPercentage`, `commissionPercentage`, `takehomePercentage` +- `offerCode`, `isFamilyShare`, `expirationAt` +- `transactionId`, `originalTransactionId`, `originalAppUserId` +- `store`, `purchasedAt`, `currencyCode`, `productId` +- `environment`, `isTrialConversion`, `newProductId` +- `bundleId`, `ts` + +### Payload format + +Events are sent to PostHog using the Batch API: + +```json +{ + "api_key": "phc_your_api_key", + "batch": [ + { + "event": "sw_subscription_start", + "properties": { + "distinct_id": "user_123", + "$set": { + "store": "APP_STORE", + "environment": "production", + "bundle_id": "com.example.app" + }, + "revenue": 999, + "currency": "USD", + "product": "Premium Monthly", + "product_id": "com.example.premium", + "subscription_id": "1000000123456789" + }, + "timestamp": "2025-01-15T12:00:00.000Z" + } + ] +} +``` + +## Revenue Tracking + +PostHog requires revenue amounts in **minor units** (cents). The integration automatically handles this conversion. + +### Minor-unit conversion + +For most currencies, amounts are multiplied by 100 to convert to minor units: +- A $9.99 USD transaction is sent as `999` +- A 4.99 EUR transaction is sent as `499` + +**Zero-decimal currencies** (such as JPY, KRW, VND, and others) are already in their smallest unit and are sent as-is: +- A 980 JPY transaction is sent as `980` +- A 14900 KRW transaction is sent as `14900` + +### Revenue properties + +The following properties are included on revenue events: + +| Property | Description | Example | +|----------|-------------|---------| +| `revenue` | Amount in minor units (cents) | `999` | +| `currency` | ISO currency code | `"USD"` | +| `product` | Product name | `"Premium Monthly"` | +| `product_id` | Product identifier | `"com.example.premium"` | +| `subscription_id` | Original transaction ID | `"1000000123456789"` | +| `coupon` | Offer code (if present) | `"SUMMER2025"` | + +### Revenue reporting options + +The `sales_reporting` setting determines which value is converted to minor units: + +| Setting | Value Used | Description | +|---------|------------|-------------| +| `"Revenue"` | `price` | Gross revenue before store fees | +| `"Proceeds"` | `proceeds` | Net revenue after store fees | + +### Revenue examples + +**Subscription purchase ($9.99 USD):** +- Revenue setting: `"Revenue"` +- Sent to PostHog: `revenue: 999`, `currency: "USD"` + +**Japanese purchase (980 JPY):** +- Revenue setting: `"Revenue"` +- Sent to PostHog: `revenue: 980`, `currency: "JPY"` + +**Refund (-$9.99 USD):** +- Sent to PostHog: `revenue: -999`, `currency: "USD"` + +## User Identification + +The integration uses the following hierarchy for user identification: + +1. **Primary**: `originalAppUserId` (if available) +2. **Fallback**: `originalTransactionId` (always present) + +### Anonymous user behavior + +The `anonymous_user_behavior` setting controls what happens when no `originalAppUserId` is available: + +| Setting | Behavior | +|---------|----------| +| `"send"` | Events are sent using `originalTransactionId` as the `distinct_id` | +| `"dontSend"` | Events for anonymous users are skipped | + +This ensures consistent user tracking across: +- Multiple devices +- App reinstalls +- Legacy users without app user IDs + +## Sandbox Handling + +### With sandbox API key +If `sandbox_api_key` is configured: +- Production events are sent to PostHog with the production `api_key` +- Sandbox events are sent to PostHog with the `sandbox_api_key` + +### Without sandbox API key +If `sandbox_api_key` is empty: +- Production events are sent to PostHog with the production `api_key` +- Sandbox events are **skipped** (not sent) + +This prevents test data from polluting production analytics. + +## Data Residency + +PostHog supports two data residency regions: + +| Region | API Endpoint | Use Case | +|--------|--------------|----------| +| `US` | `https://us.i.posthog.com/capture/` | Default, US-hosted | +| `EU` | `https://eu.i.posthog.com/capture/` | GDPR compliance, EU-hosted | + +Choose based on: +- Where your PostHog instance is hosted +- Your data privacy requirements +- Regional compliance needs (e.g., GDPR) + +## Testing the Integration + +### 1. Trigger sandbox events +- iOS: Use TestFlight with a sandbox Apple ID. StoreKit Configuration files do not generate App Store Server Notifications, so webhooks and downstream integrations won't fire. +- Google Play: Use license test accounts to perform sandbox purchases. +- Stripe: Use Stripe Test Mode to create sandbox transactions. + +### 2. Verify in PostHog +Check your PostHog project: +1. **Activity** tab: Verify events are arriving with `sw_` prefix +2. **Persons**: Confirm user properties (`store`, `environment`, `bundle_id`) are set +3. **Events**: Check that revenue properties are in minor units (cents) + +### 3. Test different scenarios +- Purchase event: Positive revenue in minor units +- Refund event: Negative revenue in minor units +- Trial start: Event without revenue properties +- Cancellation: Event without revenue properties +- Zero-decimal currency: Revenue sent without multiplication + +## Best Practices + +1. **Use Consistent User IDs**: Send `originalAppUserId` to app stores for reliable user identification across events +2. **Separate Environments**: Configure a `sandbox_api_key` to test the full pipeline without affecting production data +3. **Revenue Model**: Choose between gross (Revenue) and net (Proceeds) consistently across all your integrations +4. **Minor-Unit Awareness**: Remember that revenue values in PostHog are in cents -- divide by 100 when building dashboards for standard currencies +5. **Custom Event Names**: Use custom event name mappings if your PostHog project already has established naming conventions +6. **Anonymous Users**: Set `anonymous_user_behavior` to `"dontSend"` if you only want events tied to known users + +## Common Use Cases + +### Revenue analytics +``` +Events: sw_subscription_start, sw_renewal +Metric: Sum of revenue (remember values are in minor units) +Segment by: currency, product_id, countryCode +``` + +### Conversion funnel +``` +1. sw_trial_start +2. sw_trial_converted +Conversion Rate: Step 2 / Step 1 +``` + +### Churn analysis +``` +Events: sw_subscription_cancelled +Segment by: cancelReason, periodType, countryCode +``` + +### Refund monitoring +``` +Events: sw_refund +Metric: Count and sum of revenue +Segment by: product_id, store +``` + +## Troubleshooting + +### Events not appearing + +1. **Check API Key**: Verify the key starts with `phc_` and is correct for your project +2. **Check Region**: Ensure the region (US or EU) matches where your PostHog instance is hosted +3. **Check Environment**: Sandbox events require a `sandbox_api_key` to be sent +4. **Check Distinct ID**: User must have a valid `originalAppUserId` or `originalTransactionId` +5. **Check Anonymous Behavior**: If set to `"dontSend"`, events for users without `originalAppUserId` are skipped + +### Revenue values look incorrect + +1. **Minor Units**: Revenue is in cents (minor units). A value of `999` represents $9.99 +2. **Zero-Decimal Currencies**: JPY, KRW, and similar currencies are not multiplied -- a value of `980` means 980 JPY +3. **Check Sales Reporting**: Verify whether you are reporting Revenue (gross) or Proceeds (net) +4. **Negative Values**: Refunds appear as negative minor-unit amounts + +### User properties not updating + +1. **Check `$set`**: User properties are sent via the `$set` mechanism on each event +2. **Properties Set**: Only `store`, `environment`, and `bundle_id` are set as user properties +3. **Verify in Persons**: Check the Persons tab in PostHog for the specific `distinct_id` + +### Sandbox events not arriving + +1. **Check Sandbox Key**: A separate `sandbox_api_key` must be configured +2. **Missing Key**: If no sandbox key is set, sandbox events are silently skipped +3. **Key Format**: Sandbox key should also start with `phc_` diff --git a/src/lib/changelog-entries.json b/src/lib/changelog-entries.json index 7b1c2a3..8cb0bc1 100644 --- a/src/lib/changelog-entries.json +++ b/src/lib/changelog-entries.json @@ -1,6 +1,27 @@ { - "lastUpdated": "2026-03-18T17:32:15.922Z", + "lastUpdated": "2026-03-18T17:59:31.535Z", "entries": [ + { + "key": "content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx:c6dc2b47235153d0f6d276dccb1141655f638798", + "path": "dashboard/guides/using-stripe-checkout-in-app.mdx", + "title": "Using Stripe's New Web Checkout In-App", + "description": "Updated guides for Dashboard", + "category": "Dashboard", + "subcategory": "Guides", + "url": "/docs/dashboard/guides/using-stripe-checkout-in-app", + "date": "2026-03-18T17:42:38.000Z", + "changeType": "modified" + }, + { + "key": "content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx:c6dc2b47235153d0f6d276dccb1141655f638798", + "path": "web-checkout/web-checkout-direct-stripe-checkout.mdx", + "title": "App2Web", + "description": "Updated Web Checkout documentation", + "category": "Web Checkout", + "url": "/docs/web-checkout/web-checkout-direct-stripe-checkout", + "date": "2026-03-18T17:42:38.000Z", + "changeType": "modified" + }, { "key": "content/docs/integrations/facebook-pixel.mdx:a7ce8cec6ab69af97540760429d79597de70c868", "path": "integrations/facebook-pixel.mdx", From 3f828dfa424dab5b0279a4d15ffa7edcee798e1d Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Wed, 18 Mar 2026 14:48:28 -0500 Subject: [PATCH 3/5] Soften App Store review warnings for Stripe checkout Replace strong Warning blocks with gentler Note/App Store Review Tip copy in docs related to in-app Stripe checkout. Updates in content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx and content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx rephrase guidance to recommend showing the Stripe purchase flow to Apple during App Review and provide the suggested reviewer note text; removes the harsher language about app removals and the explicit "do not switch" admonition. --- .../dashboard/guides/using-stripe-checkout-in-app.mdx | 6 +++--- .../web-checkout-direct-stripe-checkout.mdx | 11 +++-------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx b/content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx index b3eff3c..7c41d38 100644 --- a/content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx +++ b/content/docs/dashboard/guides/using-stripe-checkout-in-app.mdx @@ -6,9 +6,9 @@ For users in the United States, you can offer Stripe checkout inside of your app Superwall will prioritize showing Apple Pay when available as the first payment option. - -**App Store Review:** Apple has removed apps from sale for using in-app alternative payment sheets without going through App Review. When submitting your app, include a note explaining that US users can purchase via Stripe (filtered by App Store country), while all other users purchase via Apple IAPs. Opening Stripe checkout externally in Safari carries no App Review risk. For full details and recommended reviewer note language, see the [App2Web docs](/web-checkout-direct-stripe-checkout). - + +**App Store Review Tip:** If you're using an in-app Stripe checkout sheet, we strongly suggest showing your Stripe purchase experience to Apple during an App Review before testing with users. For recommended reviewer note language, see the [App2Web docs](/web-checkout-direct-stripe-checkout). + diff --git a/content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx b/content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx index aa9223c..0cc138c 100644 --- a/content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx +++ b/content/docs/web-checkout/web-checkout-direct-stripe-checkout.mdx @@ -21,16 +21,11 @@ For customers in the United States, you can offer Stripe products directly from ![](/images/web-checkout-location.png) - - **App Store Review and In-App Checkout:** If you choose to present Stripe checkout in-app (via an in-app Safari sheet), be aware that Apple has removed apps from sale for using in-app alternative payment sheets without going through App Review. To avoid issues: - - - **External Safari** carries no App Review risk. - - **In-app sheet** should be submitted through App Review with a note explaining its usage. We recommend adding the following to your App Review notes: + + **App Store Review Tip:** If you choose the in-app sheet option, we strongly suggest showing your Stripe purchase experience to Apple during an App Review before testing with users. We recommend adding the following to your App Review notes: > US users will be able to purchase a subscription using Stripe. These users are filtered using their registered App Store country. All other countries will only be able to purchase a subscription using Apple IAPs. You can test this by switching your device's registered App Store country. - - Do not switch to an in-app payment sheet after approval without resubmitting for review. - + Since the ruling only applies to customers in the United States, you can easily create a campaign filter that will match to those customers. Just create a filter where `storeFrontCountryCode` matches `USA`, like this: From 275bb3f939df7e93f880b32c7f81eb0b0707256f Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Thu, 19 Mar 2026 13:57:15 -0500 Subject: [PATCH 4/5] Add Animation and Haptics options Introduce two new subsections to the Paywall Editor tap behavior docs: "Animation" (None, Shrink, Grow, Fade) and "Haptics" (None, Light, Medium, Heavy, Success, Warning, Error, Selection). Documents default values and notes that haptics are available on iOS and Android to provide visual and tactile feedback for tap actions. --- .../paywall-editor-styling-elements.mdx | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements.mdx b/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements.mdx index 2683f60..03d2d55 100644 --- a/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements.mdx +++ b/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements.mdx @@ -106,6 +106,28 @@ Available tap actions are: - **Delay:** Pauses the action chain for a specified number of **Seconds** before continuing to the next action. This is useful when you have multiple actions on a single tap and want to space them out. For example, setting a variable and then closing the paywall after a short pause. It's also useful for driving animation states or creating auto-advance timers. The **Interruptible** option controls what happens if the user taps the same element again while a delay is pending: **Yes** cancels the current delay and restarts the action chain, while **No** ignores the tap until the delay completes. - **Custom Callback:** Sends a named callback request to the SDK, allowing you to run custom app logic and respond with a result. Enter a **Name** for the callback and choose a **Behavior**: **Blocking** waits for the SDK to respond before continuing the action chain, while **Non-blocking** fires the request and continues immediately. You can pass paywall variables to the SDK using **+ Add Variable**. Use the **On Success** and **On Failure** sections to add follow-up actions that run depending on the SDK's response. For example, you could validate something in your app and then update a variable or close the paywall based on the result. In the editor preview, callbacks are simulated with **Success** and **Failure** buttons so you can test both paths. _Requires iOS SDK v4.12.10+ or Android SDK v2.7.0+._ +#### Animation + +Each tap behavior includes an **Animation** dropdown that plays a visual effect when the element is tapped. Available options are: + +- **None:** No animation (default). +- **Shrink:** The element briefly scales down and back up. +- **Grow:** The element briefly scales up and back down. +- **Fade:** The element briefly fades out and back in. + +#### Haptics + +Each tap behavior includes a **Haptics** dropdown that triggers a platform-native haptic feedback pattern on the user's device. Available on iOS and Android. Available options are: + +- **None:** No haptic feedback (default). +- **Light:** A subtle, light tap. +- **Medium:** A moderate tap. +- **Heavy:** A strong, pronounced tap. +- **Success:** A feedback pattern indicating a successful action. +- **Warning:** A feedback pattern indicating a cautionary action. +- **Error:** A feedback pattern indicating a failed action. +- **Selection:** A light tap suited for selection changes. + If a component has a tap action associated to it, you'll also see a **triangle** icon next to it within the sidebar: ![](/images/pe-editor-styling-attached-tap-action.png) From f8834b99a89e3aaff94a74a56b6ee799b7d53cde Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Thu, 19 Mar 2026 14:04:15 -0500 Subject: [PATCH 5/5] Remove integration_id docs; drop adjust & posthog Remove references to `integration_id` from Appstack and AppStance docs: delete the table/example JSON field, remove the 'Required settings' subsection in AppStance, and drop the integration_id check in troubleshooting. Also remove "adjust" and "posthog" entries from content/docs/integrations/meta.json to update the integrations metadata. --- content/docs/integrations/appstack.mdx | 2 -- content/docs/integrations/appstance.mdx | 10 +--------- content/docs/integrations/meta.json | 2 -- 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/content/docs/integrations/appstack.mdx b/content/docs/integrations/appstack.mdx index 8802cdf..a18bafa 100644 --- a/content/docs/integrations/appstack.mdx +++ b/content/docs/integrations/appstack.mdx @@ -25,7 +25,6 @@ Fill out the following fields and **click** the **Enable Appstack** button at th | Field | Description | Example | |-------|-------------|---------| -| `integration_id` | Must be set to `"appstack"` | `"appstack"` | | `access_token` | Your Appstack API access token | `"ask_live_abc123..."` | | `app_id` | Your Appstack application ID | `"app_456def..."` | @@ -33,7 +32,6 @@ Fill out the following fields and **click** the **Enable Appstack** button at th ```json { - "integration_id": "appstack", "access_token": "your_appstack_access_token", "app_id": "your_appstack_app_id" } diff --git a/content/docs/integrations/appstance.mdx b/content/docs/integrations/appstance.mdx index 5cb9f42..e1b8e7b 100644 --- a/content/docs/integrations/appstance.mdx +++ b/content/docs/integrations/appstance.mdx @@ -29,12 +29,6 @@ Fill out the following fields and **click** the **Enable AppStance** button at t ### Configuration -#### Required settings - -| Field | Description | Example | -|-------|-------------|---------| -| `integration_id` | Must be set to `"appstance"` | `"appstance"` | - #### Optional settings | Field | Description | Example | @@ -45,7 +39,6 @@ Fill out the following fields and **click** the **Enable AppStance** button at t ```json { - "integration_id": "appstance", "anonymous_user_behavior": "send" } ``` @@ -184,8 +177,7 @@ Confirm that Apple Search Ads attribution fields are populated: 1. **Check Platform**: Only iOS (App Store) events are sent. Play Store and Stripe events are automatically filtered out. 2. **Check Environment**: Sandbox events are skipped. Ensure you are testing with production transactions. -3. **Check Integration ID**: The `integration_id` must be exactly `"appstance"`. -4. **Check Anonymous Users**: If `anonymous_user_behavior` is `"dontSend"`, events for anonymous users are skipped. +3. **Check Anonymous Users**: If `anonymous_user_behavior` is `"dontSend"`, events for anonymous users are skipped. #### Missing ASA attribution data diff --git a/content/docs/integrations/meta.json b/content/docs/integrations/meta.json index aa1b89d..052e81c 100644 --- a/content/docs/integrations/meta.json +++ b/content/docs/integrations/meta.json @@ -11,9 +11,7 @@ "meta-conversion-api", "facebook-pixel", "mixpanel", - "adjust", "amplitude", - "posthog", "customer-io", "firebase", "statsig",