В этой теме перечислены и описаны шаги настройки, которые необходимо выполнить, прежде чем вы сможете продавать продукты в своем приложении. На высоком уровне эта настройка включает создание учетной записи разработчика, создание и настройку продуктов, которые вы хотите продавать, а также включение и настройку API, которые вы используете для продажи и управления своими продуктами. В этой теме также описывается, как настроить уведомления разработчиков в реальном времени, чтобы получать уведомления при каждом изменении статуса продукта.
Настройте аккаунт разработчика Google Play
Для публикации приложений и игр в Google Play используйте Google Play Console . Вы также можете использовать Google Play Console для управления продуктами и настройками, связанными с выставлением счетов.
Для доступа к Google Play Console вам необходимо создать учетную запись разработчика Google Play .
Чтобы продавать платные приложения и покупки в приложении в Google Play, вам также необходимо настроить профиль в Google Payments Center , а затем связать этот профиль с вашим аккаунтом разработчика Google Play. Чтобы узнать, как связать свой профиль с аккаунтом или как проверить, есть ли у вас уже связанный аккаунт и профиль, см. раздел Связать аккаунт разработчика Google Play с вашим платежным профилем .
Включите функции, связанные с выставлением счетов, в Google Play Console
После настройки учетной записи разработчика вам необходимо опубликовать версию своего приложения, которая включает Google Play Billing Library. Этот шаг необходим для включения функций, связанных с выставлением счетов, в Google Play Console, таких как настройка продуктов, которые вы хотите продавать.
Добавить зависимость библиотеки
Чтобы интегрировать платежную систему Google Play, сначала добавьте зависимость от Google Play Billing Library в свое приложение. Эта библиотека обеспечивает доступ к API Android, которые подключают вас к Google Play. Оттуда вы можете получить доступ к информации о покупках, запросить обновления о покупках, предложить пользователю совершить новые покупки и многое другое.
Библиотека Google Play Billing Library доступна в репозитории Google Maven . Добавьте зависимость в файл build.gradle
вашего приложения, как показано ниже:
Круто
dependencies { def billing_version = "8.0.0" implementation "com.android.billingclient:billing:$billing_version" }
Котлин
dependencies { val billing_version = "8.0.0" implementation("com.android.billingclient:billing:$billing_version") }
Если вы используете Kotlin, модуль Play Billing Library KTX содержит расширения Kotlin и поддержку сопрограмм, которые позволяют вам писать идиоматический Kotlin при использовании биллинговой системы Google Play. Чтобы включить эти расширения в свой проект, добавьте следующую зависимость в файл build.gradle
вашего приложения, как показано:
Круто
dependencies { def billing_version = "8.0.0" implementation "com.android.billingclient:billing-ktx:$billing_version" }
Котлин
dependencies { val billing_version = "8.0.0" implementation("com.android.billingclient:billing-ktx:$billing_version") }
Примеры кода Kotlin, представленные на этой странице, по возможности используют KTX.
Загрузите свое приложение
После добавления библиотеки в приложение, соберите и опубликуйте свое приложение. Для этого шага создайте свое приложение , а затем опубликуйте его в любой дорожке, включая внутреннюю тестовую дорожку .
Создавайте и настраивайте свои продукты
После включения функций Google Play Billing для вашего приложения вам необходимо настроить продаваемые продукты.
Шаги создания одноразовых продуктов и подписок похожи. Для каждого продукта вам необходимо указать уникальный идентификатор продукта, название, описание и информацию о ценах. Подписки имеют дополнительную обязательную информацию, например, выбор типа продления с автоматическим продлением или предоплаченного продления для базового плана.
Google Play Console предоставляет веб-интерфейс, который вы можете использовать для управления своими продуктами.
Чтобы создать и настроить одноразовые продукты, см . раздел Создание управляемого продукта . Обратите внимание, что Google Play Console называет одноразовые продукты управляемыми продуктами .
Чтобы создать и настроить подписки, см. раздел Создание подписки .
В качестве альтернативы веб-интерфейсу вы также можете управлять своими продуктами, используя ресурс REST inappproducts
для продуктов внутри приложения и ресурс REST monetization.subscriptions
для продуктов по подписке в API разработчика Google Play.
Настройте API разработчика Google Play
Google Play Developer API — это API-интерфейс «сервер-сервер», который дополняет Google Play Billing Library на Android. Этот API предоставляет функциональность, отсутствующую в Google Play Billing Library, например, безопасную проверку покупок и возврат средств вашим пользователям.
В рамках интеграции биллинговой системы Google Play в ваше приложение необходимо настроить доступ к API разработчика Google Play через Google Play Console. Инструкции см. в разделе Начало работы с 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 КБ данных на уведомление. Количество уведомлений в месяц зависит от вашего платежного цикла и поведения ваших пользователей. Вы должны ожидать по крайней мере одно уведомление для каждого пользователя в течение платежного цикла.
Настройка облачного Pub/Sub
Чтобы включить уведомления для разработчиков в режиме реального времени, необходимо сначала настроить Cloud Pub/Sub с помощью собственного проекта Google Cloud Platform (GCP), а затем включить уведомления для своего приложения.
Для использования Cloud Pub/Sub у вас должен быть проект GCP с включенным API Cloud Pub/Sub. Если вы не знакомы с GCP и Cloud Pub/Sub, см. руководство Quickstart .
Создать тему
Чтобы начать получать уведомления, необходимо создать тему , в которой Google Play должен публиковать уведомления. Чтобы создать тему, следуйте инструкциям в разделе Создание темы .
Создать подписку Pub/Sub
Чтобы получать сообщения, опубликованные в теме, необходимо создать подписку Pub/Sub на эту тему. Чтобы создать подписку Pub/Sub, выполните следующие действия:
- Ознакомьтесь с руководством для подписчиков Cloud Pub/Sub, чтобы определить, следует ли настроить подписку как push-подписку или pull-подписку .
- Push-подписка позволяет Cloud Pub/Sub отправлять уведомления на ваш защищенный сервер с помощью HTTPS-запросов.
- Для подписки по запросу требуется, чтобы ваш защищенный внутренний сервер инициировал запросы к серверу Cloud Pub/Sub для получения сообщений.
- Чтобы создать подписку, следуйте инструкциям в разделе «Добавление подписки» .
Предоставьте права на публикацию по вашей теме
Cloud Pub/Sub требует предоставления вам прав Google Play для публикации уведомлений по вашей теме.
- Откройте Google Cloud Console .
- Выберите свой проект, а затем нажмите «Pub/Sub» в левой навигационной панели.
Найдите свою тему и откройте сведения о разрешениях.
Рисунок 1. Доступ к конфигурации для темы «Разрешения» . Добавьте учетную запись службы
google-play-developer-notifications@system.gserviceaccount.com
и предоставьте ей роль издателя Pub/Sub .Рисунок 2. Добавление учетной записи сервиса Google Play в качестве издателя Pub/Sub. Нажмите «Сохранить» , чтобы завершить настройку темы.
Рисунок 3. Настроенная тема.
Включите уведомления разработчиков в режиме реального времени для вашего приложения
Чтобы включить уведомления разработчиков в режиме реального времени для вашего приложения, выполните следующие действия:
- Откройте Google Play Console .
- Выберите свое приложение.
- Перейдите в раздел Монетизация > Настройка монетизации .
Прокрутите страницу до раздела «Уведомления разработчиков в режиме реального времени» .
Рисунок 4. Раздел уведомлений разработчиков в режиме реального времени. Установите флажок Включить уведомления в реальном времени .
В поле Название темы введите полное название темы Cloud Pub/Sub, которое вы настроили ранее. Название темы должно быть в формате
projects/{project_id}/topics/{topic_name}
гдеproject_id
— уникальный идентификатор вашего проекта, аtopic_name
— название темы, созданной ранее.Нажмите Отправить тестовое сообщение , чтобы отправить тестовое сообщение. Выполнение тестовой публикации помогает убедиться, что все настроено и сконфигурировано правильно. Если тестовая публикация прошла успешно, отображается сообщение о том, что тестовая публикация прошла успешно. Если вы прикрепили подписку на эту тему, вы должны получить тестовое сообщение.
Для подписки pull перейдите к подписке в Cloud Console, нажмите View Messages и продолжите получать сообщения. Вам следует подтвердить получение любого сообщения, которое вы получили, чтобы избежать повторной доставки Cloud Pub/Sub. Для подписки push проверьте, доставлено ли тестовое сообщение на вашу конечную точку push. Успешный код ответа будет служить подтверждением сообщения.
Если публикация не удалась, отображается ошибка. Убедитесь, что название темы указано правильно и что у учетной записи службы
google-play-developer-notifications@system.gserviceaccount.com
есть доступ Pub/Sub Publisher к теме.Выберите, какие типы уведомлений вы хотите получать.
- Получайте уведомления о подписках и всех аннулированных покупках — получайте уведомления разработчиков в режиме реального времени, связанные с подписками и аннулированными покупками. Вы не будете получать уведомления о единовременных покупках продуктов.
- Получайте все уведомления о подписках и одноразовых продуктах — получайте уведомления обо всех событиях подписки и аннулированных покупках. Вы также будете получать события одноразовой покупки продукта, такие как
ONE_TIME_PRODUCT_PURCHASED
иONE_TIME_PRODUCT_CANCELED
. Подробнее об этих событиях покупки см. в разделе Жизненный цикл одноразовой покупки.
Нажмите Сохранить изменения .
Проверка вашей конфигурации
Чтобы получать уведомления разработчиков в режиме реального времени, вам следует создать защищенный внутренний сервер для приема сообщений, отправляемых в вашу тему Cloud Pub/Sub.
Вы можете проверить свою конфигурацию, используя кнопку Send Test Message в Google Play Console, как описано в предыдущем разделе. Если вы не настроили внутренний сервер для получения уведомлений, вы можете использовать инструмент командной строки gcloud
для проверки конфигурации. Инструкции по обработке сообщений с помощью gcloud
см. в разделе Pull the message from the subscription .