在 Unity SDK 中实现网页付费墙
开始之前,请确保您已在看板中配置了网页付费墙,并已安装 Adapty SDK 3.14 或更高版本。
打开网页付费墙
如果你使用的是自行开发的付费墙,则需要通过 SDK 方法来处理网页付费墙。Adapty.OpenWebPaywall 方法会执行以下操作:
- 生成一个唯一 URL,使 Adapty 能够将向特定用户展示的付费墙与其跳转到的网页关联起来。
- 追踪用户返回应用的时机,然后以短间隔轮询
Adapty.GetProfile,以判断用户画像的访问权限是否已更新。 这样,一旦支付成功并更新了访问权限,订阅几乎会立即在应用中激活。
Adapty.OpenWebPaywall(
product,
(error) =>
{
if (error != null)
{
Debug.LogError($"Failed to open web paywall: {error.Message}");
}
else
{
Debug.Log("Web paywall opened successfully");
}
}
);
OpenWebPaywall 方法有两个版本:
OpenWebPaywall(product)— 根据付费墙生成 URL,并将产品数据附加到 URL 中。OpenWebPaywall(paywall)— 根据付费墙生成 URL,但不附加产品数据。当 Adapty 付费墙中的产品与 Web 付费墙中的产品不同时,请使用此版本。
错误处理
| 错误代码 | 描述 | 建议操作 |
|---|---|---|
AdaptyErrorCode.WrongParam | 付费墙或产品未配置网页购买 URL,或在浏览器中打开 URL 失败 | 查看错误信息了解详情。在 Adapty 看板中检查付费墙/产品配置,或检查设备设置。 |
AdaptyErrorCode.DecodingFailed | 无法正确编码 URL 中的参数 | 验证 URL 参数是否有效且格式正确 |
查看错误的 Message 属性,以获取具体的错误详情。WrongParam 可能对应多种问题(缺少购买 URL、无法打开浏览器等)。
在应用内浏览器中打开网页付费墙
从 Adapty SDK v3.15 起,支持在应用内浏览器中打开网页付费墙。
默认情况下,网页付费墙会在外部浏览器中打开,这会将用户引导至应用之外。
为了提供流畅的用户体验,你可以改为在应用内浏览器中打开网页付费墙。这样一来,网页购买页面会直接在你的应用内展示,用户无需切换应用即可完成交易。
要启用此功能,请将 AdaptyWebPresentation.InAppBrowser 传入 OpenWebPaywall 方法:
Adapty.OpenWebPaywall(
product,
AdaptyWebPresentation.InAppBrowser, // default — ExternalBrowser
(error) =>
{
if (error != null)
{
Debug.LogError($"Failed to open web paywall: {error.Message}");
}
else
{
Debug.Log("Web paywall opened successfully");
}
}
);