【发布时间】:2019-10-11 18:11:12
【问题描述】:
我们对应用中的 IAP(自动续订订阅)集成使用服务器端收据验证。我们希望用户首先以入门价格订阅。
用户点击特殊横幅“获取高级版”,在应用显示订阅选项窗口之前,我们会检查用户是否有资格获得介绍性优惠,即:
- 验证收据是否显示在应用程序上
- 如果不是,我们使用
SKReceiptRefreshRequest方法加载收据 - 如果是 SandBox 环境,则会触发 iTunes Auth 对话
- 用户通过身份验证后,继续服务器上的验证流程,否则显示错误“请登录 iTunes 以继续”
我们的期望:
Apple 审核团队应在 iTunes 身份验证对话框中提供密码并进行身份验证以继续测试。
问题:
Apple 审核团队取消 iTunes Auth 对话,从我们的应用程序中收到错误并拒绝我们的应用程序报告“指南 2.1 - 性能 - 应用程序完整性”。
解决中心内的建议:
在您的服务器上验证收据时,您的服务器需要能够处理从 Apple 测试环境获取其收据的生产签名应用。推荐的方法是让您的生产服务器始终首先根据生产 App Store 验证收据。如果验证失败并显示错误代码“生产中使用沙盒收据”,则应改为针对测试环境进行验证。
我们参考的相关资源:
我们一直在努力解决这个问题,多次被拒绝。我们遵循了参考资料、官方指南和解决中心中提到的所有建议,但不知道这些拒绝的原因。感谢所有帮助。
【问题讨论】:
标签: ios in-app-purchase in-app-subscription