我正在使用应用内购买。要查看用户是否购买了产品,我们需要连接到商店:
var listing = await CurrentApp.LoadListingInformationAsync();
然后检查值。但是我不想每次用户运行app都去问store,所以在本地购买成功后是否可以保存购买,之后只检查用户是否购买了产品(耐用品) .
这种方式会不会出现一些意想不到的场景?
我正在使用应用内购买。要查看用户是否购买了产品,我们需要连接到商店:
var listing = await CurrentApp.LoadListingInformationAsync();
然后检查值。但是我不想每次用户运行app都去问store,所以在本地购买成功后是否可以保存购买,之后只检查用户是否购买了产品(耐用品) .
这种方式会不会出现一些意想不到的场景?
作为一般规则,保存成功 IAP 购买的知识是安全的。
购买的是消耗品还是耐用品,这将影响您的应用程序应如何根据购买的知识来表现。
购买(“应用内”或其他)与帐户相关,而不是与设备相关,因此如果用户在多个设备上登录时所购买的商品会产生影响,那么您应该在应用程序逻辑中考虑这一点。
同样,您的应用程序的用户可能会获得新设备(维修、更换、升级等),并希望在他们的新设备上继续他们的应用程序体验而不会丢失任何东西。同样,您也应该在应用程序逻辑中考虑这一点。
如果这是一个 Windows 商店应用程序,如果我理解正确的话,Windows 8 和 Windows Phone 中内置了一个 Windows 服务。该服务每 6 小时左右刷新一次许可证,并在单击购买按钮时刷新。许可证同步到机器后,API 调用将发送到本地服务。因此,只要您只是检查许可证是否处于活动状态以及许可证是否是试用版,通常调用就不是问题。现在,如果您要获取有关产品价值等的信息,我相信这些信息是商店要求的,因此经常这样做可能是个问题。