我正在构建一个提供应用内购买的 Windows 应用商店应用。从可用的文档中我不明白这如何与多个安装或设备一起工作。我希望我的用户能够在不同设备上使用多个安装的 IAP(购买一次,在任何设备上使用)。
以下是使用收据验证购买的摘录:
在某些情况下,您可能需要验证用户是否购买了您的应用,或者是否购买了应用内内容。例如,想象一个提供下载内容的游戏。如果购买游戏内容的用户想要在不同的 Windows 8 设备上玩游戏,您需要验证用户是否已经拥有该内容。
并且还可以保护您的 Windows 应用商店应用程序免遭未经授权的使用:
为防止用户采用此策略非法使用您的应用程序,我们提供了收据功能,可让您验证用户对您的应用程序和服务的访问权限。您的应用能够获得通过 Windows 应用商店进行的任何与应用相关的交易的签名收据,例如应用的初始购买和任何应用内购买。然后,您的应用可以使用此信息来确定该用户可以访问哪些服务或功能。[...] 每个收据元素的 ID 对于每个用户(和设备)都是唯一的,您可以在服务器上对其进行验证,以确认该交易对该用户而言是合法的,而不是欺诈性交易。当您的应用程序有自己的身份验证机制时,这尤其有价值,因为它允许您验证似乎购买了您的应用程序的每个用户实际上是
我的问题是:
- 什么时候需要有一个后端来存储收据?
- 我何时检查后端的收据(应用程序启动时)?
- 每个设备的收据都是唯一的。这对多个设备有何帮助?如果我的用户购买了一次,我希望我的用户能够在多个设备上使用 IAP。
- 如果收据用于验证合法交易,这是否意味着
CurrentApp
组件提供的信息可能不是真实的,而是受到黑客攻击?如果是这样,我为什么要首先信任原始收据?