当我中断应用内购买时,我有一个使用 Google Play Billing 库版本2.0.1的场景,场景如下:
- 用户单击按钮以从 Android 应用程序购买订阅。
- 在显示 Google Play 进度对话框时,互联网连接被中断。
- Google Play 显示“连接超时”错误对话框。
当用户再次点击按钮进行购买并开始计费流程时,Google 会通过对话框响应以下消息:
“您的订单正在处理中,您的商品将在几分钟内到货”
问题是用户在 Google Play 应用程序的“订阅”屏幕中看到了订阅,但由于该购买未被确认,购买将在 3 天后退款。
我正在尝试找到一种方法来检测这种情况,我发现的唯一一件事是我PurchasesUpdatedListener.onPurchasesUpdated
返回了一个空的购买清单List<Purchase>
和BillingResult
一个responseCode
ITEM_ALREADY_OWNED
queryPurchaseHistoryAsync
还通过返回确认购买(由于流程中断而没有发生)来查询以前的购买。
我在 Github 上的示例应用程序仓库中发现了类似的问题:https ://github.com/googlesamples/android-play-billing/issues/127
但我想知道这个问题是否有真正的解决方案?