我试图搜索那个问题,但没有得到很多信息。我只知道:
- 在用户第一次安装应用程序或用户卸载/删除数据时重新安装时恢复。
- 恢复交易仅适用于被管理产品。
我试图阅读 Dungeon Example,关于恢复事务的代码很少,例如:何时调用恢复请求,何时获得恢复响应......但我不知道:
- 如何获取返回信息? (如您购买的商品编号)
请大侠再次解释一下In-App billing中恢复交易的流程。
非常感谢!!!
编辑:很抱歉,我很久没有在 Android 上工作了,现在我不知道这个问题的正确答案是什么,所以我不能标记答案:P
最佳答案
典型流程如下:
用户安装您的应用。
首次加载您的应用时,您检查是否需要恢复 购买。
如果您这样做,请向 Google 发送 RESTORE_TRANSACTION 同步请求。
Google 将对您的回复做出确认回复 RESTORE_TRANSACTION 请求。 (这只是承认 他们收到了你的请求。)
此时,您应该标记您已经向 Google 发送了恢复请求,并且不需要从该应用发送进一步的恢复。
现在,对于用户之前购买的每次应用内购买,Google 将开始异步向您的应用发送“PURCHASE_STATE_CHANGED”事件。此调用与用户首次购买时 Google 发送的调用相同。
由于是同一个调用,您的应用会接收事件并正常处理它,就好像用户刚刚购买了应用内产品(从而“恢复”购买的功能)。
关于第 2 步和第 5 步,我为我的应用所做的是保留名为“APP_INITIALISED”的 SharedPreference 值,该值默认为 false。每次我的应用程序启动时,如果“APP_INITIALISED”为 false,我会告诉 Google RESTORE_TRANSACTION(第 2 步),然后我将 APP_INITIALISED 设置为 true(第 5 步)。
关于android - 应用内结算 (Android) 中的恢复交易如何运作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7924696/