2

我正在处理 android 的应用计费..我遵循 android 的教程,目前我正在测试测试应用程序。(android.test.purchased)我在谷歌控制台上创建应用程序我签署 apk 并将其上传到谷歌控制台而不是我复制公钥并将其粘贴到我的代码中并再次签署apk并将其安装在手机上,而不是我尝试购买测试购买的id它显示我购买成功但在我的日志值中我显示购买的数据和数据签名并且我得到数据签名NULL(空)

有趣的部分是在 handleActivityResult 方法中,如果检查天气数据签名或购买数据的条件是否为 Null,并且在我的代码中,如果跳过它就不会执行?怎么可能?

在这里我 pur 日志,但在我的 logcat 中我看不到“在 BUG Null 值中”

 if (purchaseData == null || dataSignature == null) {
            logError("BUG: either purchaseData or dataSignature is null.");
            Log.e("Inapp", "In BUG Null value");
            logDebug("Extras: " + data.getExtras().toString());
            result = new IabResult(IABHELPER_UNKNOWN_ERROR, "IAB returned null purchaseData or dataSignature");
            if (mPurchaseListener != null) mPurchaseListener.onIabPurchaseFinished(result, null);
            return true;
        }
4

1 回答 1

3

我自己也有这个问题。过了一会儿,我发现我做错了什么。我在 IABHelper 上调用了错误的方法。

如果您使用在 Google Developer Console 上注册为订阅的 SKU 调用 mHelper.launchPurchaseFlow(...),则会导致错误:IAB 返回 null purchaseData 或 dataSignature(响应 -1008:未知错误)。

如果您有一个注册为订阅的 SKU,则必须使用以下方法:mHelper.launchSubscriptionPurchaseFlow(...)

希望这可以帮助。

于 2015-06-01T10:33:19.397 回答