Android - 展示新版付费墙编辑工具付费墙

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

本指南仅适用于新版付费墙编辑工具付费墙,需要 SDK v3.0。不同版本的付费墙编辑工具设计的付费墙、远程配置付费墙以及观察者模式的付费墙展示方式各不相同。

如需获取下文使用的 viewConfiguration 对象,请参阅获取付费墙编辑工具付费墙及其配置

请求参数:

参数是否必填描述
viewConfiguration必填提供包含付费墙视觉详情的 AdaptyUI.LocalizedViewConfiguration 对象。使用 Adapty.getViewConfiguration(paywall) 方法加载。详情请参阅获取付费墙视觉配置主题。
products可选提供 AdaptyPaywallProduct 数组以优化产品在屏幕上的显示时机。若传入 null,AdaptyUI 将自动获取所需产品。
eventListener可选提供 AdaptyUiEventListener 以监听付费墙事件。建议扩展 AdaptyUiDefaultEventListener 以便使用。详情请参阅处理付费墙事件主题。
insets可选

Insets 是付费墙周围的空间,用于防止可点击元素被系统栏遮挡。

默认值:UNSPECIFIED,即 Adapty 会自动调整 insets,适合全面屏付费墙。

如果您的付费墙不是全面屏,可能需要设置自定义 insets。具体方法请参阅下方修改付费墙 insets 部分。

personalizedOfferResolver可选如需指示个性化定价(了解更多),请实现 AdaptyUiPersonalizedOfferResolver 并传入您自己的逻辑,将 AdaptyPaywallProduct 映射为 true(价格已个性化)或 false(未个性化)。
tagResolver可选使用 AdaptyUiTagResolver 解析付费墙文本中的自定义标签。该解析器接受标签参数并将其解析为对应字符串。详情请参阅付费墙编辑工具中的自定义标签主题。
timerResolver可选如需使用自定义计时器功能,请在此处传入解析器。

想了解 Adapty SDK 如何集成到移动应用中的真实示例?请查看我们的示例应用,其中展示了完整的配置过程,包括显示付费墙、完成购买以及其他基本功能。

修改付费墙 insets

Insets 是付费墙周围的空间,用于防止可点击元素被系统栏遮挡。默认情况下,Adapty 会自动调整 insets,适合全面屏付费墙。

如果您的付费墙不是全面屏,可能需要设置自定义 insets:

  • 如果状态栏和导航栏均未与 AdaptyPaywallView 重叠,请使用 AdaptyPaywallInsets.NONE
  • 对于更复杂的场景,例如付费墙仅与顶部状态栏重叠而不与底部导航栏重叠,可以仅将 bottomInset 设置为 0,如下例所示:

使用开发者自定义计时器

要在移动应用中使用开发者自定义计时器,请创建一个 timerResolver 对象——一个将自定义计时器与字符串值配对的字典或映射,字符串值将在付费墙渲染时替换相应计时器。示例如下:

在此示例中,CUSTOM_TIMER_NY 是您在 Adapty 看板中设置的开发者自定义计时器的 Timer IDtimerResolver 确保您的应用动态更新计时器为正确的值——例如 13d 09h 03m 34s(根据计时器结束时间(如元旦)减去当前时间计算得出)。

使用自定义标签

要在移动应用中使用自定义标签,请创建一个 tagResolver 对象——一个将自定义标签与字符串值配对的字典或映射,字符串值将在付费墙渲染时替换相应标签。示例如下:

在此示例中,USERNAME 是您在 Adapty 看板中以 <USERNAME/> 形式输入的自定义标签。tagResolver 确保您的应用将该自定义标签动态替换为指定值——例如 John

建议在展示付费墙前创建并填充 tagResolver。准备好后,将其传递给用于展示付费墙的 AdaptyUI 方法。

修改付费墙加载指示器颜色

您可以通过以下方式覆盖加载指示器的默认颜色:


<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
    
    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>