展示付费墙

如果您已使用付费墙编辑工具自定义了付费墙,则无需在移动应用代码中手动渲染它来向用户展示。此类付费墙已包含展示内容及展示方式的完整配置。

本指南适用于新版付费墙编辑工具,需要 Adapty SDK 3.3.0 或更高版本。如果您使用的是旧版付费墙编辑工具(兼容 Adapty SDK 2.x 及更早版本),请参阅在 Unity 中展示旧版付费墙编辑工具付费墙

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

要展示付费墙,请在通过 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
});