Discussion Forums  >  Plugins, Customizing, Source Code

Replies: 3    Views: 66

QC
Aspiring developer
Profile
Posts: 50
Reg: Apr 20, 2013
Milwaukee, WI
6,650
03/18/15 11:25 AM (9 years ago)

Android App - Licensing - Trial

Android Licensing not using Google Play I am trying to figure out the best way to approach a trial license. I will have some customers that will be billed for example on a net 30 basis So I wanted to allow them to download the app from my site on a "trial" basis and if they don't pay let's say within 45 days, the apps will cease to function. I looked at persistence to store a install date and to grab the device id when they download the app, but if they uninstall the app and reinstall or install the app on a new device, this method doesn't really work. Anyone have any cleaver ideas how to handle this? thanks
 
mrDavid
BTMods.com
Profile
Posts: 3936
Reg: May 21, 2011
San Diego, CA
51,910
like
03/18/15 11:44 AM (9 years ago)
If you figured it out, but you want to stop them from doing it on a new device, you can't. There's no possible way for you to know if they own multiple devices or not, short from banning them by IP, which should not be possible. The only way you could do this is to make them register an account, but even then, they could just register a new one. The right way to do this would be to limit features/services during the trail, then offer them the full one for a price with unlocked features/services. That's how most folks do it when they offer trails, super common in the industry. Hope this helps. David.
 
SmugWimp
Smugger than thou...
Profile
Posts: 6316
Reg: Nov 07, 2012
Tamuning, GU
81,410
like
03/18/15 04:33 PM (9 years ago)
It can be done; it requires experience and a bit of code. I would suggest having your app 'reach out' and phone home on launch. A PHP file on your server could obtain key elements of identification (think merge fields) upon contact. http://www.buzztouch.com/docs/v1.5/mergeFields.php a time date stamp, and maybe a modified date, with a simple 'if total time = 30 days, hit the kill switch, or turn on the nag screens, or whatever. You could use either NSUserDefaults or Android Shared Preferences to hold a value for whichever. But this isn't something that is 'pre-done'. you'd have to code it all. Cheers! -- Smug
 
QC
Aspiring developer
Profile
Posts: 50
Reg: Apr 20, 2013
Milwaukee, WI
6,650
like
03/20/15 04:40 AM (9 years ago)
Yes I know I have to code. Just looking to see if anyone else put this in I am thinking I will kill switch / nag screens I am stuck on and that is why I was asking what others do. Display a page let's say 7 days before the trial is up for 30 seconds then app moves on and the final day display a Trial is over? Not sure wow a kill switch works The user would have to register on the site. username, password, get a temp license key that is only good for let's say 30 days When they register I would have to capture the device before the download happens and save the date. If the user tries to register again (as a different email etc) with the same device, they would get an error. Until they pay they don't get the full use license key which they would get upon payment. 10 days before screen pops up to "nag" - use persistence here to check the install date I guess, but I was looking for a more permanent solution as if they uninstall it the persistence is gone NSUserDefaults I think is just for Apple and I am Android
 

Login + Screen Name Required to Post

pointerLogin to participate so you can start earning points. Once you're logged in (and have a screen name entered in your profile), you can subscribe to topics, follow users, and start learning how to make apps like the pros.