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

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

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

Этот гайд охватывает флоу и пейволы, созданные в новом Paywall Builder и отрисовываемые Adapty. Для пейволов с Remote Config и в режиме Observer процесс отличается.

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

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

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

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

Хотите увидеть реальный пример интеграции 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, вам не нужно беспокоиться о его отображении в коде мобильного приложения. Такой пейвол содержит и то, что должно показываться, и то, как это должно выглядеть.

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

Чтобы отображать пейволы на основе Remote Config, см. Отображение пейволов, созданных с помощью Remote Config.

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

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

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

Хотите увидеть реальный пример интеграции 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
});