我正在使用 Google Play 计费库,并且阅读了有关在服务器上验证购买以及如何查询购买的文档和所有问题。
但是,有些点仍然不清楚,我在这里找不到答案。
要在用户下次启动应用程序时检索购买,文档说我们应该使用BillingClient.queryPurchases()
它,它说明了从此方法获得的列表:
只要应用内产品在此列表中,用户就应该有权访问它。
我从中了解到的是,仅 queryPurchases() 就可以保证用户确实购买了该商品,并且他必须能够访问它。
这是真的?
- 如果是,那么为什么我们不只是在用户购买后立即使用此方法作为验证,而不是在服务器上验证呢?
- 如果否,如果我不想在他每次启动应用程序时在我的服务器上验证他的购买,我如何为用户提供访问权限?
- 如果我在第一次验证后将购买保存在本地数据库中,并在应用程序启动时询问它以授予用户访问他的项目的权限,这是一种安全的方法,还是可以从恶意用户操纵这个数据库来授予自己访问溢价的权限内容?