1 回答
对于启用附加内容的购买,Apple 建议使用基于服务器的收据验证设置,如下所述:
“Apple 建议您从服务器中检索产品标识符,而不是将它们包含在属性列表中。这使您可以灵活地添加新产品而无需更新您的应用程序。
在服务器模型中,您的应用程序检索与交易关联的签名收据并将其发送到您的服务器。然后,您的服务器可以验证收据并对其进行解码,以确定将哪些内容交付给您的应用程序。“验证商店收据”中详细介绍了此过程。</p>
服务器模型有额外的安全性和可靠性问题。您应该测试整个环境的安全威胁。安全编码指南提供了额外的建议。
尽管可以使用 Store Kit 的内置功能恢复非消耗性产品,但非续订订阅必须由您的服务器恢复。您有责任记录有关非续订订阅的信息并将其恢复给用户。或者,您的服务器也可以跟踪消耗品。例如,如果您的消费品是您的服务器提供的服务,您可能希望用户在多个设备上检索该请求的结果。”
您可以为用户创建一个 UUID 并将其存储在应用程序的首选项中。这样做的好处是,当用户备份或恢复他们的设备时,uuid 会被备份。如果它是一个通用应用程序,它也可以很容易地在 iCloud 上同步。然后,服务器可以将该 UUID 链接到所进行的购买并交付该用户购买的内容。您可能希望包含额外的安全协议以减少不道德用户的任何 UUID 欺骗,但除非内容非常有价值,否则恕我直言,这通常比值得付出更多的努力。