在 Android SDK 中实现网页付费墙

Important

在开始之前,请确保您已在看板中配置了网页付费墙,并安装了 Adapty SDK 3.15 或更高版本。

打开网页付费墙

如果您使用的是自行开发的付费墙,则需要通过 SDK 方法来处理网页付费墙。.openWebPaywall 方法会:

  1. 生成一个唯一 URL,使 Adapty 能够将向特定用户展示的付费墙与其跳转到的网页关联起来。
  2. 追踪用户返回应用的时机,并以短时间间隔调用 .getProfile,以判断用户画像的访问等级是否已更新。

这样,如果支付成功且访问权限已更新,订阅几乎会立即在应用中激活。

Note

用户返回应用后,请刷新 UI 以反映用户画像的更新。Adapty 将接收并处理用户画像更新事件。

Adapty.openWebPaywall(
    activity = activity,
    product = product,
) { error ->
    if (error == null) {
        // the web paywall was opened successfully
    } else {
        // handle the error
    }
}
Note

openWebPaywall 方法有两个版本:

  1. openWebPaywall(product) 根据付费墙生成 URL,并将产品数据添加到 URL 中。
  2. openWebPaywall(paywall) 根据付费墙生成 URL,但不将产品数据添加到 URL 中。在 SDK v4 中,此方法接受 AdaptyFlowPaywall——即获取到的流程中的付费墙变体。请在索引之前确认 flow.paywalls 不为空,例如 flow.paywalls[0]

在应用内浏览器中打开网页付费墙

默认情况下,网页付费墙会在外部浏览器中打开。

为了给用户提供流畅的体验,你可以在应用内浏览器中打开网页付费墙。这样会将网页购买页面显示在应用内部,让用户无需切换应用即可完成交易。

要启用此功能,请将 presentation 参数设置为 AdaptyWebPresentation.InAppBrowser

Adapty.openWebPaywall(
    activity = activity,
    product = product,
    presentation = AdaptyWebPresentation.InAppBrowser,
) { error ->
    if (error == null) {
        // the web paywall was opened successfully
    } else {
        // handle the error
        val adaptyError = error
    }
}