InAppBilling V3 - 购买订阅项目时,“purchaseData”和“dataSignature”为空

时间:2013-06-23 11:33:38

标签: android in-app-purchase in-app-billing billing android-billing

使用新的InAppBilling V3

购买subsciption项目时遇到问题

这是我的IABHelper的handleActivityResult方法:

    public boolean handleActivityResult(int requestCode, int resultCode, Intent data) {
            IabResult result;
            if (requestCode != mRequestCode)
                return false;

            checkSetupDone("handleActivityResult");

            // end of async purchase operation
            flagEndAsync();

            if (data == null) {
                Log.e(TAG + "Null data in IAB activity result.");
                result = new IabResult(IABHELPER_BAD_RESPONSE, "Null data in IAB result");
                if (mPurchaseListener != null)
                    mPurchaseListener.onIabPurchaseFinished(result, null);
                return true;
            }

            int responseCode = getResponseCodeFromIntent(data);
            String purchaseData = data.getStringExtra(RESPONSE_INAPP_PURCHASE_DATA);
            String dataSignature = data.getStringExtra(RESPONSE_INAPP_SIGNATURE);\
            ...

在该代码之后,purchaseData和dataSignature为空,因此无法完成购买流程。

当我尝试购买应用内商品时,一切正常。 purchaseData和dataSignature不为空。

这家伙似乎有同样的问题:
Google Play In-App Purchase returns error code -1008: null puchaseData or dataSignature

但它对我不起作用,我仍然为这两个字段都为空。

我做错了什么?提前谢谢!

1 个答案:

答案 0 :(得分:1)

我只解决了这个问题,在REAL情况下测试。我发布了应用程序并使用一个测试帐户进行签名,并获得有效的回复。