因此,我使用RevenueCat的SDK在我的iOS应用程序上实现了自动续订订阅。
引自他们的网站https://medium.com/revenuecat-blog/getting-through-app-review-39ac50438c62
沙盒与生产验证环境的不当使用开发人员在提交使用Apple的/verifyReceipt端点的应用时经常会遇到问题。有时开发人员会将其应用的发布版本或后端配置为仅指向生产IAP环境。这样做在App Review中会失败,因为审阅者使用沙盒环境进行测试。RevenueCat使这成为一个问题。
通过Xcode "run"和TestFlight发布,一切都在沙箱上测试得很好,但显然当应用程序评审员尝试时失败了。
我们发现您的应用内购买商品在运行iOS 13.5.1的iPhone上进行评测时显示出一个或多个漏洞。
具体而言,当我们尝试购买您的订阅时,您的应用会显示错误消息。
后续步骤
在服务器上验证收据时,服务器需要能够处理从Apple的测试环境获取收据的生产签名应用。建议生产服务器始终先根据生产应用商店验证收据。如果验证失败并显示错误代码"生产中使用的沙箱收据",则应改为根据测试环境验证。
有人有过这样的经历吗?我刚刚又看了一遍revenuecat的文档,我的代码看起来很正常。谢谢
2条答案
按热度按时间hm2xizp91#
了解拒绝原因
在购买流程中,通常有三个地方会导致大多数App Store拒绝:
1.获取产品时出现问题
1.购买过程中出错
1.购买后内容未解锁
通常情况下,审阅者会附上一张屏幕截图,说明他们遇到的问题。这有助于你找到应用中的问题所在。始终尝试首先在本地构建或测试飞行中重现问题。RevenueCat在你的环境和审阅者中的行为方式相同,因此,如果你的集成出现任何问题,它应该能够重现。
获取产品时出现问题
通常情况下,购买功能在Sandbox和Testflight中运行良好,但App Store评测将无法获取产品。请务必确保您将产品包含在应用中以供评测。如果应用尚未获得App Store的批准,则应用内购买产品必须与您的首次应用评测一起提交。
不要忘记在应用的第一版中提交包含应用内购买的产品
如果你已经发布了包含应用内购买功能的应用版本,你可以在App Store Connect中创建新产品,而无需发布应用更新。你必须提交新产品以供审核,而不需要提交新应用版本,并且这些产品必须处于“已批准”状态,然后才能购买。
如果您在Testflight或本地构建中获取产品时遇到困难,这里有一篇关于the most common reasons this occurs的好文章。
购买过程中出错
如果在使用RevenueCat进行购买的过程中发生错误,则该错误将是Error Handling guide here中列出的错误之一。了解触发拒绝的错误是确保问题得到解决的唯一方法。
如果审核者提供了错误弹出窗口的截图,请使用该截图来帮助跟踪问题。RevenueCat本身不会显示面向用户的弹出窗口或错误消息,因此请查看您的应用,找到触发警报的代码,并反向查找以确定错误消息。
“无法连接到iTunes Store”
这实际上是苹果用于所有SKErrors的通用错误信息,而不是来自RevenueCat的错误信息。请参阅他们的guide on Error Handling了解更多信息。
STORE_PROBLEM -“应用程序商店出现问题”
这是RevenueCat中最常见的错误,可能导致无法解释的App Store拒绝。不幸的是,当Apple的沙盒环境关闭,无法验证购买时,就会发生此错误。此时最好的操作通常是重新提交二进制文件或尝试向审阅者解释情况。
沙盒中不时会出现频繁的短暂中断,但偶尔也会出现can last for days at a time中断。
购买后内容未解锁
即使在购买过程中没有问题,但内容在购买后未解锁,你的应用也可能被拒绝。你应该能够在测试环境中重现此问题。
购买后仔细检查您是否处于checking the subscription status correctly状态。
其他提示
评审员提供了“后续步骤”
通常情况下,评审员会向您提供解决拒绝的“后续步骤”,就像他们在这里所做的那样。这些通常对准确定位任何购买问题没有最大帮助。
如果你使用的是RevenueCat,沙箱和生产购买会自动处理,所以即使评论者向你提供了这个原因,它也是不正确的。
应用程序拒绝太糟糕了:(
jq6vz3qz2#
我试着重新提交了至少12次,评论者不断回来说这对他们不起作用,他们给了一些截图。
检查
RevenueCat
和AppStoreConnect
之间的所有keys
是否都已设置,并反映了您可能生成的最新密钥。这听起来很傻,但很容易犯错误。在更正了我的密钥后(我不知何故错过了设置我的收入猫,ASC的秘密密钥-哎呀),苹果仍然拒绝了我,但这一次是为了一些
Missing receipt
。经过一些研究,似乎这个问题通常是在苹果一边,当他们的沙箱关闭。Record a video
您正在进行应用内购买with a testflight build
,并回复来自评论者的拒绝消息,向他们显示该应用适合您,询问他们是否可以在他们这边进行检查,因为您这边的一切都按预期运行。That's it. This is the magic step.
我需要说的是,我已经向多个评论者解释了它在开发和试飞中对我很有效,但它没有帮助。
祝你好运,相信我,视频证明工作!