有没有办法从后端服务器消费谷歌播放应用内产品?

时间:2014-03-26 17:21:31

标签: java android in-app-purchase google-play

可以通过客户端应用程序(http://developer.android.com/google/play/billing/api.html#consume)轻松完成使用Google Play的应用内商品。

但是我找不到有关从后端服务器执行此使用请求的任何信息。 Purchase Status API(http://developer.android.com/google/play/billing/gp-purchase-status-api.html)旨在从后端服务器使用,但它不提供任何消耗应用内产品的方法。

有没有办法从后端服务器上使用Google Play应用内商品?

2 个答案:

答案 0 :(得分:3)

我试图实现与您的方法类似的内容。在我们的情况下,我们的目标受众是儿童,因此我们不期望消费者是付费的人,并且父母可能会购买几个副本,每个孩子一个。因此,正常模型(每个客户一件事)并不起作用。

由于我们的服务器实际处理了许可(每个孩子),因此必须对应用程序执行任何付款(我们将其作为耗材处理),然后将令牌传递给要验证的服务器然后服务器更新许可证,下次有关孩子询问他们的许可证时,他们会认为付款已被执行。然后应用程序必须将它们标记为已消耗,即使激活不是它可以直接控制的内容。相反,似乎唯一的选择是管理所有purchaseTokens的表,并在内部将其标记为已消耗,因此应用程序必须定期询问当前(谷歌)用户的任何待处理标记是否需要消耗,以及当他们这样做时勾掉它们。作为对此的延伸,我们必须通过检查自己是否应该阻止请求(或谷歌用户支付)的孩子无法继续处理,以防他们的付款可能正在等待另一个儿童。

如果google允许服务器将耗材标记为已使用,那将会非常简单,但我还没有找到解决方案。让我们希望APIv4拥有它。

答案 1 :(得分:3)

现在至少可以使用Android Publisher V3 API进行确认,请参阅:

https://developers.google.com/android-publisher/getting_started

https://developers.google.com/android-publisher/api-ref/purchases/products/acknowledge

看起来像Consume仍然只能从客户端获得。