4

这是我第一次集成应用内购买。我一切正常:我可以购买我想要的物品,也可以使用restoreCompletedTransactions.

每次我打电话restoreCompletedTransactions()时,我都会被要求输入用户名和密码。

这是因为我处于沙盒模式,还是一旦上线也会发生这种情况?如何查看用户之前是否购买过?(我知道我可以将它保存在用户设置中,但是最好通过轮询 Apple 服务器来检查它是否被购买,而无需用户输入用户名和密码)。

其他人如何处理这个问题?因为您肯定想知道他们是否退款。

4

1 回答 1

3

引用Apple 文章说明如何“不”执行此操作:

恢复购买会提示用户的 App Store 凭据,这会中断您的应用程序的流程:因此,不要自动恢复购买,尤其是每次启动您的应用程序时。

最好的方法是使用收据。

一般步骤如下:

1)您的应用程序通常会在首次使用时要求付款

2)一旦客户支付(或订阅),然后

3)您的应用应从 AppStore 下载收据,然后将私钥和证书详细信息的副本存储到您的服务器(或云,如果它是不可更新订阅)

4) 您的服务器应通过 AppStore 验证该收据。

5) 可选:然后您的服务器可以查询最后一个收据以确保用户的订阅始终是最新的。

6)一旦您的服务器满意,然后让应用程序知道现在可以解锁内容等。

换句话说,使用收据来验证而不是继续检索已完成的交易,否则每次需要启动您的应用程序时都会不断询问他们的 iTunes 密码,这会让您的客户失望。

欲了解更多信息,请观看此苹果视频

我希望这有帮助

问候

海德

于 2016-11-05T06:52:46.447 回答