2

I'm working on an Android application, where a user can buy a monthly/yearly subscription to unlock content. Since the app is not very dependant on the internet I try to do as less comunication with backend servers as possible. However, I have to check if the user holds a valid subscription.

So my plan is to let the user buy the subscription and set the expiry date to today + 1 month/year.

As long as the current date is before this expiry date, I do not need to check the subscription anymore. But once the current date is after this expiry date, I need to check again if the subscription is still there. If so I need to update the expiry date by another month/year.

But how long is a month/year for Google? A month can be between 28 and 31 days long. A year between 365 and 366 days.

  • 1
    No guarantee that Google handles it that way, but usually a monthly subscription will run from October 23rd to November 22nd, and a yearly subscription from October 23rd 2014 to October 22nd 2015. (Meaning that in a leap year a user will use the service "for free" on one day, and that the cost-per-day is higher in February.) All online subscription models I have used so far work that way. – Markus Penguin Oct 23 '14 at 19:42

1 Answers1

1

As per the documentation:

  • Monthly — Google Play bills the customer’s Google Wallet account at the time of purchase and monthly subsequent to the purchase date (exact billing intervals can vary slightly over time).
  • Annually — Google Play bills the customer's Google Wallet account at the time of purchase and again on the same date in subsequent years.
  • Seasonal — Google Play bills the customer's Google Wallet account at the beginning of each "season" (you specify the season beginning and end dates). This is intended for annual purchases of seasonal content (such as sports-related content). The subscription runs through the end of the season, and restarts the next year at the start of the season.

So for monthly subscriptions, it renews when the date number matches the purchase date (not sure what it does if you start on the 31st though) and for yearly it just renews on the same day the following year.

Dave
  • 1,250
  • 1
  • 16
  • 32
  • Does this mean apps that rely on subscription models experience a slump in sales on the 31st as there may not be a typical number of renewing subscriptions? – JCutting8 Jun 02 '21 at 09:43
  • To answer my own question - yes, it does. We now have enough data and definitely notice a slump every day that falls on the 31st. – JCutting8 Aug 01 '22 at 23:27
  • In addition, February 28 numbers are inflated. Users who being their subscription on January 31 expire on February 28. Similarly for April 30, etc. copied from the link above: `If a subscription is set to renew on the 29th, 30th, or 31st of the month, in the next February of a non-leap year, the subscription renewal day is moved to the 28th and continues to renew on the 28th of each month for the duration of the subscription. Similarly, if a user starts a subscription on March 31st, the subscription renews on April 30th and continues to renew on the 30th of each month.` – Gabe Mar 02 '23 at 18:17