5
4

1 回答 1

4

对于启用附加内容的购买,Apple 建议使用基于服务器的收据验证设置,如下所述:

http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/APIOverview/OverviewoftheStoreKitAPI.html#//apple_ref/doc/uid/TP40008267-CH100-SW12

“Apple 建议您从服务器中检索产品标识符,而不是将它们包含在属性列表中。这使您可以灵活地添加新产品而无需更新您的应用程序。

在服务器模型中,您的应用程序检索与交易关联的签名收据并将其发送到您的服务器。然后,您的服务器可以验证收据并对其进行解码,以确定将哪些内容交付给您的应用程序。“验证商店收据”中详细介绍了此过程。</p>

服务器模型有额外的安全性和可靠性问题。您应该测试整个环境的安全威胁。安全编码指南提供了额外的建议。

尽管可以使用 Store Kit 的内置功能恢复非消耗性产品,但非续订订阅必须由您的服务器恢复。您有责任记录有关非续订订阅的信息并将其恢复给用户。或者,您的服务器也可以跟踪消耗品。例如,如果您的消费品是您的服务器提供的服务,您可能希望用户在多个设备上检索该请求的结果。”

您可以为用户创建一个 UUID 并将其存储在应用程序的首选项中。这样做的好处是,当用户备份或恢复他们的设备时,uuid 会被备份。如果它是一个通用应用程序,它也可以很容易地在 iCloud 上同步。然后,服务器可以将该 UUID 链接到所进行的购买并交付该用户购买的内容。您可能希望包含额外的安全协议以减少不道德用户的任何 UUID 欺骗,但除非内容非常有价值,否则恕我直言,这通常比值得付出更多的努力。

于 2013-06-14T18:16:18.850 回答