我知道恢复功能并且之前在我的应用程序中实现过它,但它仍然存在漏洞。 我正在尝试根据用户拥有的应用程序显示自定义屏幕。在没有用户交互的情况下,我希望能够让苹果为我检索属于该用户的应用内购买吗? 其他帖子提到我应该始终通过调用方法来跟踪它:
NSUserDefaults.StandardUserDefaults.BoolForKey
但同时又认为它不安全。 我目前将信息存储在数据库中。这很简单,但请考虑以下场景:
- 用户下载应用。我的数据库记录该用户有 0 次应用内购买。用户随后购买了 1 次应用内购买。我的数据库也记录了这一点。
- 用户出于任何原因删除了该应用
- 过了一会儿,他重新下载了该应用程序。此时我的数据库重新开始并记录用户 0 购买。
- 用户看到应用内购买(他已经购买)并再次点击购买。
- 在这里,我的执行流程停止了,apple 接了... Apple 提醒用户他已经购买了应用程序内并免费提供。
该消息仅供用户使用,我的应用对此一无所知。我没能找到打给苹果的电话,询问用户为我的应用购买了哪些商品?我也不希望用户再次付款,但能够始终知道他过去在任何给定时间点进行了哪些购买。为什么这些信息在苹果方面如此密封?他们已经知道用户可能有应用程序,而我只是询问该应用程序中的应用程序内购买。
我正在使用 Xamarin。
最佳答案
您需要刷新收据文件,然后扫描它。它将列出用户在该应用程序中进行的所有购买,无论它是在什么设备上。此代码可让您解析文件并查看已购买的商品:https://github.com/rmaddy/VerifyStoreReceiptiOS
关于ios - Apple 可以告诉我用户购买了什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28917587/