【问题标题】:What's wrong to receipt validation flow with SKReceiptRefreshRequest使用 SKReceiptRefreshRequest 收据验证流程有什么问题
【发布时间】:2019-10-11 18:11:12
【问题描述】:

我们对应用中的 IAP(自动续订订阅)集成使用服务器端收据验证。我们希望用户首先以入门价格订阅。

用户点击特殊横幅“获取高级版”,在应用显示订阅选项窗口之前,我们会检查用户是否有资格获得介绍性优惠,即:

  1. 验证收据是否显示在应用程序上
  2. 如果不是,我们使用SKReceiptRefreshRequest方法加载收据
  3. 如果是 SandBox 环境,则会触发 iTunes Auth 对话
  4. 用户通过身份验证后,继续服务器上的验证流程,否则显示错误“请登录 iTunes 以继续”

我们的期望:

Apple 审核团队应在 iTunes 身份验证对话框中提供密码并进行身份验证以继续测试。

问题:

Apple 审核团队取消 iTunes Auth 对话,从我们的应用程序中收到错误并拒绝我们的应用程序报告“指南 2.1 - 性能 - 应用程序完整性”。

解决中心内的建议:

在您的服务器上验证收据时,您的服务器需要能够处理从 Apple 测试环境获取其收据的生产签名应用。推荐的方法是让您的生产服务器始终首先根据生产 App Store 验证收据。如果验证失败并显示错误代码“生产中使用沙盒收据”,则应改为针对测试环境进行验证。

我们参考的相关资源:

After I install the development app with Xcode, the appStoreReceiptURL is nil. What is the proper way to handle this situation?

我们一直在努力解决这个问题,多次被拒绝。我们遵循了参考资料、官方指南和解决中心中提到的所有建议,但不知道这些拒绝的原因。感谢所有帮助。

【问题讨论】:

    标签: ios in-app-purchase in-app-subscription


    【解决方案1】:

    我们也被审核团队拒绝了,因为当我们的应用使用SKReceiptRefreshRequest 检查收据时,他们取消了登录提示。

    我们能够通过创建一个测试 Apple ID 帐户并将其作为提交的一部分提供,以便审核团队使用它登录来通过审核。测试帐户应该已经被邀请加入 Testflight,或者是一个沙盒帐户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多