应用内购买V3安卓版

3
我正在开发一个应用,提供包含信息的物品产品。我以正确的方式实现一切,并且在正常情况下一切都很好,流程是正确的。购买在 Google 上发生,然后我将数据插入我的服务器。
问题在于,如果我尝试将数据插入到服务器时没有连接,我就无法处理这种情况。
这是一个坏事,因为这会导致用户损失资金并且无法获得信息收益。
物品是可管理和可消耗的。
我想知道如何取消订单,如果我检测到数据插入到我的服务器未发生,原因有很多例如:1-服务器宕机,无连接,设备关闭等。
提前感谢您的帮助。
1个回答

2
我想知道如何取消订单,如果我发现在我的服务器中没有插入数据,则需要取消订单。但仅仅因为无法将购买记录插入服务器而取消订单并不是一个好主意。
从版本3开始,Google Play In-app Billing会存储用户使用其Google帐户进行的所有有效购买。这可以随时检索,并且可以恢复购买。如果您想帮助用户检索购买,您需要编写购买恢复逻辑。
如果您仍然想将购买信息存储在自己的服务器上以进行分析,则可以想象在将其发送到服务器之前将购买存储在本地存储(例如小型数据库)中。一旦您知道服务器已保存购买记录,您可以从本地数据库或类似的地方删除购买条目。

这确实是正确的方法。如果您想将数据传输到服务器,则应考虑构建一个服务,该服务始终检查任何购买情况,然后如果发现任何情况,则将其发送到服务器。在我的情况下,我使用可消耗物品,因此每当我发现未被消耗的物品时,这意味着用户尚未获得购买的好处。遇到这种情况后,我会将数据发送到我的服务器,当我的服务器响应代码200时,我开始进行消费过程,以便不再执行此操作链。 - Rubin Basha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接