How To Implement a Battlepass

  • 28 November 2023
  • 1 reply

Badge +3

My paywall has three options:
1. Weekly subscription, auto renew
2. Monthly subscription, auto renew
3. 24 hour “battlepass” (pro features for only 24 hours), one time consumable

In Apple and Google I’ve modeled the battlepass as in app consumables because there is no way to create a 1 day non-renewing subscription (iirc Apple just didn’t provide that as an option).

So, my question is, what is the cleanest way to implement this? Right now I’m planning on just having a second “battlepass” entitlement. Then, clientside, I check if the user has the entitlement, and, if so, how much time has elapsed since the purchase time.

1 reply

Userlevel 3
Badge +8


Yeah, I think this is the cleanest way to implement it. Just show the option to purchase if it is applicable to the user.

If you want, you could add a customerInfo listener and call syncPurchases() (programatic-safe version of restorePurchases) on app launch to make sure your customerInfo object is up-to-date.