托管内容时,应用内购买流程的标准是:
这很好。 想象一下,我们想要恢复所有购买的内容,这是因为我们删除并重新安装了我们的应用程序,或者仅仅因为我们将其安装在另一台设备中。现在,WWDC 2012会议就此主题确认了这一点,当您恢复所有购买时,您将获得要恢复的完整内容列表,但可能您不想下载所有这些内容。在这种情况下,您应该为用户提供下载哪个内容的选择,然后将所选产品的SKDownload排队;一旦下载终止并且内容安装成功,您就可以声明事务已完成。 会话视频没有说明的是您应该对拒绝或延迟下载做什么。据我所知,没有办法在某处保存SKDownload并在以后检索它,并且没有API可以向iTunes询问这样的事情“给我这个已购买产品的SKDownload”。 因此,根据我的说法,有两种方法可以解决这种情况:
其他人是否遇到过此问题并找到了更好的解决方案?用Apple打开增强请求是否有意义?
答案 0 :(得分:1)
我总是按照您的建议去做,只是“重新购买”所购买的商品,以便通过正常的购买流程。在完成下载之前,您无法将交易标记为已完成。因此,如果您暂停它并且应用程序在您的应用再次启动时死亡,则队列将关闭并尝试完成购买,这将再次启动您的下载逻辑。当我打开应用程序完成购买时,用户不断弹出这个东西,这似乎更令人讨厌。
SKDownload文档说;
您的应用永远不会直接创建SKDownload对象。相反,在处理完付款后,您的应用会读取事务对象的downloads属性,以检索与该事务关联的SKDownload对象数组。