应用内支付错误

In-App-Billing Error

我正在尝试将应用内欺凌添加到我的应用中。我应该提一下,我已经在我的 Google play 开发者控制台中激活了产品 ID,但我还没有发布该应用程序。在上传我的最终 apk 之前,我正在尝试在我的设备中测试应用内购买。当我点击启动 launchPurchaseFlow 方法的按钮时出现错误,出现错误。 (当我去 Google Play Store 并尝试下载任何应用程序时,它不会要求我进行任何身份验证,它只会下载应用程序):

这是我调用 launchPurchasedFlow 方法的 onOptionsItemSelected 方法中的代码。

public boolean onOptionsItemSelected(MenuItem item) {
 if(id == R.id.action_remove_adds){
        mHelper.launchPurchaseFlow(this,SKU_REMOVE_ADDS,1,mPurchasedFinishedListener,"");
    }

    return super.onOptionsItemSelected(item);
}

这是我的 mPurchasedFinishedListener 代码:

private IabHelper.OnIabPurchaseFinishedListener mPurchasedFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
    @Override
    public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
        if (result.isFailure()) {
            Log.d(TAG, "Error purchasing: " + result);
            return;
        }
        else if (purchase.getSku().equals(SKU_REMOVE_ADDS)) {
            // consume the gas and update the UI
        }
    }
};

这是我的 onActivity 结果代码:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data);

    // Pass on the activity result to the helper for handling
    if (!mHelper.handleActivityResult(requestCode, resultCode, data)) {
        // not handled, so handle it ourselves (here's where you'd
        // perform any handling of activity results not related to in-app
        // billing...
        super.onActivityResult(requestCode, resultCode, data);
    }
    else {
        Log.d(TAG, "onActivityResult handled by IABUtil.");
    }
}

应用内购买仅适用于已发布的应用,在 alpha 或 beta 中上传,您可以进行测试。

这是因为Google需要知道启用IAB的apk版本代码,如果版本代码不在GooglePlay中,Google将不会激活购买因为apk没有注册。