Android Question Implementing Subscription/ Membership / Security

aklisiewicz

Active Member
Licensed User
Longtime User
I wonder if anybody can share tips on implementing a data subscription for the Android App.
I'm working on App that will be available from Google Play Store, but I want the updates to be available only to members who pay subscription. I guess in this case I would have to implement some kind of LOGIN procedure (or some simple way of device login, i.e based on device IMEI)

Seems like there are 2 scenarios available:

1. Updating whole App + database through Google Play (but I have no idea how to implement a membership)
2. Updating database only for registered members.
or perhaps there is another option....

Any suggestions ?
Arthur
 

canalrun

Well-Known Member
Licensed User
Longtime User
I am currently investigating InAppBilling and the InAppBilling3 library to implement subscriptions for an app. I'm finding the B4A library is very easy to work with but Google's implementation leaves a lot to be desired.

My main reason for using IAB is to allow a seven day trial where a person can cancel the subscription before seven days for a full refund.

In Google's implementation there are gotchas with multiple user accounts – a person can purchase the subscription with one account but IAB checks for OwnedProducts from the Primary account or last account in the list of accounts (depending on who you ask). This may not give correct subscription information.

IAB requires that the device be online (connection to Internet) to check for OwnedProducts – otherwise it seems to return cached results. My app has special features to make it useful when no Internet connection is available. IAB gives the same response with and without an active Internet connection.

I am investigating these issues. There are some good discussions from Android developers on stackoverflow.com. Please share your findings and solutions.

Barry.
 
Upvote 0

aklisiewicz

Active Member
Licensed User
Longtime User
I use SQLite aatabase. For me it would be enough to allow user to download database updates (if the membership is paid). If not the App should refuse download. Was thinking about sending the user some Activation code which could be then stored on a device and compared with the same code within the database (to download). If the DeviceID (IMEI code), Username, and Activation code matches, the App can work as fully registered. This same way I think I can have a single record holding an expiration data and when the user enters the code the expiration date is changed and App continues to work. There is probably dozen of other methods. I'm not sue if there is any "right out of the box" solution.

Art
 
Upvote 0
Top