Управление сообщениями Google Play в Android SDK

Иногда Google Play должен показать пользователю сообщение о его подписке — например, что платёж отклонён и нужно обновить способ оплаты. Google Play отображает такие сообщения поверх вашего приложения, но только тогда, когда приложение само об этом запрашивает.

По умолчанию Adapty SDK запрашивает сообщения Google Play каждый раз, когда запускается Activity вашего приложения. Сообщение отображается поверх любого контента этой Activity, включая флоу, онбординг или экран оплаты. Чтобы управлять моментом показа самостоятельно, переключите SDK в режим ручной обработки сообщений и вызывайте showStoreMessages тогда, когда сообщение не будет мешать пользователю.

Google Play сам решает, применимо ли сообщение к конкретному пользователю, поэтому запрос не всегда приводит к показу сообщения. Если пользователь исправит способ оплаты через это сообщение, SDK синхронизирует покупки пользователя с Adapty, и ваш слушатель профиля получит обновлённый уровень доступа.

Warning

В ручном режиме SDK никогда не запрашивает сообщения Google Play самостоятельно. Если ваше приложение ни разу не вызовет showStoreMessages, пользователи с отклонённым платежом не увидят уведомление в приложении.

Перед началом работы

Вам понадобится Adapty Android SDK 4.3.0 или новее. Более ранние версии не запрашивают сообщения Google Play.

Включить ручную обработку

Чтобы запрашивать сообщения Google Play только тогда, когда ваше приложение вызывает showStoreMessages, установите withStoreMessagesHandling в значение MANUAL при активации SDK:

Отображение сообщений

Когда в приложении наступает момент, в котором сообщение от Google Play не прервёт пользователя — например, после того как он закрыл флоу или завершил онбординг, — вызовите showStoreMessages, передав Activity, в которой должно отобразиться сообщение:

Метод не возвращает результат. SDK не запрашивает сообщение в следующих случаях:

  • SDK не активирован: Вызовите showStoreMessages после Adapty.activate.
  • Activity не может отобразить сообщение: Activity завершается или уничтожена, либо её окно ещё не подключено. Вызывайте метод из Activity, которую видит пользователь.

В режиме AUTO по умолчанию вы также можете вызвать showStoreMessages — например, чтобы снова запросить сообщение в Activity, которая уже запущена.