展示流程与付费墙 - Unity

展示流程和付费墙
流程 在 Flow Builder 中构建——在设备上原生渲染,无需 WebView
Paywall Builder 付费墙 所有现有的 Paywall Builder 内容

如果您已创建了流程或付费墙,无需在移动应用代码中手动处理渲染逻辑来向用户展示它。此类流程或付费墙本身已包含展示内容及展示方式的完整定义。

本指南适用于由 Adapty 渲染的流程以及新版付费墙编辑工具付费墙。远程配置付费墙和 Observer 模式的处理方式有所不同。

如需获取下面使用的 view 对象,请参阅获取流程与付费墙

使用 CreateFlowView 方法创建的 view,调用 view.Present() 方法来展示流程或付费墙。每个 view 只能使用一次:已关闭的 view 会被销毁。如需再次展示流程,请重新调用 CreateFlowView 创建新的 view 实例。

不重新创建而直接复用同一个 view 可能会导致错误。

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

想看看 Adapty SDK 在移动应用中的实际集成示例吗?欢迎查看我们的示例应用,其中演示了完整的集成流程,包括展示付费墙、完成购买以及其他基本功能。

显示对话框

在 Android 上展示流程或付费墙时,请使用此方法代替原生的 alert 对话框。在 Android 上,普通的 alert 会显示在流程视图的后面,导致用户无法看到。该方法可确保在所有平台上对话框都能正确显示在流程的上方。

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 呈现样式

通过向 Present() 方法传递 iosPresentationStyle 参数,可以配置流程或付费墙在 iOS 上的呈现方式。该参数接受 AdaptyUIIOSPresentationStyle.FullScreen(默认值)或 AdaptyUIIOSPresentationStyle.PageSheet 两个值。

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

如果您已使用付费墙编辑工具自定义了付费墙,则无需在移动应用代码中手动渲染即可将其展示给用户。此类付费墙已同时包含展示内容与展示方式。

本指南适用于新版付费墙编辑工具,需要 Adapty SDK 3.3.0 或更高版本。

如需展示使用远程配置设计的付费墙,请参阅渲染使用远程配置设计的付费墙

要显示付费墙,请对由 CreatePaywallView 方法创建的 view 调用 view.Present() 方法。每个 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 展示样式

通过向 Present() 方法传递 iosPresentationStyle 参数,配置付费墙在 iOS 上的展示方式。该参数接受 AdaptyUIIOSPresentationStyle.FullScreen(默认值)或 AdaptyUIIOSPresentationStyle.PageSheet

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