从 iPhone 上的应用内购买交易获取客户信息
Apple 在 iPhone 开发中心的介绍 Store Kit视频中明确指出,我们应该:
“保留 TransactionID 的副本以及客户” 您的服务器中的信息 云。这样如果客户 错误地删除了您的应用程序, 你有一个恢复机制。你 可以在第一次启动时检查您的服务器 您的应用程序的记录 为特定客户购买商品以及 使该应用程序恢复到其状态 在被删除之前。相信我你的 客户将会感激不尽!”
太棒了!现在,我还没有使用过应用内购买,但正在查看 在应用程序购买编程指南中,尚不清楚 Store Kit 如何或何时向应用程序提供任何“客户信息”。所以,我的猜测是我们需要麻烦我们的客户获取这些信息,无论我们是否使用应用内购买,因为 Apple 不允许我们访问其地址簿中包含这些有价值信息的 vCard,
我的假设正确吗?为了能够在应用程序内购买后从应用程序删除中恢复,我们需要从每个用户那里获取某种类型的唯一信息,以便在每次购买期间登录我们的服务器
编辑:我们会考虑具有应用内购买功能的内置产品模型。
Apple clearly states in their Introducing Store Kit video in the iPhone Dev Center that we should:
"Keep a copy of the TransactionID along with the Customer
Information in your server in the
cloud. This way if the customer
mistakenly deletes your application,
you have a mechanism for recovery. You
can check your server on first launch
of your app for a record of the
purchases for a given customer and
bring that app back to its state
before it was deleted. Believe me your
customers will be thankful!"
Great! Now, I haven't worked with In App Purchasing yet but in looking over the In App Purchase Programming Guide it's not apparent how or when Store Kit makes available any "Customer Information" to the app. So, my guess is we need to trouble our customers for this information, regardless of whether we use In App Purchasing or not, given that Apple doesn't give us any access to the vCard in their Address Book that contains this valuable information.
Are my assumptions correct? In order to be able to restore from the deletion of an app after an In App purchase we'd need to get some type of unique info from each user to log on our servers during each purchase?
Edit: We would be considering the Built-In Product Model with In App Purchases.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于订阅和消费品来说,这是正确的。用户名/密码组合或使用 UDID。当然,如果您使用 UDID,则它仅适用于该一台设备。
对于非消耗性产品,您可以使用restoreCompletedTransactions方法。
For subscriptions and consumable products, that is correct. Username/password combination or use UDID. Of course, if you use UDID, it will only work for that one device.
For non-consumable products, you can use the restoreCompletedTransactions method.