1

こんにちは、アプリ内購入をテストしようとしています。マーチャント アカウントを設定し、テスターのアルファ グループを作成しました。ただし、デバイスのアプリで支払いを開始しようとすると、次のエラーが表示されます。2 つの異なるデバイスでこれをテストしましたが、他のアプリをダウンロードすることはできますが、同じエラーが発生します。

エラー 認証が必要です。Google アカウントにサインインする必要があります。

助けてください

    mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
        public void onIabSetupFinished(IabResult result) {
            Log.d(TAG, "Setup finished.");

            if (!result.isSuccess()) {
                // Oh noes, there was a problem.
                complain("Problem setting up in-app billing: " + result);
                return;
            }

            // Have we been disposed of in the meantime? If so, quit.
            if (mHelper == null) return;

            // IAB is fully set up. Now, let's get an inventory of stuff we own.
            Log.d(TAG, "Setup successful. Querying inventory.");
            try {
                mHelper.queryInventoryAsync(mGotInventoryListener);
            } catch (IabHelper.IabAsyncInProgressException e) {
                complain("Error querying inventory. Another async operation in progress.");
            }
        }
    });

   //Querying for Items Available for Purchase
   IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
    public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
        Purchase gasPurchase = inventory.getPurchase(SKU_GAS);
        if (gasPurchase != null && verifyDeveloperPayload(gasPurchase)) {
            Log.d(TAG, "We have gas. Consuming it.");
            try {
                mHelper.consumeAsync(inventory.getPurchase(SKU_GAS), mConsumeFinishedListener);
            } catch (IabHelper.IabAsyncInProgressException e) {
                complain("Error consuming gas. Another async operation in progress.");
            }
            return;
        }

        //updateUi();
        //setWaitScreen(false);
        Log.d(TAG, "Initial inventory query finished; enabling main UI.");
    }
   };

   // User clicked the "Buy Gas" button
   public void onBuyCoinButtonClicked(View arg0) {
    Log.d(TAG, "Buy coin button clicked.");

    Log.d(TAG, "Launching purchase flow for coins.");

    String payload = "";

    try {
        mHelper.launchPurchaseFlow(this, SKU_GAS, RC_REQUEST,
                mPurchaseFinishedListener, payload);
    } catch (IabHelper.IabAsyncInProgressException e) {
        complain("Error launching purchase flow. Another async operation in progress.");
        //setWaitScreen(false);
    }
}

私の情報源は、単純なドライブのサンプル https://developer.android.com/training/in-app-billing/preparing-iab-app.htmlからのものです

4

1 に答える 1