3

To simplify my story, let's assume my mobile app (iOS and Android, developed using Phonegap) allows the user to store stuff in containers. I'm offering it for free for users that need up to 6 containers.

Now I want to allow users that need more than 6 containers. I want to charge $1 for each container used per month.

What's the right way of doing that? In-app Purchasing is probably not the right way to go, because I want to charge monthly - and auto-renewable subscription might not work because I don't offer a flat rate for the subscription (each month could have a different subtotal).

I noticed a lot of apps are getting the user to provide credit card / paypal on registration, but I believe they are allowed to do that since they are selling real-world goods/services (I'm not).

Needless to say, while I'm not very happy giving Apple/Google a 30% cut of my entire income, I definitely don't want to do anything that might breach their terms and upset them.

Thanks, Joseph.

yosi1984
  • 352
  • 1
  • 16

1 Answers1

1

As per Google Play Developer Programme Policies and Google Play In-app Billing for digital products, it seems you must use In-app billing for offering digital content (including data storage services) from your app.

Here are some examples of products supported by Google Play In-app Billing:

  • ...

  • Cloud software products, including data storage services, business productivity software, and financial management software

Since you need to have monthly renewals, you should implement subscriptions. You may try to have separate subscription for different no. of containers and allow upgrade/ downgrade of subscription plans based on container count usage. Checkout Subscription Upgrade/Downgrade.

You may want to get in touch with Google support for assistance on this special use-case.

Community
  • 1
  • 1
random
  • 10,238
  • 8
  • 57
  • 101
  • So this means I need to force the user to pre-select the amount they need (subscription) before actually using them... How easy is it to change from one subscription to another? – yosi1984 Jan 12 '16 at 13:00
  • You should call `getBuyIntentToReplaceSkus` from the app http://developer.android.com/google/play/billing/billing_reference.html#upgrade-getBuyIntentToReplaceSkus to upgrade or downgrade a subscription purchase. I am not clear of how your containers are being used. In an app where you need to store user writings to say AWS, you can define different plans with different storage space needed by the user 100 MB, 500 MB, 1 GB etc and associate them with subscription plans. Based on approx. space needed by the user, he can upgrade or downgrade his plan. This is just an example case. – random Jan 12 '16 at 13:07