Прежде чем добавлять проверку лицензии в свое приложение, вам необходимо настроить учетную запись публикации Google Play, среду разработки и все тестовые учетные записи, необходимые для проверки вашей реализации.
Создание учетной записи издателя
Если у вас еще нет учетной записи издателя Google Play, вам необходимо зарегистрировать ее, используя свою учетную запись Google, и согласиться с условиями обслуживания Google Play.
Более подробную информацию см. в разделе Начало работы с публикацией .
Если у вас уже есть учетная запись издателя в Google Play, используйте Play Console для настройки лицензирования.
Используя Google Play Console, вы можете:
- Получите открытый ключ для лицензирования приложения
- Отладка и тестирование реализации лицензирования приложения перед публикацией приложения.
- Опубликуйте приложения, к которым вы добавили поддержку лицензирования.
Административные настройки лицензирования
В Play Console вы можете управлять различными административными элементами управления лицензированием Google Play. Они позволяют:
- Создайте несколько тестовых учётных записей, идентифицируемых по адресу электронной почты. Сервер лицензирования позволяет пользователям, вошедшим в тестовые учётные записи на устройстве или эмуляторе, отправлять проверки лицензии и получать статические тестовые ответы. Учётные записи можно настроить на странице «Сведения об учётной записи» в Play Console.
- Настройте статические тестовые ответы, которые сервер отправляет при получении проверки лицензии для приложения, загруженного в учётную запись издателя, от пользователя, вошедшего в учётную запись издателя или тестовую учётную запись. Тестовые ответы можно настроить на странице «Сведения об учётной записи» в Play Console.
- Получите открытый ключ приложения для лицензирования. При реализации лицензирования в приложении необходимо скопировать строку открытого ключа в приложение. Открытый ключ приложения для лицензирования можно получить на странице «Службы и API» (в разделе «Все приложения»).

Рисунок 1. Лицензионный ключ приложения доступен на странице «Службы и API» в Play Console.
Дополнительную информацию о работе с тестовыми учетными записями и ответами статического теста см. в разделе Настройка тестовой среды ниже.
Настройка среды разработки
Настройка среды для лицензирования включает в себя следующие задачи:
- Настройка среды выполнения для разработки
- Загрузка LVL в ваш SDK
- Настройка библиотеки проверки лицензирования
- Включение проекта библиотеки LVL в вашу заявку
Эти задачи описаны в разделах ниже. После завершения настройки вы можете приступить к добавлению лицензирования в ваше приложение .
Для начала вам необходимо настроить подходящую среду выполнения, в которой вы сможете запускать, отлаживать и тестировать реализацию проверки и обеспечения соблюдения лицензий в вашем приложении.
Настройка среды выполнения
Как было описано ранее, приложения проверяют статус лицензирования не путём прямого обращения к серверу лицензирования, а путём привязки к сервису, предоставляемому приложением Google Play, и инициирования запроса на проверку лицензии. Сервис Google Play затем обрабатывает прямое взаимодействие с сервером лицензирования и, наконец, направляет ответ обратно вашему приложению. Для отладки и тестирования лицензирования в вашем приложении необходимо настроить среду выполнения, включающую необходимый сервис Google Play, чтобы ваше приложение могло отправлять запросы на проверку лицензии на сервер лицензирования.
Существует два типа среды выполнения, которые вы можете использовать:
- Устройство на базе Android, включающее приложение Google Play, или
- Эмулятор Android, работающий надстройкой Google API, API уровня 8 (выпуск 2) или выше
Работает на устройстве
Чтобы использовать устройство на базе Android для отладки и тестирования лицензирования, устройство должно:
- Запустите совместимую версию платформы Android 1.5 или более позднюю (API уровня 3 или выше) и
- Запустите образ системы, на котором предустановлено клиентское приложение Google Play.
Если Google Play не предустановлен в образе системы, ваше приложение не сможет взаимодействовать с сервером лицензирования Google Play.
Общую информацию о настройке устройства для разработки приложений Android см. в разделе Использование аппаратных устройств .
Работает на эмуляторе Android
Если у вас нет доступного устройства, вы можете использовать эмулятор Android для отладки и тестирования лицензирования.
Поскольку платформы Android, представленные в Android SDK, не включают Google Play, вам необходимо загрузить платформу дополнений Google API уровня API 8 (или выше) из репозитория SDK. После загрузки дополнения необходимо создать конфигурацию AVD, использующую этот образ системы.
Дополнение Google APIs не включает в себя полный клиент Google Play. Однако оно предоставляет:
- Фоновая служба Google Play, реализующая удаленный интерфейс
ILicensingService
, чтобы ваше приложение могло отправлять проверки лицензий по сети на сервер лицензирования. - Набор базовых служб учетных записей, которые позволяют вам добавить учетную запись Google на AVD и войти в систему, используя учетные данные вашей учетной записи издателя или тестовой учетной записи.
Вход с использованием учётной записи издателя или тестовой учётной записи позволяет отлаживать и тестировать приложение без его публикации. Подробнее см. в разделе «Вход в авторизованную учётную запись» ниже.
Несколько версий надстройки Google API доступны через SDK Manager, но только версия для Android 2.2 и выше включает в себя необходимые сервисы Google Play.
Чтобы настроить эмулятор для добавления лицензирования в приложение, выполните следующие действия:
- Запустите Android SDK Manager, доступный в меню «Инструменты» Android Studio ( Инструменты > Android > SDK Manager ) или выполнив
<sdk>/tools/android sdk
. - Выберите и загрузите API Google для нужной вам версии Android (это должна быть версия Android 2.2 или выше).
- После завершения загрузки откройте AVD Manager, доступный в меню инструментов Android Studio ( Инструменты > Android > AVD Manager ) или выполнив команду
<sdk>/tools/android avd
. - В окне диспетчера виртуальных устройств Android выберите + Создать виртуальное устройство , чтобы задать параметры конфигурации для нового AVD.
- В окне «Конфигурация виртуального устройства» выберите оборудование устройства, затем нажмите «Далее» .
- Выберите Google API в качестве образа системы для запуска на новом AVD, затем нажмите Далее .
- Присвойте AVD описательное имя, а затем при необходимости задайте другие параметры конфигурации.
- Нажмите кнопку Готово , чтобы создать новую конфигурацию AVD, которая появится в списке доступных виртуальных устройств Android.
Если вы не знакомы с AVD или не знаете, как их использовать, см. раздел Управление виртуальными устройствами .
Обновление конфигурации вашего проекта
После настройки среды выполнения, отвечающей описанным выше требованиям (на реальном устройстве или на эмуляторе), обязательно обновите проект приложения или скрипты сборки по мере необходимости, чтобы скомпилированные .apk
файлы, использующие лицензирование, были развернуты в этой среде. В частности, если вы разрабатываете в Android Studio, убедитесь, что вы настроили конфигурацию запуска/отладки, ориентированную на соответствующее устройство или AVD.
Вам не нужно вносить какие-либо изменения в конфигурацию сборки вашего приложения, если проект уже настроен на компиляцию со стандартной библиотекой Android 1.5 (API уровня 3) или выше. Добавление лицензирования к приложению не должно никак повлиять на конфигурацию сборки приложения.
Загрузка LVL
Библиотека проверки лицензий (LVL) — это набор вспомогательных классов, которые значительно упрощают работу по добавлению лицензирования в ваше приложение. В любом случае мы рекомендуем вам скачать LVL и использовать её в качестве основы для реализации лицензирования в вашем приложении.
Библиотека проверки лицензий (LVL) разработана на GitHub. Вы можете клонировать репозиторий LVL и настроить его как проект библиотеки. Для клонирования репозитория выполните следующую команду в командной строке:
git clone https://github.com/google/play-licensing
Репозиторий включает в себя:
- Исходные коды LVL, хранящиеся внутри проекта библиотеки Android.
- Пример приложения под названием «sample», зависящего от проекта библиотеки LVL. Этот пример иллюстрирует, как приложение использует вспомогательные классы библиотеки для проверки и обеспечения соблюдения условий лицензирования.
Настройка библиотеки проверки лицензирования
После загрузки LVL на компьютер необходимо настроить его в среде разработки, либо как проект библиотеки Android, либо скопировав (или импортировав) исходный код библиотеки непосредственно в существующий пакет приложения. Как правило, рекомендуется использовать LVL как проект библиотеки, поскольку это позволяет повторно использовать код лицензирования в нескольких приложениях и упрощает его поддержку. Обратите внимание, что LVL не предназначен для отдельной компиляции и добавления в приложение в виде статического jar-файла.
Рекомендуемый способ использования LVL — настроить его как новый проект библиотеки Android. Проект библиотеки — это тип проекта разработки, содержащий общий исходный код и ресурсы Android. Другие проекты приложений Android могут ссылаться на проект библиотеки и во время сборки включать его скомпилированные исходные коды в свои файлы .apk
. В контексте лицензирования это означает, что вы можете выполнить большую часть разработки лицензирования один раз в проекте библиотеки, а затем включать исходные коды библиотеки в различные проекты приложений. Таким образом, вы можете легко поддерживать единообразную реализацию лицензирования во всех своих проектах и управлять ею централизованно. Если вы не знакомы с проектами библиотек или не знаете, как их использовать, см. раздел Управление проектами .
LVL предоставляется как настроенный библиотечный проект — загрузив его, вы можете сразу же начать им пользоваться.
Если вы работаете в Android Studio, вам необходимо добавить LVL в свой проект как новый модуль.
- Используйте окно «Импорт модуля из источника», чтобы импортировать библиотечный модуль, выбрав Файл > Новый > Импорт модуля .
- В окне Импорт модуля из источника в Исходном каталоге введите каталог
library
LVL (каталог, содержащий файл AndroidManifest.xml библиотеки) в качестве корня проекта (<sdk>/extras/google/play_licensing/library/AndroidManifest.xml
), затем нажмите Далее . - Нажмите кнопку Готово , чтобы импортировать библиотечный модуль.
Дополнительные сведения о работе с библиотечными модулями в Android Studio см. в разделе Создание библиотеки Android .
Включение исходных текстов проекта библиотеки LVL в ваше приложение
Если вы хотите использовать исходные коды LVL в качестве проекта библиотеки, необходимо добавить ссылку на проект библиотеки LVL в свойствах проекта вашего приложения. Это позволит инструментам сборки включить исходные коды проекта библиотеки LVL в ваше приложение во время компиляции. Процесс добавления ссылки на проект библиотеки зависит от вашей среды разработки, как описано ниже.
Если вы разрабатываете в Android Studio, вы уже должны были добавить модуль библиотеки в свой проект, как описано в предыдущем разделе. Если вы ещё этого не сделали, сделайте это сейчас, прежде чем продолжить.
Если вы разрабатываете с использованием инструментов командной строки SDK, перейдите в каталог, содержащий проект вашего приложения, и откройте файл project.properties
. Добавьте в файл строку, указывающую ключ android.library.reference.<n>
и путь к библиотеке. Например:
android.library.reference.1=path/to/library_project
В качестве альтернативы вы можете использовать эту команду для обновления свойств проекта, включая ссылку на библиотечный проект:
android update lib-project --target <target_ID> \ --path path/to/my/app_project \ --library path/to/my/library_project
Дополнительную информацию о работе с библиотечными проектами см. в разделе Настройка библиотечного проекта .
Настройка среды тестирования
Консоль Google Play предоставляет инструменты настройки, которые позволяют вам и другим пользователям тестировать лицензирование вашего приложения перед его публикацией. В процессе внедрения лицензирования вы можете использовать инструменты консоли Play для тестирования политики вашего приложения и обработки различных ответов и ошибок лицензирования.
Основные компоненты тестовой среды для лицензирования включают в себя:
- Конфигурация «Тестового ответа» в вашей учетной записи издателя, позволяющая задать статический ответ лицензирования, возвращаемый при обработке сервером проверки лицензии для приложения, загруженного в учетную запись издателя, от пользователя, вошедшего в учетную запись издателя или в тестовую учетную запись.
- Дополнительный набор тестовых учетных записей, которые получат статический тестовый ответ при проверке лицензии загруженного вами приложения (независимо от того, опубликовано приложение или нет).
- Среда выполнения для приложения, включающая приложение Google Play или надстройку Google API, в которой пользователь входит в учетную запись издателя или одну из тестовых учетных записей.
Правильная настройка тестовой среды включает в себя:
- Настройка статических тестовых ответов , возвращаемых сервером лицензирования.
- При необходимости настройте тестовые учетные записи .
- Выполните правильный вход в эмулятор или устройство перед началом проверки лицензии.
Более подробную информацию можно найти в разделах ниже.
Настройка тестовых ответов для проверки лицензий
В Google Play есть настройка конфигурации в вашей учётной записи издателя, которая позволяет переопределить стандартную обработку проверки лицензии и возвращать указанный статический код ответа. Эта настройка предназначена только для тестирования и применяется только к проверкам лицензии загруженных вами приложений, выполняемым любым пользователем, вошедшим в эмулятор или устройство с использованием учётных данных учётной записи издателя или зарегистрированной тестовой учётной записи. Для остальных пользователей сервер всегда обрабатывает проверки лицензии в соответствии со стандартными правилами.
Чтобы настроить тестовый ответ для своей учётной записи, войдите в учётную запись издателя и нажмите «Изменить профиль». На странице «Изменить профиль» найдите меню «Тестовый ответ» на панели «Лицензирование», показанной ниже. Вы можете выбрать из полного набора допустимых кодов ответа сервера, чтобы управлять ответом или условием, которое вы хотите протестировать в своём приложении.
В целом, вам следует обязательно протестировать реализацию лицензирования в вашем приложении с использованием всех кодов ответа, доступных в меню «Тест ответа». Описание кодов см. в разделе «Коды ответа сервера» в Справочнике по лицензированию .

Рисунок 2. Панель «Тестирование лицензии» на странице сведений об учетной записи позволяет вам настраивать тестовые учетные записи и управлять ответами на тест.
Обратите внимание, что настроенный вами тестовый ответ применяется ко всей учётной записи, то есть не к одному приложению, а ко всем приложениям, связанным с учётной записью издателя. Если вы тестируете несколько приложений одновременно, изменение тестового ответа повлияет на все эти приложения при следующей проверке лицензии (если пользователь вошел в эмулятор или устройство, используя учётную запись издателя или тестовую учётную запись).
Прежде чем вы сможете успешно получить тестовый ответ для проверки лицензии, необходимо войти в систему на устройстве или эмуляторе, на котором установлено приложение и с которого оно отправляет запросы на сервер. В частности, необходимо войти, используя либо свою учётную запись издателя, либо одну из созданных вами тестовых учётных записей. Подробнее о тестовых учётных записях см. в следующем разделе.
Список доступных тестовых ответов и их значений см. в разделе Коды ответов сервера .
Настройка тестовых аккаунтов
В некоторых случаях вам может потребоваться разрешить нескольким командам разработчиков тестировать лицензирование приложений, которые в конечном итоге будут опубликованы через вашу учётную запись издателя, но без предоставления им доступа к учётным данным вашей учётной записи издателя. Для решения этой задачи Google Play Console позволяет настроить одну или несколько дополнительных тестовых учётных записей , которые будут авторизованы для отправки запросов на сервер лицензирования и получения статических тестовых ответов от вашей учётной записи издателя.
Тестовые аккаунты — это стандартные аккаунты Google, которые вы регистрируете в аккаунте издателя, чтобы они получали тестовые ответы для загруженных вами приложений. Разработчики могут затем входить на свои устройства или эмуляторы, используя данные тестового аккаунта, и инициировать проверки лицензий установленных приложений. Когда сервер лицензирования получает запрос на проверку лицензии от пользователя тестового аккаунта, он возвращает статический тестовый ответ, настроенный для аккаунта издателя.
Обязательно существуют ограничения на доступ и разрешения, предоставляемые пользователям, вошедшим в систему через тестовые учетные записи, в том числе:
- Пользователи тестовой учетной записи могут отправлять запросы на сервер лицензирования только для тех приложений, которые уже загружены в учетную запись издателя.
- Пользователи тестовой учетной записи не имеют разрешения загружать приложения в вашу учетную запись издателя.
- Пользователи тестовой учетной записи не имеют разрешения на установку статического тестового ответа учетной записи издателя.
В таблице ниже обобщены различия в возможностях между учетной записью издателя, тестовой учетной записью и любой другой учетной записью.
Таблица 1. Различия в типах учетных записей для тестового лицензирования.
Тип учетной записи | Можно ли проверить лицензию перед загрузкой? | Можно ли получить ответ теста? | Можно ли установить ответ теста? |
---|---|---|---|
Аккаунт издателя | Да | Да | Да |
Тестовый аккаунт | Нет | Да | Нет |
Другой | Нет | Нет | Нет |
Регистрация тестовых аккаунтов в аккаунте издателя
Для начала работы вам необходимо зарегистрировать каждую тестовую учётную запись в вашем аккаунте издателя. Как показано на рисунке 2, регистрация тестовых учётных записей осуществляется на панели «Лицензирование» на странице «Редактирование профиля» вашего аккаунта издателя. Просто введите учётные записи в виде списка, разделённого запятыми, и нажмите «Сохранить» , чтобы сохранить изменения в профиле.
Вы можете использовать любой аккаунт Google в качестве тестового. Если вы хотите владеть и управлять тестовыми аккаунтами, вы можете создать их самостоятельно и предоставить учётные данные разработчикам или тестировщикам.
Обработка загрузки и распространения приложений для пользователей тестовых аккаунтов
Как упоминалось выше, пользователи тестовых аккаунтов могут получать только статические тестовые ответы для приложений, загруженных в аккаунт издателя. Поскольку у этих пользователей нет разрешения на загрузку приложений, вам, как издателю, необходимо будет работать с ними, чтобы собирать приложения для загрузки и распространять загруженные приложения для тестирования. Вы можете организовать сбор и распространение любым удобным для вас способом.
После того, как приложение загружено и стало известно серверу лицензирования, разработчики и тестировщики могут продолжить его модификацию в своей локальной среде разработки без необходимости загрузки новых версий. Загружать новую версию нужно только в том случае, если локальное приложение увеличивает атрибут versionCode
в файле манифеста.
Распространение вашего открытого ключа среди пользователей тестового аккаунта
Сервер лицензирования обрабатывает статические тестовые ответы обычным образом, включая подписание данных ответа лицензии, добавление дополнительных параметров и т. д. Для поддержки разработчиков, реализующих лицензирование с использованием тестовых учётных записей, а не учётной записи издателя, вам необходимо предоставить им открытый ключ приложения для лицензирования. Разработчики без доступа к Play Console не имеют доступа к открытому ключу приложения, и без него они не смогут проверить ответы лицензии.
Обратите внимание: если по какой-либо причине вы решите сгенерировать новую пару лицензионных ключей для приложения, вам необходимо уведомить об этом всех пользователей тестовых аккаунтов. Тестировщики могут встроить новый ключ в пакет приложения и распространить его среди пользователей. Разработчикам необходимо будет распространить новый ключ напрямую.
Вход в авторизованную учетную запись в среде выполнения
Служба лицензирования предназначена для определения наличия у пользователя лицензии на использование данного приложения. Во время проверки лицензии приложение Google Play получает идентификатор пользователя из основной учётной записи в системе и отправляет его на сервер вместе с названием пакета приложения и другой информацией. Однако, если информация о пользователе отсутствует, проверка лицензии не может быть выполнена, поэтому приложение Google Play завершает запрос и возвращает ошибку приложению.
Чтобы убедиться, что ваше приложение может успешно обращаться к серверу лицензирования, во время тестирования вам необходимо войти в учетную запись на устройстве или эмуляторе, используя:
- Учетные данные учетной записи издателя или
- Учетные данные тестовой учетной записи, зарегистрированной в учетной записи издателя
Вход в аккаунт Google на эмуляторе
Если вы тестируете лицензирование на эмуляторе, вам необходимо войти в учётную запись Google на эмуляторе. Если вы не видите возможности создать новую учётную запись Google, проблема может заключаться в том, что ваш AVD использует стандартный образ системы Android, а не надстройку Google APIs версии 8 (выпуск 2) или выше.
Более подробную информацию см. в разделе Настройка среды выполнения выше.
Вход с использованием учетной записи издателя дает преимущество: ваши приложения получают ответы статического теста еще до того, как они будут загружены в Play Console.
Если вы являетесь частью более крупной организации или работаете с внешними группами над приложениями, которые будут опубликованы через ваш сайт, вы, скорее всего, захотите вместо этого распространить тестовые учетные записи, а затем использовать их для входа во время тестирования.
Чтобы войти на устройстве или эмуляторе, выполните следующие действия. Рекомендуется войти с помощью основной учётной записи. Однако, если на устройстве или эмуляторе уже используются другие учётные записи, вы можете создать дополнительную учётную запись и войти в неё, используя данные учётной записи издателя или тестовой учётной записи.
- Откройте «Настройки» > «Учетные записи и синхронизация».
- Выберите Добавить учетную запись и добавьте учетную запись Google.
- Выберите «Далее» , а затем «Войти» .
- Введите имя пользователя и пароль учетной записи издателя или тестовой учетной записи, зарегистрированной в учетной записи издателя.
- Выберите «Войти» . Система выполнит вход в новую учетную запись.
После входа в систему вы можете начать тестирование лицензирования в своём приложении (если вы выполнили шаги по интеграции LVL, описанные выше). Когда ваше приложение инициирует проверку лицензии, оно получит ответ, содержащий статический тестовый ответ, настроенный в учётной записи издателя.
Обратите внимание: если вы используете эмулятор, вам придется входить в учетную запись издателя или тестовую учетную запись каждый раз при стирании данных при перезапуске эмулятора.
После завершения процедур настройки перейдите к разделу Добавление лицензирования в ваше приложение .