1

我有一个连接到网络服务的应用程序。我已经在我的应用程序中实现了订阅,但我不确定这是否是正确的方法。这就是我正在做的事情。

  1. 我正在REQUEST_PURCHASE使用正确的 id 和类型。
  2. Google Play 将以 async 响应IN_APP_NOTIFY
  3. 我打电话询问GET_PURCHASE_INFORMATION购买信息。
  4. 我从回复中得到purchaseToken其他细节。PURCHASE_STATE_CHANGED我将它们存储在本地数据库中。
  5. 我发送CONFIRM_NOTIFICATION以确认我已收到purchaseToken.
  6. 现在我检查我的本地数据库并获取purchaseToken并将其发送到我的网络服务器,该服务器将使用 Google Developer Android API 来验证购买并解锁订阅内容。当我的服务器告诉应用程序它已经过验证时,我将它从我的数据库中删除。

在每次启动应用程序时,我都会检查我的本地数据库是否有一些条目,如果有,我会尝试通过再次调用我的网络服务器来验证它。

我怀疑第六步。我想我应该先与我的服务器确认,然后执行第 5 步。

当我可以使用 Web 服务时,这里的正确方法是什么?

4

1 回答 1

0

由于很长一段时间没有答案,我决定自己写。

V2 应用内计费 API 非常复杂。V3 API 可供订阅,强烈建议使用它。API 的实现非常简单。

据我所见,与一次性购买相比,人们对订阅更加犹豫。所以我转向一次性购买模式,只有一个计划在购买时提供一年的专业功能,之后他们可以再次续订。

流程现在很简单。

  • 请求购买。
  • 返回成功后,显示一条消息,例如“激活专业功能可能需要几分钟”
  • 消费购买。
  • 将 purchaseToken 存储在本地缓存中。
  • 在后台与服务器验证。
  • 解锁专业功能。
于 2013-10-05T05:22:37.627 回答