【发布时间】:2015-06-05 02:18:15
【问题描述】:
我正在尝试使用 Android In-App Billing 第 3 版 API 并遇到以下问题:
如果我使用launchPurchaseFlow 开始购买,它会按预期显示购买对话框,让我完成购买。购买完成后,如果我再次请求 SKU 详细信息,则该产品将被报告为已拥有。因此,购买过程本身按预期工作。
购买通知本身不起作用。我传递给launchPurchaseFlow 的OnIabPurchaseFinishedListener 永远不会被调用。无论我取消购买还是完成购买。
我为 IabHelper 类打开了日志记录,并在 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
到此为止。
我的活动在显示购买对话框时收到onPause() 事件,在对话框再次消失时收到onResume() 事件(如果购买被取消或完成)。这两个事件目前在我的应用程序中除了 System.out.println(...) 之外什么都不做。
这是 API 中的错误吗?还是我需要先设置一些东西?任何帮助将不胜感激。
【问题讨论】:
标签: android api in-app-purchase in-app-billing