在生产中,设备上始终有收据.在第一次安装后的测试中没有.因此,如果您想要进行正确的测试,即使在测试环境中该用户不存在购买,您也必须恢复购买.这是为什么?从appstore下载的应用程序即使是免费的,也会随附收据.
取决于您要应用的业务逻辑.如果您在每次使用启动应用程序时验证服务器的收据,当然您需要收据.如果它不存在(但在生产中总是)或无效,你可以要求刷新或恢复,但据我记得你应该总是先问用户他/她是否想这样做(可以是拒绝的理由).恢复和刷新不是一回事.
这通常出现在购买/恢复/刷新中.但是如果该帐户有一些待处理请求,因为应用程序已崩溃或您在请求结束之前以某种方式中断了调试,您将会厌烦很多.没有办法以编程方式刷新它们,只需登录直到它们停止.当然,这不是一个有效的测试.
这取决于您和购买的类型.如果是可自动更新的订阅,您可以针对服务器验证收据,然后将"结束日期"存储在客户端上,并在日期过期后再次进行检查.注意收据可能很大,因为它也具有所有历史价值.