Показ флоу в режиме Observer в Flutter SDK
Если вы настроили флоу или пейвол с помощью билдера, вам не нужно беспокоиться об их рендеринге в коде мобильного приложения для отображения пользователю. Такой флоу или пейвол уже содержит и то, что нужно показать, и то, как именно это должно выглядеть.
Этот раздел относится только к режиму Observer. Если вы не работаете в режиме Observer, обратитесь к разделу Отображение флоу и пейволов.
Эта функция доступна начиная с Adapty Flutter SDK 4.0 — ранее она была доступна только в нативных SDK для iOS и Android. Ознакомьтесь с руководством по миграции, чтобы выполнить обновление.
Прежде чем начать показывать флоу (нажмите, чтобы развернуть)
- Настройте начальную интеграцию Adapty с App Store и с Google Play.
2. Установите и настройте Adapty SDK. Обязательно задайте параметр
observerModeравнымtrue. Обратитесь к гайду по установке Flutter SDK. 3. Создайте продукты в дашборде Adapty. 4. Настройте флоу или пейволы в билдерах и привяжите к ним продукты. 5. Создайте плейсменты и назначьте им флоу или пейволы. 6. Получите флоу и их конфигурацию в коде мобильного приложения.
В режиме Observer SDK не выполняет покупки самостоятельно. Когда пользователь нажимает кнопку покупки или восстановления во флоу или пейволе, отрисованном Adapty, SDK вызывает ваш AdaptyUIObserverModeResolver — выполните покупку или восстановление там с помощью собственного кода.
- Реализуйте
AdaptyUIObserverModeResolver:class MyObserverModeResolver extends AdaptyUIObserverModeResolver { @override void observerModeDidInitiatePurchase( AdaptyUIFlowView view, AdaptyPaywallProduct product, void Function() onStartPurchase, void Function() onFinishPurchase, ) { onStartPurchase(); // the view shows its loading indicator // make the purchase with your own code, then: onFinishPurchase(); // the view hides the loading indicator } @override void observerModeDidInitiateRestore( AdaptyUIFlowView view, void Function() onStartRestore, void Function() onFinishRestore, ) { onStartRestore(); // restore purchases with your own code, then: onFinishRestore(); } }
Метод observerModeDidInitiatePurchase сообщает вам о том, что пользователь инициировал покупку, а observerModeDidInitiateRestore — что пользователь инициировал восстановление. В ответ на эти события запустите своё кастомное флоу покупки или восстановления.
Также не забудьте вызвать следующие коллбэки, чтобы уведомить AdaptyUI о процессе покупки или восстановления. Это необходимо для корректного поведения флоу — например, для отображения лоадера:
| Callback | Description |
|---|---|
| onStartPurchase() | Коллбэк должен вызываться, чтобы уведомить AdaptyUI о начале покупки. |
| onFinishPurchase() | Коллбэк должен вызываться, чтобы уведомить AdaptyUI о завершении покупки. |
| onStartRestore() | Коллбэк должен вызываться, чтобы уведомить AdaptyUI о начале восстановления. |
| onFinishRestore() | Коллбэк должен вызываться, чтобы уведомить AdaptyUI о завершении восстановления. |
-
Зарегистрируйте резолвер до отображения любого экрана:
AdaptyUI().setObserverModeResolver(MyObserverModeResolver()); -
Создайте и отобразите флоу как обычно: получите флоу и создайте его представление, затем отобразите его. Никаких дополнительных параметров не требуется — после регистрации резолвера все покупки и восстановления в пейволах и флоу Adapty будут проходить через него.
Не забудьте сообщить о транзакции и связать её с пейволом. В противном случае Adapty не распознает транзакцию и не определит, с какого пейвола была совершена покупка.