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

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

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

Warning

Этот гайд охватывает флоу и пейволы, рендеринг которых выполняет Adapty. Для Remote Config пейволов и 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 или выше.

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

Чтобы отобразить пейвол, используйте метод 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
});