Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LVL behavior on client side license validity check for free apps

I had developed a game intending to publish it as a paid application using the Android LVL with the default ServerManagedPolicy licensing policy. Now, the powers that be have decided that we have to publish it as a free app. For some reason I do not want to remove/disable the license checks. My question is: how does the licensing service handle free apps? Will checks always fail or always pass? Is there any way I can make the license service accept any installation of my free app as licensed?

I found the following on free apps in the official documentation, but, it doesn't help me much.

Only paid applications published through Market can use the service.[...] Licensing is currently for paid apps only, since free apps are considered licensed for all users.

I would have assumed that checks will fail, but, I remember reading somewhere that for free apps the licensing server will return a very large validity timestamp (long.MAX) ensuring that the license is always valid for free apps. Unfortunately, I have lost the link to that source.

Note: The problem is not as crazy as it sounds. It's just that I am not able to explain my use case further without giving away some proprietary information.

like image 852
341008 Avatar asked Dec 22 '22 18:12

341008


1 Answers

I was just dealing with the same issue and I found that the information here is outdated so I give you the updated version. It is now possible to upload apks for free apps that request the com.android.vending.CHECK_LICENSE permission. However, this does not mean that your app can actually use it. In the licensing overview is says under "Requirements and Limitations"

  • You can implement licensing controls for a free app, but only if you're using the service to provide APK expansion files.

I did not know this and I tried anyway. The Upload works fine (although it is a free app and I don't have any expansion files) but users don't get a response from the licensing service. The confusing part is that, when you are logged in with the developer account, you get the test response that you chose in your developer profile and thus might think everything works.

like image 62
Carni Avatar answered May 14 '23 12:05

Carni