Показ флоу в режиме Observer в Android SDK
Если вы используете режим Observer, вы самостоятельно отвечаете за логику покупок. Но UI пейвола можно делегировать Flow & Paywall Builder.
Спроектируйте экран в билдере — SDK Adapty отрендерит его нативно. Обновляйте текст, вёрстку и цены в любой момент без обновления приложения. Когда пользователь нажимает кнопку покупки, SDK вызывает ваш код для завершения транзакции.
В этом гайде показано, как отобразить экран и обработать вызов покупки. Если покупками управляет Adapty, см. Отображение флоу и пейволов.
Прежде чем начать
Вам понадобится:
- Adapty Android SDK v4 или новее: Более ранние версии не умеют отображать флоу. Чтобы перейти с v3, см. гайд по миграции.
observerModeсо значениемtrue: См. гайд по установке Android SDK.- Первоначальная интеграция со стором: Настройте Adapty с Google Play.
- Опубликованный флоу с продуктами: Создайте его в Flow & Paywall Builder и добавьте продукты.
- Плейсмент для флоу: Создайте плейсмент и привяжите к нему флоу.
- Флоу, загруженный в приложении: Получите флоу и его конфигурацию перед отображением.
Реализация
- Реализуйте
AdaptyUiObserverModeHandler.
Событие onPurchaseInitiated сообщает о том, что пользователь инициировал покупку. В ответ на этот коллбэк вы можете запустить собственный флоу покупки:
Чтобы обработать восстановление покупок в режиме Observer, переопределите метод getRestoreHandler(). По умолчанию он возвращает null, что означает использование встроенного флоу Adapty.restorePurchases(). Чтобы задать собственную реализацию восстановления:
Не забудьте вызвать следующие колбэки, чтобы уведомить AdaptyUI о процессе покупки или восстановления. Это необходимо для корректного поведения флоу, например для отображения загрузчика:
| Callback | Description |
|---|---|
| onStartPurchase() | Callback должен вызываться, чтобы уведомить AdaptyUI о начале покупки. |
| onFinishPurchase() | Callback должен вызываться, чтобы уведомить AdaptyUI о завершении покупки. |
| onStartRestore() | Опционально. Callback может вызываться, чтобы уведомить AdaptyUI о начале восстановления покупок. |
| onFinishRestore() | Опционально. Callback может вызываться, чтобы уведомить AdaptyUI о завершении восстановления покупок. |
- Чтобы отобразить визуальный флоу на экране устройства, его нужно сначала настроить.
Параметры запроса:
| Параметр | Обязательность | Описание |
|---|---|---|
| flowConfiguration | обязательный | Передайте объект AdaptyUI.FlowConfiguration, содержащий визуальные детали флоу. Используйте метод AdaptyUI.getFlowConfiguration(flow) для его загрузки. Подробнее см. в разделе Получение конфигурации представления. |
| products | необязательный | Передайте массив AdaptyPaywallProduct, чтобы оптимизировать время отображения продуктов на экране. Если передано null, AdaptyUI автоматически загрузит необходимые продукты. |
| eventListener | необязательный | Передайте AdaptyFlowEventListener для отслеживания событий флоу. Для удобства рекомендуется использовать расширение AdaptyFlowDefaultEventListener. Подробнее см. в разделе Обработка событий флоу и пейвола. |
| insets | необязательный | Insets — это отступы вокруг флоу, которые предотвращают скрытие нажимаемых элементов за системными панелями. По умолчанию: Unspecified — Adapty настраивает отступы автоматически. См. Изменение insets флоу. |
| customAssets | необязательный | Передайте объект AdaptyCustomAssets, чтобы заменить изображения и видео во флоу во время выполнения. Подробнее см. в разделе Настройка ресурсов. |
| tagResolver | необязательный | Используйте AdaptyUiTagResolver для обработки пользовательских тегов в тексте флоу. Резолвер принимает параметр тега и преобразует его в соответствующую строку. |
| observerModeHandler | обязательный для режима Observer | AdaptyUiObserverModeHandler, реализованный на предыдущем шаге. |
Не забудьте связать пейволы с транзакциями покупок. Иначе Adapty не сможет определить источник флоу покупки.