I switched today from Flutter v4.11.3 to v5.0.0 and I noticed that the introductoryPrice
property value changed to null. In my Google Play app, I am logged in with an email that I have not yet used with a subscription so I am assuming that this email/account is eligible for a free trial.
I am using my Samsung S22 device in both scenarios and I am running my app in debug mode (I haven’t tested it in production),
v5.0.0:
final storeProduct = offerings.current?.availablePackages.first.storeProduct;
debugPrint('storeProduct: $storeProduct');
// console:
I/flutter (10661): storeProduct: StoreProduct(identifier: hairapp:monthly-auto-renewing, description: The description from the subscription details in Play console, title: Subscription for Hair App (Hair App), price: 5.99, priceString: €5.99, currencyCode: EUR, introductoryPrice: null, discounts: null, productCategory: ProductCategory.subscription, defaultOption: SubscriptionOption(id: monthly-auto-renewing, storeProductId: hairapp:monthly-auto-renewing, productId: hairapp, pricingPhases: sPricingPhase(billingPeriod: Period(unit: PeriodUnit.month, value: 1, iso8601: P1M), recurrenceMode: RecurrenceMode.infiniteRecurring, billingCycleCount: 0, price: Price(formatted: €5.99, amountMicros: 5990000, currencyCode: EUR), offerPaymentMode: null)], tags: ], isBasePlan: true, billingPeriod: Period(unit: PeriodUnit.month, value: 1, iso8601: P1M), isPrepaid: false, fullPricePhase: PricingPhase(billingPeriod: Period(unit: PeriodUnit.month, value: 1, iso8601: P1M), recurrenceMode: RecurrenceMode.infiniteRecurring, billingCycleCount: 0
v4.11.3:
final storeProduct = offerings.current?.availablePackages.first.storeProduct;
debugPrint('storeProduct: $storeProduct');
// console:
I/flutter (12179): storeProduct: StoreProduct(identifier: hairapp, description: The description from the subscription details in Play console, title: Subscription for Hair App (Hair App), price: 5.99, priceString: €5.99, currencyCode: EUR, introductoryPrice: IntroductoryPrice(price: 0.0, priceString: €0.00, period: P1W1D, cycles: 1, periodUnit: PeriodUnit.day, periodNumberOfUnits: 8), discounts: null, subscriptionPeriod: P1M)
My subscription setup in Googl Play Console:
My flutter version is 3.10.5:
flutter --version
Flutter 3.10.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 796c8ef792 (3 days ago) • 2023-06-13 15:51:02 -0700
Engine • revision 45f6e00911
Tools • Dart 3.0.5 • DevTools 2.23.1
This issue seems related to:
and issues: https://github.com/RevenueCat/purchases-flutter/issues/329#issuecomment-1047208703 and https://github.com/RevenueCat/purchases-flutter/issues/333. The only difference here is that for me, its only happening for v5.0 and is working fine for v4.x. So it seems the issue is also present in Billing Library v5.
Now, does this issue affect the user eligibility for a free trial? In other words, when a user who is eligible for a free trial tries to subscribe to my app, will he/she get the free trial even though the introductoryPrice
is null?