I'm currently facing an issue with implementing promo codes in my app. Currently, my app has only one subscription, but we would like to provide different "promo codes" that offer discounts on the subscription based on the code entered.
After reading the documentation on promo codes for Android, I discovered that the Play Console promo codes don't exactly meet our requirements. They only allow for providing free trials to users and don't directly support subscription discounts. However, I came across the "subscription offers" feature and had an idea of creating a subscription offer with the criteria "developer determined." This way, I could create an offer with a discount and maintain a list of valid codes within the app. When a user enters a valid code on the app paywall, the offer with the discounted price should be applied to their purchase.
With this plan in mind, I created a developer-determined offer yesterday. Today, I'm trying to find a way to retrieve that offer within the app, but I'm unsure of how to do it. Currently, I retrieve the subscription using
Purchases.getOfferings() and access the subscription details from the
availablePackages property to display the information to the user. However, I noticed that the
discounts property in the product object inside the package is null. Is this where the offer should be displayed?
I'm a bit confused about the whole "promo codes" topic. Is the approach I'm taking the right one, or is there an easier way to achieve this? Additionally, despite mentioning that the promo codes from the Play Console wouldn't work for us, I attempted to create a custom promo code with a free trial of the subscription just to test it. The promo code is now live, but after using
purchasePackage() and reaching the Google Play paywall, there is no dropdown to enter any redeemable code. I'm not sure if this information is helpful in addressing my question.
Thank you for your time, and I hope someone can assist me with this issue 🙂