在 Kotlin Multiplatform SDK 中实现 Web 付费墙
在开始之前,请确保您已在看板中配置了 Web 付费墙,并已安装 Adapty SDK 3.15 或更高版本。
打开 Web 付费墙
如果您使用的是自行开发的付费墙,则需要使用 SDK 方法来处理 Web 付费墙。openWebPaywall 方法会:
- 生成一个唯一 URL,使 Adapty 能够将向特定用户展示的付费墙与其被重定向到的网页关联起来。
- 追踪用户何时返回应用,然后以较短的时间间隔请求
getProfile,以判断用户画像的访问权限是否已更新。
这样,如果付款成功且访问权限已更新,订阅将几乎立即在应用中激活。
用户返回应用后,请刷新 UI 以反映用户画像的更新。Adapty 将接收并处理用户画像更新事件。
import com.adapty.kmp.Adapty
import kotlinx.coroutines.launch
viewModelScope.launch {
Adapty.openWebPaywall(product = product).onSuccess {
// the web paywall was opened successfully
}.onError { error ->
// handle the error
}
}
openWebPaywall 方法有两个版本:
openWebPaywall(product = product):按付费墙生成 URL,并将产品数据添加到 URL 中。openWebPaywall(paywall = paywall):按付费墙生成 URL,但不将产品数据添加到 URL 中。当您在 Adapty 付费墙中的产品与 Web 付费墙中的产品不同时,请使用此版本。
在应用内浏览器中打开 Web 付费墙
默认情况下,Web 付费墙会在外部浏览器中打开。
为了提供更流畅的用户体验,您可以在应用内浏览器中打开 Web 付费墙。这会在您的应用内显示 Web 购买页面,允许用户无需切换应用即可完成交易。
要启用此功能,请将 openIn 参数设置为 AdaptyWebPresentation.IN_APP_BROWSER:
import com.adapty.kmp.Adapty
import com.adapty.kmp.models.AdaptyWebPresentation
import kotlinx.coroutines.launch
viewModelScope.launch {
Adapty.openWebPaywall(
product = product,
openIn = AdaptyWebPresentation.IN_APP_BROWSER // default – EXTERNAL_BROWSER
).onSuccess {
// the web paywall was opened successfully
}.onError { error ->
// handle the error
}
}