Отображение флоу в режиме Observer - Unity
Если вы настроили флоу или пейвол с помощью билдера, вам не нужно беспокоиться о его рендеринге в коде мобильного приложения для отображения пользователю. Такой флоу или пейвол содержит как то, что должно быть показано, так и то, как именно это должно быть показано.
Этот раздел относится только к режиму Observer. Если вы не работаете в режиме Observer, обратитесь к теме Отображение флоу и пейволов.
Эта функция требует Adapty Unity SDK 4.0 (beta) или более поздней версии — ранее она была доступна только в нативных SDK для iOS и Android. Ознакомьтесь с руководством по миграции для обновления.
Прежде чем начать показывать флоу (нажмите для раскрытия)
- Настройте начальную интеграцию Adapty с App Store и с Google Play.
2. Установите и настройте Adapty SDK. Не забудьте вызвать
SetObserverMode(true)в конфигурационном билдере. Обратитесь к гайду по установке Unity SDK. 3. Создайте продукты в дашборде Adapty. 4. Настройте флоу или пейволы в билдерах и привяжите к ним продукты. 5. Создайте плейсменты и назначьте на них флоу или пейволы. 6. Загрузите флоу и их конфигурацию в коде мобильного приложения.
В режиме Observer SDK не совершает покупки за вас. Когда пользователь нажимает кнопку покупки или восстановления во флоу или пейволе, отрисованном Adapty, SDK вызывает ваш IAdaptyUIObserverModeResolver — выполняйте покупку или восстановление там с помощью собственного кода.
-
Реализуйте интерфейс
IAdaptyUIObserverModeResolver:using System; using AdaptySDK; public class MyObserverModeResolver : IAdaptyUIObserverModeResolver { public void FlowViewDidInitiatePurchase( AdaptyUIFlowView view, AdaptyPaywallProduct product, Action onStartPurchase, Action onFinishPurchase ) { onStartPurchase(); // the view shows its loading indicator // make the purchase with your own code, // then report the transaction to Adapty and call: onFinishPurchase(); // the view hides the loading indicator } public void FlowViewDidInitiateRestore( AdaptyUIFlowView view, Action onStartRestore, Action onFinishRestore ) { onStartRestore(); // restore purchases with your own code, then: onFinishRestore(); } }
Метод FlowViewDidInitiatePurchase сообщает, что пользователь инициировал покупку, а FlowViewDidInitiateRestore — что пользователь инициировал восстановление. В ответ на эти события запустите свой собственный флоу покупки или восстановления.
Также не забудьте вызывать следующие колбэки, чтобы уведомить AdaptyUI о ходе процесса покупки или восстановления. Это необходимо для корректного поведения флоу, например для отображения индикатора загрузки:
| Callback | Description |
|---|---|
| onStartPurchase() | Коллбэк следует вызвать, чтобы уведомить AdaptyUI о начале покупки. |
| onFinishPurchase() | Коллбэк следует вызвать, чтобы уведомить AdaptyUI о завершении покупки. |
| onStartRestore() | Коллбэк следует вызвать, чтобы уведомить AdaptyUI о начале восстановления покупок. |
| onFinishRestore() | Коллбэк следует вызвать, чтобы уведомить AdaptyUI о завершении восстановления покупок. |
Флоу остаётся открытым, пока выполняется ваш код — закройте его самостоятельно после успешной покупки или восстановления.
-
Зарегистрируйте резолвер до отображения любого экрана:
Adapty.SetObserverModeResolver(new MyObserverModeResolver());Без зарегистрированного резолвера флоу не может передать покупку вашему коду, и нажатие кнопки покупки ни к чему не приведёт.
-
Создайте и отобразите флоу как обычно: получите флоу и создайте его представление, затем отобразите его. Дополнительные параметры не нужны — после регистрации резолвера все покупки и восстановления в любом флоу или пейволе, отрисованном Adapty, будут направляться через него.
Не забудьте сообщить о транзакции и привязать её к пейволу. Иначе Adapty не распознает транзакцию и не определит, с какого пейвола была совершена покупка.