在用户账户之间共享付费访问权限

当用户完成购买后,Adapty 会为其当前的用户画像分配新的访问等级,该等级授权购买者访问付费内容。

如果用户重新安装应用或登录新的应用内账号,买家的用户画像可能会发生变化。为确保访问不中断,Adapty 会自动在原始用户画像与后续用户画像之间共享用户的访问等级。

这种方式适用于大多数应用。但如果您的业务逻辑有特殊需求,也可以选择限制性更强的付费访问共享策略。 打开 General Settings 页面,设置访问等级共享策略。为方便测试,你可以仅针对沙盒环境更改此设置。

如果你的应用不需要用户登录,可以忽略此设置。关联到同一应用商店账户的匿名用户画像始终共享其访问等级。

应该选择哪种访问共享策略?(点击展开)
我的应用……最佳选项
没有身份验证功能,仅使用 Adapty 的匿名用户画像 ID。使用 Enabled (default) 设置。
可以对用户进行身份验证,但允许用户在没有账户的情况下进行购买。启用 Transfer access to new user 设置。用户将能够注册并认领匿名购买记录。
要求用户在购买前创建账户,但可以将单个产品关联到多个 Customer User ID。启用 Transfer access to new user 设置。多个账户将能够依次访问该产品。
要求用户在购买前创建账户,并严格规定购买记录只能绑定到单个 Customer User ID。禁用访问等级共享。
sharing-paid-access.webp

已启用(默认)

此设置最适合没有内置身份验证的应用程序。购买完成后,与同一应用商店账户关联的所有用户画像将自动继承该访问等级。

  • 如果用户使用新的凭证登录您的应用,他们仍可访问已购内容。
  • 如果用户在恢复出厂设置后重新安装应用,他们仍可访问已购内容。
  • 如果用户使用相同的应用商店账号在其他设备上安装该应用,购买内容将在所有设备上可用。即使每个应用实例拥有各自独立的客户用户画像。

将访问权限转移给新用户

此设置最适合允许有无账号均可购买的应用,或希望强制执行每位用户仅限一台设备策略的应用。

Adapty 每次限制一个客户 ID 持有购买访问权限。设备所有者可以重新安装应用、登录或退出账号,但无法同时从多个客户 ID 访问同一产品。 启用此设置后,匿名用户画像(例如,用户登出后激活的用户画像)始终继承上一个活跃 customer ID 的访问等级。这样可以防止用户之后失去访问权限。

当你关闭默认设置并启用 Transfer access to new user 后,Adapty 不会立即更新现有 customer 用户画像的访问等级。

切换操作会在用户触发新的商店事件时发生:例如,续订订阅或恢复购买。

只有当 SDK 传播交易时新用户画像已设置 Customer User ID,Adapty 才会撤销旧用户画像。如果 restorePurchases 在匿名用户画像上运行,旧的 Customer User ID 和新的匿名用户画像都会获得访问等级。旧用户画像会在您识别该匿名用户画像后才被撤销。

为避免此问题,请按顺序调用 SDK 方法:activateidentifyrestorePurchases

禁用付费访问共享

此设置仅适用于具有强制身份验证或独立访问管理实现的应用程序。在其他情况下,用户可能无法访问其已购买的内容,您的应用程序将面临无法通过商店强制审核的风险。 如果您禁用付费访问共享,Adapty 会将产品绑定到购买时处于活跃状态的客户 ID,且不会与任何其他用户画像共享该访问等级。此策略实现了严格的一对一产品分配。

禁用付费访问共享后,客户 ID 将无法继承付费访问权限。如果某个客户 ID 过去已继承了付费访问权限,则无法自动撤销。

在紧急情况下,您可能需要删除用户画像,以便下一个可用的用户画像(无论是已识别的还是匿名的)能够获得其访问等级。

实用参考

选定合并模式后,以下规则说明了你可以期望的结果:哪些用户画像能看到该访问等级、旧用户画像何时失去访问权限,以及会触发哪些 webhook 事件。

模式多个用户画像共享同一次购买?转移时吊销旧用户画像?何时吊销旧用户画像第二个用户画像认领订阅时触发的 Webhook 事件
已启用(默认)是——每个通过恢复购买或登录的用户画像均可继承访问等级从不不适用每个继承访问权限的新用户画像均触发 access_level_updatedis_active=true
将访问权限转移给新用户否——独占,但可在用户画像之间转移新的已识别设备传播该交易时立即吊销(restorePurchases、identify 或下一次商店侧事件)新用户画像:access_level_updatedis_active=true)。旧用户画像:access_level_updatedis_active=false
已禁用否——每次购买永久绑定唯一一个 Customer User ID不适用——访问权限永不转移不适用第二个用户画像不触发任何事件。SDK 对该用户画像不显示任何访问权限

在沙盒环境中共享付费访问权限

您可以专门为沙盒环境设置共享付费访问权限策略。在沙盒环境中测试购买时,请注意以下行为:

  • Apple 会将您过去的购买记录存储在账户的购买历史中,Adapty SDK 也可以访问这些记录。
  • 如果您重新安装应用,Adapty 检测到该产品已被购买,当前用户画像将继承相应的访问等级。
  • 如果 Apple 检测到该产品已有购买记录,即使当前用户画像没有所需的访问等级,也不会允许您重复购买同一产品。 此行为与您的共享付费权限设置无关。如果您的应用未显示付费墙,您就无法购买该产品。唯一的解决方案是清除您账号的购买记录。请参阅沙盒测试指南获取详细说明。

沙盒环境中的 Apple 订阅每隔几分钟就会自动续订。这种快速续订可能导致 Adapty 识别的父级用户画像发生切换——这种链式模式在正式环境中很少出现。请在与生产环境一致的模式下进行测试,并在得出结论之前,使用真实 Apple ID 验证实际行为。

  • Adapty 按实际发生的交易进行记录。单笔交易可能关联多个用户画像,但不会被重复计算。
  • 如果两个或多个用户画像共享同一访问等级,该购买将归因于父级用户画像
  • 访问等级的继承不影响安装量统计。如需了解 Adapty 如何统计安装量,可在设置页面选择两种可用的安装定义之一。