测试iOS自动续订的宽限期



我在应用程序中实现了带有宽限期的自动更新订阅。我编写了在宽限期内提供订阅服务所需的所有逻辑代码,但我找不到任何方法在沙盒环境中测试宽限期。有没有人能帮我在沙盒环境中测试宽限期功能?

恐怕这在iOS上是不可能的:你必须直接在生产环境中进行测试!

如果你开始在Google Play Store上实施应用内订阅,你将可以测试宽限期,因为你可以将你的支付方式更改为"测试卡,总是拒绝"。

在App Store Connect中启用计费宽限期并不会改变宽限期对应的截止日期。但是,如果苹果能在宽限期内恢复订阅,就可以避免收入损失。请看这张图(解释没有宽限期的续费行为)和这张图(解释有宽限期的续费行为)。不同之处在于,当苹果可以在宽限期内更新订阅时,计费日期不会改变,因此你不会损失收入。源

由于宽限期不会改变到期日期,因此您有责任确保用户在订阅到期后(当您启用宽限期选项时)可以访问付费内容:

您需要更新您的授权逻辑,以确保您在宽限期内为客户提供服务

来源记住这一点,可以测试宽限期=>在订阅到期后授予对内容的访问权限。不幸的是,如果没有服务器,您就无法访问告诉您宽限期何时结束的字段。因此,你必须"计算"一下。根据用户的订阅持续时间自行设置。请参阅此表,其中显示了每个订阅期的宽限期长度。

配置沙箱环境以模拟计费问题

在运行iOS 16或iPadOS 16或更高版本的测试设备上执行以下步骤:

  1. 使用Sandbox Apple ID登录到App Store。
  2. 选择设置>App Store>沙盒账户>管理比;帐户设置。禁用允许购买&更新设置。
  3. 禁用此设置会导致应用内购买失败,并且自动更新订阅不会在沙箱环境中更新。

注意

此设置适用于沙箱Apple ID登录的所有设备,以及属于该帐户的所有活动自动更新订阅。此设置一直保持禁用状态,直到您重新启用它。重新启用它以模拟客户解决帐单问题。

最新更新