在 Android SDK 中进行移动应用内购

在移动应用中展示付费墙是向用户提供高级内容或服务访问权限的重要步骤。不过,只有在 Adapty 负责渲染界面时——即使用流程旧版付费墙编辑工具构建的付费墙——展示付费墙才能独立完成购买。

如果你在自己的代码中渲染界面,则需要调用一个名为 .makePurchase() 的独立方法来完成购买并解锁所需内容。该方法是用户与付费墙交互并完成目标交易的核心入口。

如果你的付费墙针对用户正在购买的产品设置了有效的促销活动,Adapty 会在购买时自动应用该优惠。

Warning

请注意,只有在 Adapty 渲染页面时,新用户优惠才会被自动应用。

在其他情况下,您需要验证用户是否符合 iOS 上新用户优惠的资格。跳过此步骤可能导致您的应用在发布审核时被拒绝,还可能对符合新用户优惠资格的用户收取全价。

请确保您已完成初始配置,不要跳过任何步骤。没有完成配置,我们将无法验证购买。

发起购买

Note

Adapty 是否负责渲染您的界面? 对于流程付费墙编辑工具付费墙,购买流程会自动处理——您可以跳过此步骤。

需要分步骤的操作指引? 请查阅快速入门指南,其中提供了包含完整上下文的端到端实现说明。

请求参数:

参数必要性描述
Product必填从付费墙中获取的 AdaptyPaywallProduct 对象。

响应参数:

参数描述
Profile

如果请求成功,响应将包含此对象。AdaptyProfile 对象提供了关于用户访问等级、订阅及应用内非订阅购买的全面信息。

请检查访问等级状态,以确认用户是否拥有访问应用所需的权限。

Warning

注意: 如果你使用的 Apple StoreKit 版本低于 v2.0,且 Adapty SDK 版本低于 v2.9.0,则需要提供 Apple App Store 共享密钥。此方法目前已被 Apple 弃用。

购买时更改订阅

当用户选择新订阅而不是续订当前订阅时,具体行为取决于应用商店。对于 Google Play,订阅不会自动更新。您需要按照以下说明在移动应用代码中管理切换操作。

要在 Android 中将订阅替换为另一个订阅,请使用附加参数调用 .makePurchase() 方法:

Warning

仅在用户从同一 Google 账号下已激活的订阅进行切换时,才传入 subscriptionUpdateParams。若是全新购买,请在调用 makePurchase 时不要传该参数——传入此参数会导致购买失败,并抛出 CURRENT_SUBSCRIPTION_TO_UPDATE_NOT_FOUND_IN_HISTORY 错误,该错误信息具有误导性,会指向非活跃订阅或其他 Google 账号。

您可以在 Google 开发者文档中了解更多关于订阅和替换模式的内容:

管理预付费套餐

如果您的应用用户可以购买预付费套餐(例如,购买数月的非续订订阅),您可以为预付费套餐启用待处理交易