Android Question Licensing library revisited

canalrun

Well-Known Member
Licensed User
Longtime User
Hello,

I have been reading through the dozens of posts about the Licensing Library (based on Google's Android market licensing service).

My opinion tends to align with the opinions:
  • It is more work than it's worth.
  • It can be easily bypassed – there are one-click programs that defeat licensing.
  • There is a small chance that a valid, licensed user will be denied access.

A couple questions were raised and I am wondering how others handle the following:
  • Having bulk licenses for vendors selling your app or companies who buy many copies to distribute to employees without going through Google Play.

  • Providing free copies (maybe time-limited) for app reviewers.

  • It would be nice to have a Try-Before-You-Buy option of maybe 7 days for a user to try it out and not be charged unless they decide to keep it after the trial.

Any ideas or opinions on this subject matter?

Thanks,
Barry.
 

Informatix

Expert
Licensed User
Longtime User
  • It is more work than it's worth.

Once you've understood how to implement it in your app, it's very quick to do.

  • It can be easily bypassed – there are one-click programs that defeat licensing.

After looking at this (unfortunately easy to find) product, it seems that it works mainly with the standard implementation of the library in Java programs. It should not work with the B4A library if you use the SetVariableAndValue trick but I did only a very quick test and I cannot guarantee it. That being said, on a rooted device, you can replace all the system libraries and so you're able to defeat all protection schemes.

There is a small chance that a valid, licensed user will be denied access.

That's why I added to my app a way to bypass the license with a key if a user has repeated problems with his/her license.

A couple questions were raised and I am wondering how others handle the following:
Having bulk licenses for vendors selling your app or companies who buy many copies to distribute to employees without going through Google Play.
Providing free copies (maybe time-limited) for app reviewers.

I'm afraid there's no solution with the current licensing mechanism. And you cannot provide a free license. That's why I also implemented a parallel system of license keys. I tried to make it a bit difficult to defeat so I won't expose the way it is done here.
 
Upvote 0

canalrun

Well-Known Member
Licensed User
Longtime User
...
That's why I added to my app a way to bypass the license with a key if a user has repeated problems with his/her license.
...
I'm afraid there's no solution with the current licensing mechanism. And you cannot provide a free license. That's why I also implemented a parallel system of license keys. I tried to make it a bit difficult to defeat so I won't expose the way it is done here.

Thanks for your response. That sounds like a way to go.

I would guess it involves implementing a database on a server available on the Internet.

I'm still trying to think of a way to offer try-before-you-buy. Maybe something with offering the app free, but requiring a purchase after a few days using InAppBilling. Has anyone noticed apps on Google Play doing something like this?

Barry.
 
Upvote 0

aaronk

Well-Known Member
Licensed User
Longtime User
I'm still trying to think of a way to offer try-before-you-buy. Maybe something with offering the app free, but requiring a purchase after a few days using InAppBilling. Has anyone noticed apps on Google Play doing something like this?
I was thinking of doing something like that where in 5 days after installing the app (or opening the app x amount of times) it requires you to buy the app using the in-app purchase. The only thing I noticed is that if you clear the app data then you will get another 5 days etc. I know it will be a pain if you need to re-set the app again every 5 days etc. but to someone out there it will mean they got the app for free and they wouldn't care they have to keep setting the app again as they know they will get another 5 days etc.

I think Google needs to add a promo code feature to Google play like Apple do so we can issue free versions of our paid app to reviewers and beta testers. The only way at the minute (which I haven't tied) is to upload a beta testing app to Google play and tell people to subscribe to your Google group and they can download the beta version. This way you can limit who can get the beta version of your app.
 
Upvote 0

Informatix

Expert
Licensed User
Longtime User
Thanks for your response. That sounds like a way to go.

I would guess it involves implementing a database on a server available on the Internet.

Not at all. I wanted a solution that works when you are not connected.

Whatever solution you implement, the weak point in your code is the checking of the license approval. If you let in your code something like: if LicenseIsOk then..., your level of protection is next to none, whatever solution you use (except if it's a method to lure the cracker). A good way to protect your app is to encrypt some data and request a password from the user to decrypt these data. Without the key, you can do nothing with the data and thus the app is unusable. But this solution is a bit cumbersome: who wants to enter a password every time he opens the app?
 
Upvote 0

Informatix

Expert
Licensed User
Longtime User
The only way at the minute (which I haven't tied) is to upload a beta testing app to Google play and tell people to subscribe to your Google group and they can download the beta version. This way you can limit who can get the beta version of your app.

I quickly discarded this solution because it works only with beta versions. Usually you want to offer the final version to reviewers and friends, not a beta version.
 
Upvote 0
Top