In App Purchase 订阅在测试/试飞中对我有用,但不适用于 App Review 团队
Posted
技术标签:
【中文标题】In App Purchase 订阅在测试/试飞中对我有用,但不适用于 App Review 团队【英文标题】:In App Purchase subscriptions work for me in testing / Test Flight, but not for App Review team 【发布时间】:2020-08-27 03:51:37 【问题描述】:我正在处理一个非常令人沮丧的应用程序拒绝。 Apple 曾两次根据Guideline 2.1 - Performance - App Completeness 拒绝我的应用程序。他们说应用内购买(自动续订订阅)在购买后不会解锁高级内容。
我已在 3 台设备和 3 个不同的 TestFlight 帐户上彻底测试了此 IAP。所有测试都完美无缺。我无法重现 Apple App 审核团队遇到的问题。
我的另一个应用程序也使用了相同的 IAP 帮助程序/收据验证,该应用程序在 App Store 上运行了一年多。
我已确保所有产品标识符都匹配。 我重新生成了订阅密钥。有什么我可能忽略的吗? 是什么导致 IAP 无法解锁仅适用于 App 审核者的内容,而不是我的 6 款经过测试且运行完美的独特设备中的任何一款。
【问题讨论】:
有没有考虑sandbox
和production
模式?
@DuyNguyen - 是的。在我的收据验证中,我处理状态 21007,它涵盖沙盒到生产
Apple 正在审查的版本指向生产,对吗?
@DuyNguyen - 是的。它指向生产
【参考方案1】:
这个问题已经解决了!我的应用在应用内订阅的收据验证中使用了expires_date
。事实证明,expires_date
在某些设备配置(设备/ios/语言环境)中容易出错。因此,购买已成功完成,但由于过期日期配置错误,高级内容仍处于锁定状态。
解决方案是使用expires_date_ms
而不是expires_date
。 Apple 的文档中甚至都没有记录 expires_date 的内容。
见:https://developer.apple.com/documentation/appstorereceipts/expires_date_ms
希望这可以帮助任何遇到应用内购买订阅无法解锁内容的问题!
【讨论】:
以上是关于In App Purchase 订阅在测试/试飞中对我有用,但不适用于 App Review 团队的主要内容,如果未能解决你的问题,请参考以下文章
iOS In App Purchase仅在App评论中崩溃 - 在沙盒测试中找到作品
如何在 Flutter 中首次购买 In-App Purchases 订阅?
我被迫使用Apple In-App Purchase API
Flutter In-App-Purchase,每次重启应用如何查看是不是已购买?
iPhone In-App Purchase Store Kit 错误 -1003“无法连接到 iTunes Store”