Paywall
| Platform | Status | Where |
|---|---|---|
| iOS | done | vulture-ios/Packages/SettingsScreens/Sources/SettingsScreens/Subscriptionvulture-ios/Modules/App/Sources/Services/Subscriptions |
| Android | done | vulture-android/feature/paywallvulture-android/data/billingFIXED(B50), FIXED(B51); B53 behaviour (no stray alert at launch). |
Behaviour
Section titled “Behaviour”- Opens when a pilot without Pro reaches a gated feature, from Settings, or once after the first launch.
- A hero per feature leads, then the plans (monthly, yearly, with the trial) and the “Everything in Pro” benefits list. Restore is offered.
- The first-launch paywall shows only when the RevenueCat offering metadata
show_paywall_on_first_launchis true; that metadata is the app’s only remote config. - Analytics events cover shown, closed, purchase and restore, with the trigger (a
ProFeaturename,settingsorfirstLaunch).
Platform differences
Section titled “Platform differences”- Android says nothing when a purchase is cancelled (B50) and shows “No subscription found” when a restore finds nothing (B51); iOS fixes were requested. Android already behaves as B53 asks.
- Android uses its own hero captures (P8-D7), shows the price per month in the device locale and lets Back dismiss the “no products” alert (P8-D6, P8-D19).
- Android logs the paywall events locally only, as it has no analytics SDK yet.


