使用 API v3 未收到 Android 应用内购买的结果

Not receiving result of Android In-App Purchase using API v3

我正在努力完成 Android 应用内结算的第 3 版 API,但遇到了以下问题:

如果我使用 launchPurchaseFlow 开始购买,它会按预期显示购买对话框,让我完成购买。购买完成后,如果我再次请求 SKU 详细信息,则该产品将被报告为已拥有。所以购买过程本身按预期进行。

没有用的是购买通知本身。我传递给 launchPurchaseFlowOnIabPurchaseFinishedListener 永远不会被调用。无论是取消购买还是完成购买。

我打开 IabHelper class 的日志记录并在 LogCat 中得到以下输出:

IabHelper: Starting in-app billing setup.
IabHelper: Billing service connected.
IabHelper: Checking for in-app billing 3 support.
IabHelper: In-app billing version 3 supported for <my app>
IabHelper: Subscriptions AVAILABLE.

IabHelper: Starting async operation: refresh inventory
IabHelper: Querying owned items, item type: inapp
IabHelper: Package name: <my app>
IabHelper: Calling getPurchases with continuation token: null
IabHelper: Owned items response: 0
IabHelper: Continuation token: null
IabHelper: Querying SKU details.
IabHelper: Got sku details: <my test product>
IabHelper: Querying owned items, item type: subs
IabHelper: Package name: <my app>
IabHelper: Calling getPurchases with continuation token: null
IabHelper: Owned items response: 0
IabHelper: Continuation token: null
IabHelper: Querying SKU details.
IabHelper: Ending async operation: refresh inventory

IabHelper: Starting async operation: launchPurchaseFlow
IabHelper: Constructing buy intent for <my test product>, item type: inapp
IabHelper: Launching buy intent for <my test product>. Request code: 1

到此结束。

我的 activity 在对话框再次消失时收到一个 onPause() event when the purchase dialog is shown and an onResume() 事件(如果购买被取消或完成)。这两个事件目前在我的应用程序中除了 System.out.println(...).

什么都不做

这是 API 中的错误吗?或者我需要先设置什么吗?任何帮助将不胜感激。

挖掘 IabHelper 的源代码,我发现了问题:

购买意向的结果将发送到 Activity 的 onActivityResult(...) 方法。从那里,它需要手动转发到 IabHelper's handleActivityResult(...) 方法,如下所示:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (myIabHelper.handleActivityResult(requestCode, resultCode, data)) return;
    super.onActivityResult(requestCode, resultCode, data);
}

这解决了购买成功和失败的问题。

"Yay!" 综合文档...