网页付费墙

Important

开始之前,请确保已安装所需的 Adapty SDK 版本:

  • 付费墙编辑工具或自定义付费墙:3.6.1 或更高版本(iOS),3.15 或更高版本(Android 及跨平台)
  • 流程与付费墙编辑工具:4.0 或更高版本(所有平台)

通过 Adapty,你可以创建一个付费墙或流程,其中包含一个按钮,可将用户从应用重定向到浏览器完成支付。用户完成购买后返回应用时,订阅即会激活。 这样你就可以在追踪用户支付的同时绕过平台抽成。

Web paywall demo
Tip

App Store 仅允许在美国和日本使用外部支付方式。

要仅在这些市场中使用付费墙,请复制当前的付费墙并设置一个 Web 付费墙。这样,您将同时使用两个几乎相同的付费墙:一个面向美国和日本,另一个面向其他所有人。

工作原理

网页付费墙是为每个应用内付费墙生成的唯一 URL。它在浏览器中打开,用于完成支付,支持多种支付服务商(Stripe、Paddle 等),既可以是带有 Apple Pay 按钮的简单页面,也可以是包含更多优惠选项的复杂流程。

Web paywall overview

网页付费墙的工作流程如下:

  1. 在网页付费墙编辑器中配置网页付费墙页面的外观与行为。
  2. 在付费墙设置中关联网页付费墙
  3. 在应用付费墙中,添加一个按钮,将用户跳转至浏览器。
  4. 用户点击按钮后,Adapty SDK 生成一个唯一的 URL,其中包含该用户的 Adapty 用户画像 ID。
  5. 用户进入网页付费墙页面,并通过外部支付方式完成订阅付款
  6. 用户返回应用后,Adapty SDK 轮询用户画像更新,以确认订阅已成功激活。
  7. Adapty 记录该购买行为,并持续监控订阅状态变化,例如续订或取消。

网址中的用户画像 ID 将网页购买与应用内用户关联起来。购买记录会直接落到您的应用已使用的用户画像上,因此无需为网页购买者调用 Adapty.identify()

步骤 1:创建网页付费墙

  1. 准备一个要使用的付费墙:
    • 如需为现有付费墙启用外部支付,请先复制它。这样你就可以向目标受众展示网页付费墙,同时向其他用户展示原始付费墙。
    • 如需从头开始,请创建一个新付费墙。
  2. 在付费墙页面,切换到 Web paywall 标签页,然后点击 Create web paywall。系统将跳转到一个新页面。
付费墙设置中的 Web paywall 标签页
  1. 设置网页付费墙并连接支付方式。
Tip

如需了解如何设置外部编辑器及连接支付提供商,请参阅快速入门指南

  1. 返回 Web paywall 页面,粘贴付费墙链接。
Important

在将付费墙发布到生产环境时,请确保使用发布网页付费墙后生成的正确链接。链接格式为 paywalls-....fnlfx.com

  1. 点击 Save
粘贴网页付费墙链接并保存

第二步:触发付费墙

要使用网页付费墙,您需要触发它,具体方式取决于您的配置:

  • 如果您使用的是流程与付费墙编辑工具,只需添加一个新按钮,该按钮将使用您提供的链接来追踪购买行为并将数据回传至 Adapty。
  • 如果您使用的是 SDK,则必须设置 openWebPaywall 方法来处理网页付费墙。

步骤 2a:添加网页购买按钮

如果您正在使用付费墙编辑工具,您需要添加一个网页付费墙按钮。该按钮将使用您提供的链接来追踪购买行为,并将数据发回 Adapty。

  1. 打开流程并添加一个按钮。

    如果您正在使用模板或现有付费墙,请在现有购买按钮旁边添加一个网页付费墙按钮。您可以用相同的方式对其进行配置。

  2. 在右侧的 Interactions 面板中,点击 Add trigger,然后为该触发器指定 Purchase 动作。

    on-tap-purchase.webp
  3. 在动作设置中,切换到 Web payment 标签页。在此处选择一个产品,以及可选的优惠,将其与网页购买按钮关联。

  4. 将网页付费墙链接粘贴到 Web paywall URL 字段中。

  5. 默认情况下,网页付费墙会在应用内浏览器中打开,用户无需离开您的应用。如果您希望在外部浏览器中打开,请选择 Open in external browser

web-payment-action.webp

步骤 2b:调用 SDK 方法

如果你使用的是自己开发的付费墙,需要通过 SDK 方法来处理网页付费墙。请参阅对应框架的指南:

第三步:配置版位

由于 App Store 仅在美国和日本允许使用外部支付方式,请为这些市场的 iOS 用户创建独立的市场细分,并配置版位,以便向不同市场细分展示不同的付费墙。对于 Android 用户,无地区限制——创建一个不含国家筛选条件的独立 Android 市场细分即可。

  1. 创建新的市场细分,设置以下属性:
    • Country from store account:United States、Japan
    • Platform:iOS and iPadOS
    • App version:使用 Adapty SDK 的最新版本。
Segment attributes for web paywall targeting
  1. 创建版位或编辑现有版位。添加新的目标受众,关联已创建的网页付费墙和市场细分。
Placement with web paywall audience

添加取消订阅漏斗

取消订阅漏斗是一个网页,订阅者可以通过它取消订阅。在取消操作正式生效之前,漏斗可以向用户提供暂停订阅、折扣套餐或免费使用期等选项。你可以在与网页付费墙相同的编辑器中构建漏斗,应用通过 URL 打开它。漏斗会直接通过你的支付服务商处理取消操作,因此应用无需调用任何取消订阅的 API。

要创建取消漏斗,请在 Web 付费墙编辑器中打开 Cancellation 标签页。留存操作仅适用于取消漏斗,因此无法将其添加到为 Web 付费墙服务的漏斗中。关于漏斗本身的配置,请参阅 FunnelFox 的取消漏斗指南

Web 付费墙编辑器中的 Cancellation 标签页

获取订阅者的 FunnelFox 用户画像 ID

取消漏斗通过 FunnelFox 用户画像 ID 来识别订阅者。完成网页订阅购买后,FunnelFox 会将该 ID 作为 fnlfx_profile_id 自定义属性写入 Adapty 用户画像,同时还会写入 fnlfx_funnel_idfnlfx_session_idvendor_profile_idvendor

FunnelFox 仅在首次网页订阅购买时写入这些属性,后续购买不会覆盖已有值。对于消耗型商品,只有当结账元素设置了自定义访问等级时,FunnelFox 才会写入这些属性。

您的应用从用户画像的 customAttributes 中读取 fnlfx_profile_id。要在 Adapty 中查看同一值,请打开 Profiles 并找到该用户的画像。

Note

Adapty 每个用户画像最多存储 30 个自定义属性。当画像已满时,Adapty 会直接丢弃多余的属性而不返回错误,且 FunnelFox 不会重新发送这些属性。如果您的应用本身也设置了自定义属性,请为 FunnelFox 的五个属性预留空间。

从应用中打开漏斗

应用本身负责拼接取消订阅 URL。这个 URL 不应填写在 Web paywall URL 字段中——该字段属于用于销售产品的付费墙,Adapty 会在其后附加 adapty_profile_id,而非 fpid

将已发布的取消漏斗 URL 与订阅者的 fnlfx_profile_id 拼接:

https://<your-project>.fnlfx.com/cancel?fpid=<fnlfx_profile_id>

按原始存储值传入该属性,无需添加任何前缀。当用户点击取消按钮时打开此 URL。

用户可以在任何时候关闭页面,包括在漏斗取消订阅之后。不要将用户返回应用视为确认操作。请获取用户画像以获取当前状态。已取消的订阅在付费周期结束前仍会保留其访问等级。