В этом разделе перечислены и описаны шаги по настройке, которые необходимо выполнить, прежде чем вы сможете продавать товары в своем приложении. В общих чертах, эта настройка включает в себя создание учетной записи разработчика, создание и настройку товаров, которые вы хотите продавать, а также включение и настройку API, которые вы используете для продажи и управления вашими товарами. В этом разделе также описывается, как настроить уведомления для разработчиков в режиме реального времени, чтобы получать оповещения при изменении статуса товара.
Создайте аккаунт разработчика Google Play.
Для публикации ваших приложений и игр в Google Play используйте консоль Google Play . Также консоль Google Play используется для управления платежными продуктами и настройками.
Для доступа к консоли Google Play необходимо создать учетную запись разработчика Google Play .
Для продажи платных приложений и внутриигровых покупок в Google Play необходимо также создать профиль в Центре платежей Google , а затем связать этот профиль со своей учетной записью разработчика Google Play. Чтобы узнать, как связать свой профиль с учетной записью или как проверить, есть ли у вас уже связанная учетная запись и профиль, см. раздел «Связывание учетной записи разработчика Google Play с вашим платежным профилем» .
Включите функции, связанные с оплатой, в консоли Google Play.
После создания учетной записи разработчика необходимо опубликовать версию приложения, включающую библиотеку Google Play Billing. Этот шаг необходим для включения функций, связанных с оплатой, в консоли Google Play, например, для настройки продаваемых товаров.
Добавить зависимость от библиотеки
Для интеграции платежной системы Google Play сначала добавьте в свое приложение зависимость от библиотеки Google Play Billing Library. Эта библиотека предоставляет доступ к API Android, которые подключают вас к Google Play. Оттуда вы можете получать доступ к информации о покупках, запрашивать обновления о покупках, предлагать пользователю совершать новые покупки и многое другое.
Библиотека Google Play Billing доступна в репозитории Maven от Google . Добавьте зависимость в файл build.gradle вашего приложения, как показано ниже:
Круто
dependencies { def billing_version = "8.3.0" implementation "com.android.billingclient:billing:$billing_version" }
Котлин
dependencies { val billing_version = "8.3.0" implementation("com.android.billingclient:billing:$billing_version") }
Если вы используете Kotlin, модуль Play Billing Library KTX содержит расширения Kotlin и поддержку сопрограмм, позволяющие писать код на идиоматическом Kotlin при использовании системы оплаты Google Play. Чтобы включить эти расширения в свой проект, добавьте следующую зависимость в файл build.gradle вашего приложения, как показано ниже:
Круто
dependencies { def billing_version = "8.3.0" implementation "com.android.billingclient:billing-ktx:$billing_version" }
Котлин
dependencies { val billing_version = "8.3.0" implementation("com.android.billingclient:billing-ktx:$billing_version") }
В примерах кода на Kotlin, представленных на этой странице, по возможности используется KTX.
Загрузите свое приложение
После добавления библиотеки в приложение выполните его сборку и публикацию. Для этого создайте приложение , а затем опубликуйте его в любой тестовый трек, включая внутренний тестовый трек .
Создавайте и настраивайте свои продукты.
После включения функций Google Play Billing для вашего приложения вам необходимо настроить товары для продажи.
Процесс создания разовых продуктов и подписок аналогичен. Для каждого продукта необходимо указать уникальный идентификатор продукта, название, описание и информацию о цене. Для подписок требуется дополнительная информация, например, выбор типа продления (автоматическое или предоплата) для базового плана.
Google Play Console предоставляет веб-интерфейс, который можно использовать для управления своими продуктами.
Чтобы создать и настроить разовые продукты, см. раздел «Создание управляемого продукта» . Обратите внимание, что в консоли Google Play разовые продукты называются управляемыми продуктами .
Для создания и настройки подписок см. раздел «Создание подписки» .
В качестве альтернативы веб-интерфейсу вы также можете управлять своими продуктами, используя REST-ресурс inappproducts для внутриигровых продуктов и REST-ресурс monetization.subscriptions для продуктов по подписке в Google Play Developer API.
Настройте API разработчика Google Play.
API для разработчиков Google Play — это API, работающий по принципу «сервер-сервер», который дополняет библиотеку Google Play Billing на Android. Этот API предоставляет функциональность, недоступную в библиотеке Google Play Billing, например, безопасную проверку покупок и возврат средств пользователям.
В рамках интеграции платежной системы Google Play в ваше приложение необходимо настроить доступ к API разработчиков Google Play через консоль Google Play. Инструкции см. в разделе «Начало работы с API разработчиков Google Play» .
После настройки доступа к API разработчиков Google Play убедитесь, что вы предоставили разрешение на просмотр финансовых данных , необходимое для доступа к функциям, связанным с выставлением счетов. Информацию о рекомендуемых практиках, а также дополнительные сведения о настройке разрешений см. в разделе «Добавление пользователей учетных записей разработчиков и управление разрешениями» .
Настройка уведомлений для разработчиков в режиме реального времени
Уведомления для разработчиков в реальном времени (RTDN) — это механизм получения уведомлений от Google при изменении прав пользователя в вашем приложении. RTDN использует Google Cloud Pub/Sub , что позволяет получать данные, которые либо отправляются на заданный вами URL-адрес, либо опрашиваются с помощью клиентской библиотеки . Эти уведомления позволяют немедленно реагировать на изменения состояния подписки, избегая необходимости опрашивать API разработчиков Google Play. Обратите внимание, что неэффективное использование API разработчиков Google Play может привести к ограничениям квоты API.
Cloud Pub/Sub — это полностью управляемый сервис обмена сообщениями в режиме реального времени, который позволяет отправлять и получать сообщения между независимыми приложениями. Google Play использует Cloud Pub/Sub для публикации push-уведомлений по темам, на которые вы подписаны.
Для получения уведомлений необходимо создать серверную часть, которая будет обрабатывать сообщения, отправляемые в вашу тему. Ваш сервер сможет обрабатывать эти сообщения, отвечая на HTTPS-запросы к зарегистрированной конечной точке или используя клиентские библиотеки Cloud Pub/Sub . Эти библиотеки доступны на разных языках. Дополнительную информацию можно найти в разделе «Создание подписки Pub/Sub» в этой теме.
Определить цены и квоты.
Подробную информацию о ценах и квотах см. в разделе «Цены и квоты» .
Оцените объем используемых данных.
Объем данных в уведомлении о подписке составляет приблизительно 1 КБ на запрос. Для каждой публикации и получения данных требуется отдельный запрос, или приблизительно 2 КБ данных на одно уведомление. Количество уведомлений в месяц зависит от вашего расчетного цикла и поведения пользователей. В течение расчетного цикла следует ожидать как минимум одно уведомление для каждого пользователя.
Настройка облачной системы публикации/подписки
Чтобы включить уведомления для разработчиков в режиме реального времени, необходимо сначала настроить Cloud Pub/Sub, используя собственный проект Google Cloud Platform (GCP), а затем включить уведомления для вашего приложения.
Для использования Cloud Pub/Sub необходимо иметь проект GCP с включенным API Cloud Pub/Sub. Если вы не знакомы с GCP и Cloud Pub/Sub, см. руководство по быстрому запуску .
Создать тему
Чтобы начать получать уведомления, необходимо создать тему , в которую Google Play будет публиковать уведомления. Для создания темы следуйте инструкциям в разделе «Создание темы» .
Создать подписку Pub/Sub
Для получения сообщений, опубликованных в определенной теме, необходимо создать подписку Pub/Sub на эту тему. Для создания подписки Pub/Sub выполните следующие действия:
- Ознакомьтесь с руководством для подписчиков Cloud Pub/Sub , чтобы определить, следует ли настроить подписку как подписку с принудительной отправкой (push subscription) или подписку с запросом (pull subscription) .
- Функция push-подписки позволяет Cloud Pub/Sub отправлять уведомления на ваш защищенный бэкэнд посредством HTTPS-запросов.
- Для использования подписки по принципу "pull" ваш защищенный бэкэнд-сервер должен инициировать запросы к серверу Cloud Pub/Sub для получения сообщений.
- Чтобы создать подписку, следуйте инструкциям в разделе «Добавить подписку» .
Предоставьте права на публикацию по вашей теме.
Для работы Cloud Pub/Sub необходимо предоставить Google Play права на публикацию уведомлений в вашей теме.
- Откройте консоль Google Cloud .
- Выберите свой проект, а затем нажмите «Публикация/Подписка» в левой панели навигации.
Найдите интересующую вас тему и откройте сведения о правах доступа.

Рисунок 1. Доступ к конфигурации раздела «Разрешения» . Добавьте учетную запись службы
google-play-developer-notifications@system.gserviceaccount.comи предоставьте ей роль издателя/подписчика .
Рисунок 2. Добавление учетной записи сервиса Google Play в качестве издателя по системе Pub/Sub. Нажмите «Сохранить» , чтобы завершить настройку темы.

Рисунок 3. Сконфигурированная тема.
Включите уведомления для разработчиков в режиме реального времени для вашего приложения.
Чтобы включить уведомления для разработчиков в режиме реального времени для вашего приложения, выполните следующие действия:
- Откройте консоль Google Play .
- Выберите приложение.
- Перейдите в раздел «Монетизация» > «Настройка монетизации» .
В верхней части страницы прокрутите страницу до раздела «Уведомления для разработчиков в режиме реального времени» .

Рисунок 4. Раздел уведомлений для разработчиков в режиме реального времени. Установите флажок «Включить уведомления в режиме реального времени» .
В поле «Имя темы» введите полное имя темы Cloud Pub/Sub, которое вы настроили ранее. Имя темы должно быть в формате
projects/{project_id}/topics/{topic_name}гдеproject_id— это уникальный идентификатор вашего проекта, аtopic_name— имя темы, созданной ранее.Нажмите «Отправить тестовое сообщение» , чтобы отправить тестовое сообщение. Выполнение тестовой публикации помогает убедиться в правильности всех настроек. Если тестовая публикация прошла успешно, отобразится сообщение об успешном завершении публикации. Если у вас есть подписка на эту тему, вы должны получить тестовое сообщение.
Для подписки по принципу «запрос-получение» перейдите к подписке в Cloud Console, нажмите «Просмотреть сообщения» и перейдите к получению сообщений. Необходимо подтвердить каждое полученное сообщение, чтобы избежать повторной доставки Cloud Pub/Sub. Для подписки по принципу «отправка-получение» проверьте, доставлено ли тестовое сообщение на вашу конечную точку для отправки. Код успешного ответа будет служить подтверждением получения сообщения.
Если публикация не удалась, отобразится ошибка. Убедитесь, что имя темы указано правильно и что у учетной записи службы
google-play-developer-notifications@system.gserviceaccount.comесть доступ издателя Pub/Sub к этой теме.Выберите, какие типы уведомлений вы хотели бы получать.
- Получайте уведомления о подписках и всех аннулированных покупках — получайте уведомления от разработчиков в режиме реального времени, касающиеся подписок и аннулированных покупок. Вы не будете получать уведомления о разовых покупках продуктов.
- Получайте все уведомления о подписках и разовых покупках — уведомления обо всех событиях, связанных с подписками и аннулированными покупками. Вы также будете получать уведомления о событиях, связанных с разовыми покупками товаров, таких как
ONE_TIME_PRODUCT_PURCHASEDиONE_TIME_PRODUCT_CANCELED. Подробнее об этих событиях см. в разделе «Жизненный цикл разовых покупок».
Нажмите «Сохранить изменения» .
Проверка вашей конфигурации
Для получения уведомлений от разработчиков в режиме реального времени необходимо создать защищенный сервер для обработки сообщений, отправляемых в вашу тему Cloud Pub/Sub.
Вы можете проверить свою конфигурацию, используя кнопку «Отправить тестовое сообщение» в консоли Google Play, как описано в предыдущем разделе. Если вы не настроили серверную часть для получения уведомлений, вы можете использовать инструмент командной строки gcloud для проверки конфигурации. Инструкции по обработке сообщений с помощью gcloud см. в разделе «Получение сообщения из подписки» .