如何检查用户是否有订阅(Android应用内结算)?

Kal*_*ina 8 android google-api subscription in-app-billing google-play

我一直在尝试使用Google Play Android Developer API,但我意识到这可能不是我应该做的:

您的服务器永远不应根据Android应用程序的个别请求动态查询订阅状态.- 谷歌

我没有自己的服务器,也没有预计每天超过15000个应用程序(API每天允许15000个请求),而且每次启动应用程序时都只计划检查订阅状态.

这似乎是谷歌是说我应该不会做.那么,我该如何检查用户的订阅状态呢?

Vic*_*nin 5

我相信答案是同一文件中的几段:

  • 在您的服务器上存储订阅到期

  • 缓存过期和purchaseState

  • 仅在到期时查询订阅状态

一般来说,他们所说的是你应该缓存订阅状态,而不是每次都查询它.

  • 我认为它仍然适用.在应用程序开始时,您可以执行HTTP请求以获取订阅状态.但是,如果成千上万的用户每天会启动数百次 - 那么您将遇到麻烦(超过15000限制).因此,您可以在应用启动时执行此请求,并在设备上缓存过期和状态,并仅在到期时再次请求. (3认同)
  • 在没有服务器的情况下困扰我的一件事是安全性.您需要进行身份验证和授权才能执行这些调用.这意味着你将不得不硬编码访问令牌或类似的东西,这不是一个好主意(任何人都可以逆向工程你的应用程序). (3认同)