Android InApp Billing v3,谷歌播放对话框未显示

Posted

技术标签:

【中文标题】Android InApp Billing v3,谷歌播放对话框未显示【英文标题】:Android InApp Billing v3, google play dialog not showing 【发布时间】:2013-06-19 07:46:34 【问题描述】:

我目前正在将 IAB v2 迁移到 v3。 在 v2 中,如果您拥有尝试购买的特定商品,Google Play 对话框会以红色文本显示“您已经拥有此商品”。在 v3 中,我可以得到错误响应 5(项目已拥有)但 Google Play 对话框永远不会显示在屏幕上。

我正在使用最新的示例代码 IabHelper,如果响应不是 0,它似乎返回时没有开始意图。

        logDebug("Constructing buy intent for " + sku + ", item type: " + itemType);
        Bundle buyIntentBundle = mService.getBuyIntent(3, mContext.getPackageName(), sku, itemType, extraData);
        int response = getResponseCodeFromBundle(buyIntentBundle);
        if (response != BILLING_RESPONSE_RESULT_OK) 
            logError("Unable to buy item, Error response: " + getResponseDesc(response));
            flagEndAsync();
            result = new IabResult(response, "Unable to buy item");
            if (listener != null)
                listener.onIabPurchaseFinished(result, null);
            return;
        

        PendingIntent pendingIntent = buyIntentBundle.getParcelable(RESPONSE_BUY_INTENT);
        logDebug("Launching buy intent for " + sku + ". Request code: " + requestCode);
        mRequestCode = requestCode;
        mPurchaseListener = listener;
        mPurchasingItemType = itemType;
        act.startIntentSenderForResult(pendingIntent.getIntentSender(), requestCode, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));

是否可以与 v2 相同?还是我应该在我的应用程序中创建带有“已拥有”的对话框?

【问题讨论】:

【参考方案1】:

是否可以与 v2 相同?还是我应该在我的应用程序中创建带有“已拥有”的对话框?

是的,已报告此问题,并且有可用的更新 IAB v3 存储库here. 您提到的崩溃已通过此 repo 修复。

注意:

据Bruno Oliveira报道。

【讨论】:

我已经将最新的代码放入我的应用程序中,正如你提到的。崩溃没有发生,但谷歌播放商店对话框没有出现。如果我已经拥有该项目,Play 商店将不会启动?

以上是关于Android InApp Billing v3,谷歌播放对话框未显示的主要内容,如果未能解决你的问题,请参考以下文章

android billing:4.0.0 - queryPurchases(INAPP) 和 purchase.getSku()

android billing inApp/subscription 找不到明确的活动 ProxyBillingActivity

Android inapp billing - BillingService 在 onServiceConnected 和 onServiceDisconnected 上出现编译错误

我如何在应用内结算 v3 中使用 consumePurchase 方法

Android In-App Billing v3:“无法执行操作:queryInventory”

android in-app billing v3 api中的开发者有效负载应该是多少?