Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
902 views
in Technique[技术] by (71.8m points)

android - 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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Pulled this straight from the licensing tutorial:

Considerations for Free Apps

Licensing is currently supported only for paid applications. If you already published your application as free, you won't be able to upload an updated version that includes licensing (that is, an application that uses the same package name and that includes the licensing permission). Here are some points to keep in mind:

If you want to offer a free version of your application that provides a reduced feature set (or that offers the full feature set for trial period), the free version of your application must not include the licensing permission and must use a different package name than the paid version of the app. If you want to offer a paid version of your free application that uses licensing, you can do so under a new package name.

What you remember reading is probably this:

For a free application, the server sets the validity period to a very high value (long.MAX_VALUE). This ensures that, provided the Policy has cached the validity timestamp locally, it will not need to recheck the license status of the application in the future.

Which is in regards to this:

The server considers a user licensed if the user is recorded to have purchased the application, or if the application is available for free.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...