1.1.5: conversion funnel overhaul
Paywall: - Redesigned PremiumView with yearly/monthly/lifetime side by side - 7-day free trial badge with savings % vs monthly - Social proof line, BEST VALUE highlight on yearly - StoreManager: new yearlyProduct, lifetimeProduct, yearlySavingsPercent, hasTrialAvailable Funnel: - Paywall step added to onboarding (PaywallStepView) - Contextual modal at dish limit (replaces silent block) - Visible "X/15 dishes" counter in DishListView - BottomPromoBanner rotates AdMob with internal "Remove ads" CTA (1 in 4) - Free dish limit lowered 20 → 15 - Review prompt earlier: 2 weeks → 1 week Analytics: - paywall_viewed/dismissed with source + seconds_on_screen - dish_limit_hit, week_limit_hit, free_trial_started events - Every PremiumView call site now passes its source StoreKit: - MealMood.storekit: added yearly $19.99 + 7d trial, monthly trial, lifetime $39.99 - AppStoreConnect-1.1.5-setup.md with full manual setup instructions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,18 +15,18 @@
|
||||
],
|
||||
"products" : [
|
||||
{
|
||||
"displayPrice" : "2.99",
|
||||
"familyShareable" : false,
|
||||
"displayPrice" : "39.99",
|
||||
"familyShareable" : true,
|
||||
"internalID" : "B2F4D1A0-3E7C-4F8B-9D2E-1A5C6B0E3F7D",
|
||||
"localizations" : [
|
||||
{
|
||||
"description" : "Lifetime access to all premium features.",
|
||||
"displayName" : "MealMood Premium (Legacy)",
|
||||
"displayName" : "MealMood Premium Lifetime",
|
||||
"locale" : "en_US"
|
||||
}
|
||||
],
|
||||
"productID" : "com.mealmood.premium.monthly",
|
||||
"referenceName" : "MealMood Premium Legacy",
|
||||
"referenceName" : "MealMood Premium Lifetime",
|
||||
"type" : "NonConsumable"
|
||||
}
|
||||
],
|
||||
@@ -66,7 +66,11 @@
|
||||
"familyShareable" : true,
|
||||
"groupNumber" : 1,
|
||||
"internalID" : "1A32C57F-C4E9-49F8-8F72-28A2B8A1CC4A",
|
||||
"introductoryOffer" : null,
|
||||
"introductoryOffer" : {
|
||||
"internalID" : "F47EAB12-9D4F-4BD2-AF52-5C90E6D2C5A1",
|
||||
"paymentMode" : "free",
|
||||
"subscriptionPeriod" : "P1W"
|
||||
},
|
||||
"localizations" : [
|
||||
{
|
||||
"description" : "Monthly subscription to unlock all premium features.",
|
||||
@@ -74,10 +78,34 @@
|
||||
"locale" : "en_US"
|
||||
}
|
||||
],
|
||||
"productID" : "com.mealmood.premium.monthly.sub",
|
||||
"productID" : "com.alexandrevazquez.mealmood.premium.monthly.sub",
|
||||
"recurringSubscriptionPeriod" : "P1M",
|
||||
"referenceName" : "MealMood Premium Monthly",
|
||||
"subscriptionPricePointID" : "0"
|
||||
},
|
||||
{
|
||||
"adHocOffers" : [],
|
||||
"codeOffers" : [],
|
||||
"displayPrice" : "19.99",
|
||||
"familyShareable" : true,
|
||||
"groupNumber" : 2,
|
||||
"internalID" : "C18B4F7E-3A2D-44C9-B47F-6E1D5E9C2B83",
|
||||
"introductoryOffer" : {
|
||||
"internalID" : "A2E5B1F3-7C84-4E59-B0D2-1F8A4D3E7C92",
|
||||
"paymentMode" : "free",
|
||||
"subscriptionPeriod" : "P1W"
|
||||
},
|
||||
"localizations" : [
|
||||
{
|
||||
"description" : "Yearly subscription to unlock all premium features — best value.",
|
||||
"displayName" : "MealMood Premium Yearly",
|
||||
"locale" : "en_US"
|
||||
}
|
||||
],
|
||||
"productID" : "com.alexandrevazquez.mealmood.premium.yearly.sub",
|
||||
"recurringSubscriptionPeriod" : "P1Y",
|
||||
"referenceName" : "MealMood Premium Yearly",
|
||||
"subscriptionPricePointID" : "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user