Android's in-app billing supports subscriptions with a free trial period:
... users [can] try your subscription content before buying it. The trial period runs for the period of time that you set and then automatically converts to a full subscription ...
This is attractive, but such a model is
- open to abuse (e.g., a free magazine trial would allow a user to download all content)
and, moreover,
- forces user commitment (i.e., users commit to a subscription, albeit, can make the effort to cancel).
Using the magazine example as an analogy, I'd rather
- allow the user to download 10 articles for free, and then
- offer the user the opportunity to subscribe.
Intuitively, (1) can be modelled by giving the user 10 items of credit and consuming an item of credit for every download. Once the free credit has been exhausted, (2) can be captured by offering the user a subscription. I can see expensive & insecure solutions:
An expensive (server) solution. synx (below) is right: I could setup my own server, but this is expensive.
An insecure (programmatic) solution. The app allows 10 downloads before offering a subscription (cf. https://stackoverflow.com/a/18674158/3664487), but a subscription can be avoided by clearing the app's data or reinstalling the app.
I cannot see a viable solution using the billing API. Can the billing API support this?