Skip to main content

I have noticed that for iOS, in the Offerings product, the Promotional Offer set up in App Store comes as a discounted price and for Android it comes as  introductory price. I am using Flutter (Dart) and my code looks like the following:

 

checkOffer(Offering offering) {  if (Platform.isIOS){    if (offering.availablePackagesgoption-1].storeProduct.discounts == null) return false;    return true;  } else{    if (offering.availablePackagesgoption-1].storeProduct.introductoryPrice == null) return false;    return true;  }

I only have one type of promotional/introductory setup, which is a 7 day trial. Anyways I will only talk about iOS here as Android works fine.

So I used a totally new account with my released iOS app and tried to buy a subscription and I got charged immediately without the 7 Day Trial. What could I be doing wrong here please?

Hi! The introductory offer should be applied automatically by Apple if the user is eligible. When did you add the Introductory Offer? It can take up to 24 hours for the product to propagate. Just in case, here is the documentation for our iOS Subscription Offers: https://www.revenuecat.com/docs/ios-subscription-offers


Thanks

Hi! The introductory offer should be applied automatically by Apple if the user is eligible. When did you add the Introductory Offer? It can take up to 24 hours for the product to propagate. Just in case, here is the documentation for our iOS Subscription Offers: https://www.revenuecat.com/docs/ios-subscription-offers

But the code does not show Flutter implementation. I am not checking the promotional offer object but I would like to try that. 


With Flutter, you need to use the getPaymentDiscount method. It's similar to the React Native sample code found here: https://docs.revenuecat.com/docs/ios-subscription-offers#fetch-the-promooffer 


Reply