开发者

Android Subscription based Licensing

Currently readying an app for release onto the marketplace. The big wigs want to charge a subscription for the app and this is proving troublesome to implement for android.

We don't want to do "99 cents buys the app forever" since there is an ongoing server usage for this app and so we want to charge a subscription.

Seems that Android Licensing Server doesn't support this - all that does is "did I buy this app or not" to help reduce piracy.

I also do not want to go down the rout开发者_开发百科e of having extra versions installed that act as the purchase. Otherwise the user would be buying an app every year.

Is there some solution I am missing ?


Google play now supports subscription billing with auto-renew.

Check out the documentation here


For a subscription service, you'll need your own ongoing billing. Android Market does not (yet) support it. So either build your own, or find a service that will do it for you (no, I don't have suggestions). The app may be even free on the market.

Every few minutes of usage, or every so many requests your app contacts the billing server and asks what the balance is. If the balance is dangerously low, it warns the user; once the balance is non-positive, it refuses to function and provides a link to the replenishment page.

To tracks actual usage, it's ideal that the server which provides actual paid info also collects usage stats and periodically sends them to the billing server. If this is not yet possible, the app may track usage of the paid resource, but you'll obviously need to protect the data from tampering.

Obviously, you already have a way to identify a customer in place.


I have been looking into how to provide a demo version of my app and it is essentailly the same problem.

The answers I have seen seem to suggest that at the moment, if you have a server, the best strategy is along the lines of:

On app startup-

  • Have the app connect to your server with the device's unique ID.
  • Have your server check/record their licensing status however you like.
  • Have your server reply to the app communicating licensing stats (again however you like)

You can apply this strategy at any level of granularity you want, from general app access, to allowing/disallowing the use of specific features.

This method does have a few drawbacks though; namely the requirement that you maintain your own server/database, and that the app would require additional permissions for accessing the device state ( for the device id ) and for accessing the internet.

Look at some of the 'How do I make a Demo Version of My App' questions here on SO for discussion of this method and its alternatives.


I realize this is an old thread but one solution I am personally looking is this... 1. create a user profile when the app loads and have it store on your server 2. have the app access the database on the server where user info is stored 3. create a field for subscriptions 4. have the app check the field for subscription paid as in put a 1 for yes or 0 for no in the database. 5. if yes allow access, else pop window with webview button yo go to a webpage with a paypal payment button to pay.

hope this gives some ideas.


Why not have a website that users create an account on, you could run the billing through this using google checkout. When the app starts get them to login to the site using there username and password. You could then make it free on the market as only people who have an active account could use it.

If you wanted to make the app work whilst offline you could store some sort of data to verify that the user has activated before hand. Not sure on specifics but mabey some sort of encrypted data linked to the users handset number


I plan to use licensing to find a user id, and add in-app purchases to purchase a month. So if the month runs out, it presents an in-app purchase dialog for the next month.


Simplest to use Google's in app subscriptions that was release in April. The sample app is a good start and it took me a total of 3 weeks to implement from start to finish so it's not too bad.


In-app purchases allow deferred period. So you can use the In-app purchases subscription api to give a user a deferred period when he buys the app and charge him again accordingly.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜