How can I display the introductory offers with a trial preriod set in playstore.

  • 27 July 2021
  • 9 replies

Badge +2


I’ve configure a 7 days trial period in subscription in playstore and also an introductory period.

getofferings() display price introductory at 0€ for 7 days.

The skudetail display "freeTrialPeriod":"P1W". and introductory with the price  "introductoryPricePeriod":"P1M","introductoryPrice":"2,49 €"

With info offerings, how can I display on paywall the price of introductory after the trial period ?

Must I base my info Paywall on sku details?

Thank you in advance.



Best answer by tina 28 July 2021, 21:20

View original

9 replies

Userlevel 5
Badge +10

Hi @Jerome!

Since you have both a free trial and introductory period set up for your Play Store subscription, you should use the SkuDetails to display the price of the introductory offer after the trial period. If you’re using RevenueCat’s entitlement system, you can check the EntitlementInfo object to determine if the customer is currently in a trial period and display the paywall accordingly.

Badge +2

OK, thanks.
That is what I thought.
In my case, unfortunately the information on the trial period or introductory period is missing in the offers.
It's cheese or dessert as we say in France. ;)

Trial or introductory.

Userlevel 5
Badge +10

Hi @Jerome,

Which Purchases SDK are you currently using? If you’re using the native Android SDK, you can utilize the getSubscriptionSkusWith method to retrieve the SkuDetails. Doc for reference: 

Badge +2

I am with flutter.
Yes, I receive the skudetails with all the necessary information but I find it unfortunate that the offerings do not include all the information from the playStore skudetails.
I'm sure there is a good reason for this, certainly related to the different stores supported.
Your SDK is still fine.
I have the solution, it may be less direct than using the offerings but I will get there.
I will do a getOfferings () and then getProduct(Product.identifier).

Thank you for your answers.

Badge +2

Ok, I said a mistake.
The getProduct method retrieves the products from RevenueCat, there is no skudetail.
With the "purchases_flutter: ^ 3.4.0" package, I don't have the Purchases.getSubscriptionSkusWith method.
However, I can clearly see the skudetail in the log debug.
D / [Purchases] - DEBUG (5174): 💰 Retrieved skuDetailsList: SkuDetails: {"productId": etc ...
then :
D / [Purchases] - DEBUG (5174): 💰 so_499_1m_249_6 - SkuDetails: {"productId": "etc ...
How do I use the Purchases.getSubscriptionSkusWith method in a flutter project?
Or do I have to choose between trial or introductory?

Userlevel 5
Badge +10

The equivalent in Flutter would be getProducts :) Here’s the Github link for reference and it will return a Product class. Hybrid SDKs are a bit different since SkuDetails can have both a freeTrialPeriod and an introductoryPrice, while Apple’s SKProduct only have an introductoryPrice. We would check if a product has a free trial, in your case the Product’s introPrice will be the free trial information. Can you try checking what the introPrice (in the IntroductoryPrice class) and introductoryPrice fields will be before and after starting a trial for a user?

Badge +2

Hi Tina.

I tried.
Before purchasing the subscription, the introductory price is 0 for 7 days (trial period) in getproduct.
After the purchase, the introprice remains at 0 and always for 7 days (trial period always) in getproduct.
It's same in offerings.
My real introprice is never displayed.
I don't know if this forum is the good place to speak about.
Would you like to continue this conversation in private ?

Userlevel 5
Badge +10

Hey @Jerome,

I just sent your reply to our ticketing system and I’ll follow up through there.

Badge +2

Hi Tina,

This way of operating RevenueCat made me realize that my pricing was too complicated.
Beyond RC, I had difficulties presenting my rates in my Paywall.

So I completely revised my pricing to simplify it, a trial period and a price at the end of the trial period.

I thank RC for pushing me to think about my pricing because I was going into the wall, a dead end.

My question is settled.

The simpler it is, the better it works.