App Licensing
Stay organized with collections
Save and categorize content based on your preferences.
Google Play offers a licensing service that lets you enforce licensing policies for
applications that you publish on Google Play. With Google Play Licensing, your application can
query Google Play at run time to obtain the licensing status for the current user, then allow or
disallow further use as appropriate.
Using the service, you can apply a flexible licensing policy on an application-by-application
basis—each application can enforce licensing in the way most appropriate for it. If necessary,
an application can apply custom constraints based on the licensing status obtained from Google Play.
For example, an application can check the licensing status and then apply custom constraints
that allow the user to run it unlicensed for a specific validity period. An application can also
restrict use of the application to a specific device, in addition to any other constraints.
The licensing service is a secure means of controlling access to your applications. When an
application checks the licensing status, the Google Play server signs the licensing status
response using a key pair that is uniquely associated with the application. Although it's possible
for your application to store the public key in its compiled .apk
file, it's much
safer to verify the licensing status response on a server that you trust.
Any application that you publish through Google Play can use the Google Play Licensing
service. No special account or registration is needed. Additionally, because the service uses no
dedicated framework APIs, you can add licensing to any application that uses a minimum API level of
3 or higher.
Note: The Google Play Licensing service is primarily intended
for paid applications that wish to verify that the current user did in fact pay for the application
on Google Play. However, any application (including free apps) may use the licensing service
to initiate the download of an APK expansion file. In which case, the request that your application
sends to the licensing service is not to check whether the user paid for the app, but to request the
URL of the expansion files. For information about downloading expansion files for your application,
read the guide to APK Expansion Files.
To learn more about Google Play's application licensing service and start integrating it into
your applications, read the following documents:
- Licensing
Overview
- Describes how the service works and what a typical licensing implementation looks
like.
- Setting Up for
Licensing
- Explains how to set up your Google Play account, development environment, and
testing environment in order to add licensing to your app.
- Adding
Server-Side License Verification to Your App
- Provides a step-by-step guide to add server-side licensing verification to your application.
- Licensing
Reference
- Provides detailed information about the licensing library's classes and the service response
codes.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-07-21 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-21 UTC."],[],[],null,["# App Licensing\n\nGoogle Play offers a licensing service that lets you enforce licensing policies for\napplications that you publish on Google Play. With Google Play Licensing, your application can\nquery Google Play at run time to obtain the licensing status for the current user, then allow or\ndisallow further use as appropriate.\n\nUsing the service, you can apply a flexible licensing policy on an application-by-application\nbasis---each application can enforce licensing in the way most appropriate for it. If necessary,\nan application can apply custom constraints based on the licensing status obtained from Google Play.\nFor example, an application can check the licensing status and then apply custom constraints\nthat allow the user to run it unlicensed for a specific validity period. An application can also\nrestrict use of the application to a specific device, in addition to any other constraints.\n\nThe licensing service is a secure means of controlling access to your applications. When an\napplication checks the licensing status, the Google Play server signs the licensing status\nresponse using a key pair that is uniquely associated with the application. Although it's possible\nfor your application to store the public key in its compiled `.apk` file, it's much\nsafer to verify the licensing status response on a server that you trust.\n\nAny application that you publish through Google Play can use the Google Play Licensing\nservice. No special account or registration is needed. Additionally, because the service uses no\ndedicated framework APIs, you can add licensing to any application that uses a minimum API level of\n3 or higher.\n\n**Note:** The Google Play Licensing service is primarily intended\nfor paid applications that wish to verify that the current user did in fact pay for the application\non Google Play. However, any application (including free apps) may use the licensing service\nto initiate the download of an APK expansion file. In which case, the request that your application\nsends to the licensing service is not to check whether the user paid for the app, but to request the\nURL of the expansion files. For information about downloading expansion files for your application,\nread the guide to [APK Expansion Files](/google/play/expansion-files).\n\nTo learn more about Google Play's application licensing service and start integrating it into\nyour applications, read the following documents:\n\n**[Licensing\nOverview](/google/play/licensing/overview)**\n: Describes how the service works and what a typical licensing implementation looks\n like.\n\n**[Setting Up for\nLicensing](/google/play/licensing/setting-up)**\n: Explains how to set up your Google Play account, development environment, and\n testing environment in order to add licensing to your app.\n\n**[Adding\nServer-Side License Verification to Your App](/google/play/licensing/server-side-verification)**\n: Provides a step-by-step guide to add server-side licensing verification to your application.\n\n**[Licensing\nReference](/google/play/licensing/licensing-reference)**\n: Provides detailed information about the licensing library's classes and the service response\n codes."]]