Показ флоу в режиме 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необязательныйInsets — это отступы вокруг флоу, которые предотвращают скрытие нажимаемых элементов за системными панелями. По умолчанию: Unspecified — Adapty настраивает отступы автоматически. См. Изменение insets флоу.
customAssetsнеобязательныйПередайте объект AdaptyCustomAssets, чтобы заменить изображения и видео во флоу во время выполнения. Подробнее см. в разделе Настройка ресурсов.
tagResolverнеобязательныйИспользуйте AdaptyUiTagResolver для обработки пользовательских тегов в тексте флоу. Резолвер принимает параметр тега и преобразует его в соответствующую строку.
observerModeHandlerобязательный для режима ObserverAdaptyUiObserverModeHandler, реализованный на предыдущем шаге.
Warning

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