androidandroid-lvl

LVL responding with LICENSED for free users


tl;dr - LVL is responding with LICENSED for free users.

I'm writing this post in hopes that it helps someone who wants assurance on the matter.

Just under a year ago, I released a paid app, and to protect it from being pirated, I implemented LVL.

All was good for a few months until I accidentally made the app free, unfortunately I wasn't able to undo this.

So to work around this, I uploaded a new version of the app with in-app purchases, so users could trial the app with limited features, and then pay to unlock all features.

To make sure that users who purchased the app when it was paid-for still had access to all the features, I kept LVL in there only making a few changes to support the new model. I tested everything, all was good.

A few months later, I randomly decided to download the app with a fresh Google account, and was surprised to discover that the app opened with all features unlocked.

I emailed Google Play dev support but received no response. I assumed it must have been an issue with their back-end, something they would fix soon. I was busy with other stuff so didn't think too much of it.

Which brings us to today. I decided to test it again with a fresh Google account to see if the issue had resolved itself, and the same thing happened again, the app had all its features unlocked from first install.

Here it states the following:

Google Play considers a user to be licensed if the user is a recorded purchaser of the application.

Does this include free installs of the app?


Solution

  • I tested in the following way:

    1. Created a fresh Google account.
    2. Signed into the device.
    3. Installed the release version of the app onto the device through adb. Not through the Google Play Store (important).
    4. Opened the app and saw that the pay wall was indeed visible.
    5. Uninstalled the app.
    6. Installed the free app through the Google Play Store.
    7. Uninstalled the app.
    8. Installed the release version of the app onto the device through adb.
    9. Opened the app and saw that the pay wall was no longer visible.

    So I conclude that although in the docs it states the following:

    Google Play considers a user to be licensed if the user is a recorded purchaser of the application.

    Free users fall under this category too.

    Hope this is helpful :)

    EDIT

    Thanks to this answer I can confirm that it is true that free users are considered to be recorded purchasers.

    The current official docs as of today has the following information missing that was last available in the Android API 14 docs.

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

    Android API 14 docs can be downloaded here or viewed online here

    Path to the extract above: ./guide/publishing/licensing.html