Показ флоу в режиме Observer в Android SDK

Если вы используете режим Observer, вы самостоятельно отвечаете за логику покупок. Но UI пейвола можно делегировать Flow & Paywall Builder.

Спроектируйте экран в билдере — SDK Adapty отрендерит его нативно. Обновляйте текст, вёрстку и цены в любой момент без обновления приложения. Когда пользователь нажимает кнопку покупки, SDK вызывает ваш код для завершения транзакции.

В этом гайде показано, как отобразить экран и обработать вызов покупки. Если покупками управляет Adapty, см. Отображение флоу и пейволов.

Прежде чем начать

Вам понадобится:

Реализация

  1. Реализуйте AdaptyUiObserverModeHandler.

Событие onPurchaseInitiated сообщает о том, что пользователь инициировал покупку. В ответ на этот коллбэк вы можете запустить собственный флоу покупки:

Чтобы обработать восстановление покупок в режиме Observer, переопределите метод getRestoreHandler(). По умолчанию он возвращает null, что означает использование встроенного флоу Adapty.restorePurchases(). Чтобы задать собственную реализацию восстановления:

Не забудьте вызвать следующие колбэки, чтобы уведомить AdaptyUI о процессе покупки или восстановления. Это необходимо для корректного поведения флоу, например для отображения загрузчика:

CallbackDescription
onStartPurchase()Callback должен вызываться, чтобы уведомить AdaptyUI о начале покупки.
onFinishPurchase()Callback должен вызываться, чтобы уведомить AdaptyUI о завершении покупки.
onStartRestore()Опционально. Callback может вызываться, чтобы уведомить AdaptyUI о начале восстановления покупок.
onFinishRestore()Опционально. Callback может вызываться, чтобы уведомить AdaptyUI о завершении восстановления покупок.
  1. Чтобы отобразить визуальный флоу на экране устройства, его нужно сначала настроить.

Параметры запроса:

ПараметрОбязательностьОписание
flowConfigurationобязательныйПередайте объект AdaptyUI.FlowConfiguration, содержащий визуальные параметры флоу. Используйте метод AdaptyUI.getFlowConfiguration(flow), чтобы загрузить его. Подробнее см. в разделе Получение конфигурации представления.
productsнеобязательныйПередайте массив AdaptyPaywallProduct, чтобы оптимизировать момент отображения продуктов на экране. Если передать null, AdaptyUI автоматически загрузит необходимые продукты.
eventListenerнеобязательныйПередайте AdaptyFlowEventListener, чтобы отслеживать события флоу. Для удобства рекомендуется расширить AdaptyFlowDefaultEventListener. Подробнее см. в разделе Обработка событий флоу и пейвола.
insetsнеобязательныйОтступы вокруг флоу, которые не дают интерактивным элементам скрыться за системными панелями. По умолчанию: Unspecified — Adapty подберёт отступы автоматически. См. Изменение отступов флоу.
customAssetsнеобязательныйПередайте объект AdaptyCustomAssets, чтобы заменить изображения и видео во флоу во время выполнения. Подробнее см. в разделе Настройка ресурсов.
tagResolverнеобязательныйAdaptyUiTagResolver, возвращающий значения вашего приложения для пользовательских тегов флоу. Подробнее см. в разделе Передача данных во флоу.
observerModeHandlerобязательный для режима ObserverAdaptyUiObserverModeHandler, реализованный на предыдущем шаге.
Warning

Не забудьте связать пейволы с транзакциями покупок. Иначе Adapty не сможет определить источник флоу покупки.