Отображение флоу и пейволов — Unity

Display flows and paywalls
✦
Флоу Создаются в Flow & Paywall Builder — рендерятся нативно на устройстве, без WebView
✦
Пейволы старого Paywall Builder Весь контент, созданный в старом Paywall Builder

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

Warning

Этот гайд охватывает флоу и пейволы, отображаемые Adapty. Для кастомных пейволов и Observer mode процесс отличается.

Чтобы получить объект view, используемый ниже, см. Получение флоу и пейволов.

Чтобы отобразить флоу или пейвол, используйте метод view.Present() на объекте view, созданном методом CreateFlowView. Каждый view можно использовать только один раз: после закрытия он уничтожается. Если нужно показать флоу снова, вызовите CreateFlowView ещё раз, чтобы создать новый экземпляр view.

Warning

Повторное использование того же view без пересоздания может привести к ошибке.

view.Present((error) => {
    // handle the error
});
Tip

Хотите увидеть реальный пример интеграции Adapty SDK в мобильное приложение? Посмотрите наши примеры приложений, которые демонстрируют полную настройку, включая отображение пейволов, совершение покупок и другую базовую функциональность.

Показ диалогов

Используйте этот метод вместо нативных диалоговых окон, когда флоу или пейвол отображается на Android. На Android стандартные алерты появляются позади флоу, из-за чего пользователи их не видят. Этот метод обеспечивает корректное отображение диалога поверх флоу на всех платформах.

var dialog = new AdaptyUIDialogConfiguration()
    .SetTitle("Close this screen?")
    .SetContent("You will lose access to exclusive offers.")
    .SetDefaultActionTitle("Stay")
    .SetSecondaryActionTitle("Close");

AdaptyUI.ShowDialog(view, dialog, (action, error) => {
    if (error == null) {
        if (action == AdaptyUIDialogActionType.Secondary) {
            // User confirmed - close the flow
            view.Dismiss((error) => {
                // handle the error
            });
        }
        // If primary - do nothing, user stays
    }
});

Настройка стиля отображения на iOS

Настройте способ отображения флоу или пейвола на iOS, передав параметр iosPresentationStyle в метод Present(). Параметр принимает значения AdaptyUIIOSPresentationStyle.FullScreen (по умолчанию) или AdaptyUIIOSPresentationStyle.PageSheet.

view.Present(AdaptyUIIOSPresentationStyle.PageSheet, (error) => {
    // handle the error
});

Если вы создали пейвол с помощью Paywall Builder, вам не нужно беспокоиться об его отображении в коде мобильного приложения. Такой пейвол содержит как то, что должно быть показано, так и то, как это должно выглядеть.

Warning

Этот гайд описывает старый Paywall Builder, который требует Adapty SDK 3.3.0 или новее.

Чтобы отобразить кастомные пейволы, см. Отображение кастомных пейволов.

Чтобы отобразить пейвол, используйте метод view.Present() на объекте view, созданном методом CreatePaywallView. Каждый view можно использовать только один раз. Если нужно показать пейвол снова, вызовите CreatePaywallView ещё раз, чтобы создать новый экземпляр view.

Warning

Повторное использование одного и того же view без пересоздания может привести к ошибке AdaptyUIError.viewAlreadyPresented.

view.Present((error) => {
  // handle the error
});
Tip

Хотите увидеть реальный пример интеграции Adapty SDK в мобильное приложение? Посмотрите наши примеры приложений, которые демонстрируют полную настройку, включая отображение пейволов, совершение покупок и другую базовую функциональность.

Показ диалога

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

var dialog = new AdaptyUIDialogConfiguration()
    .SetTitle("Close paywall?")
    .SetContent("You will lose access to exclusive offers.")
    .SetDefaultActionTitle("Stay")
    .SetSecondaryActionTitle("Close");

AdaptyUI.ShowDialog(view, dialog, (action, error) => {
    if (error == null) {
        if (action == AdaptyUIDialogActionType.Secondary) {
            // User confirmed - close the paywall
            view.Dismiss();
        }
        // If primary - do nothing, user stays
    }
});

Настройка стиля презентации на iOS

Настройте способ отображения пейвола на iOS, передав параметр iosPresentationStyle в метод Present(). Параметр принимает значения AdaptyUIIOSPresentationStyle.FullScreen (по умолчанию) или AdaptyUIIOSPresentationStyle.PageSheet.

view.Present(AdaptyUIIOSPresentationStyle.PageSheet, (error) => {
    // handle the error
});