InappBilling错误 - 验证是必需的.你需要登录你的谷歌帐户

And*_*kss 6 android in-app-billing

我正在尝试进行不适用的演示.我按照本教程学习这个.

Lemme告诉我执行此任务所遵循的步骤

  1. 我使用了下面提到的代码

    package com.ohn.inappbilling;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v7.app.ActionBarActivity;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    
    import com.hello.inappbilling.util.IabHelper;
    import com.hello.inappbilling.util.IabResult;
    import com.hello.inappbilling.util.Inventory;
    import com.hello.inappbilling.util.Purchase;
    import com.ohn.inappbilling.R;
    
    public class MainActivity extends ActionBarActivity {
    
    private static final String TAG = "com.hello.inappbilling";
    static final String ITEM_SKU = "com.buttonclick";
    IabHelper mHelper;
    private Button clickButton;
    private Button buyButton;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        buyButton = (Button) findViewById(R.id.buyButton);
        clickButton = (Button) findViewById(R.id.clickButton);
        clickButton.setEnabled(false);
        String base64EncodedPublicKey = "******";
    
        mHelper = new IabHelper(this, base64EncodedPublicKey);
    
        mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
            public void onIabSetupFinished(IabResult result) {
                if (!result.isSuccess()) {
                    Log.d(TAG, "In-app Billing setup failed: " + result);
                } else {
                    Log.d(TAG, "In-app Billing is set up OK");
                }
            }
        });
        //throw new RuntimeException();
    }
    
    public void buttonClicked(View view) {
        clickButton.setEnabled(false);
        buyButton.setEnabled(true);
    }
    
    public void buyClick(View view) {
         mHelper.launchPurchaseFlow(this, ITEM_SKU, 10001,   
               mPurchaseFinishedListener, "mypurchasetoken");
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, 
         Intent data) 
    {
          if (!mHelper.handleActivityResult(requestCode, 
                  resultCode, data)) {     
            super.onActivityResult(requestCode, resultCode, data);
          }
    }
    
    IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener 
    = new IabHelper.OnIabPurchaseFinishedListener() {
    public void onIabPurchaseFinished(IabResult result, 
                    Purchase purchase) 
    {
       if (result.isFailure()) {
          // Handle error
          return;
     }      
     else if (purchase.getSku().equals(ITEM_SKU)) {
         consumeItem();
        buyButton.setEnabled(false);
    }
    
    }
    
    
    };
    
    public void consumeItem() {
        mHelper.queryInventoryAsync(mReceivedInventoryListener);
    }
    
    IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener 
       = new IabHelper.QueryInventoryFinishedListener() {
           public void onQueryInventoryFinished(IabResult result,
              Inventory inventory) {
    
    
              if (result.isFailure()) {
              // Handle failure
              } else {
                     mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU), 
                mConsumeFinishedListener);
              }
        }
    };
    
    IabHelper.OnConsumeFinishedListener mConsumeFinishedListener =
    new IabHelper.OnConsumeFinishedListener() {
     public void onConsumeFinished(Purchase purchase, 
           IabResult result) {
    
    if (result.isSuccess()) {                
          clickButton.setEnabled(true);
    } else {
           // handle error
    }
    }
    };
    
    @Override
    public void onDestroy() {
        super.onDestroy();
        if (mHelper != null) mHelper.dispose();
        mHelper = null;
    }
    
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我使用File-Export- AndroidProject 创建了apk 并将其上传到alphatesting中.

  3. 我在Alpha测试的管理测试人员列表中添加了用户(Google网上论坛).

  4. 我在应用内商品中添加了该产品,并为其提供了com.buttonclick的 ID

  5. 具有测试访问权限的Gmail帐户的设置中,我也在此处添加了Gmail ID.没有id是开发者ID.

谁能告诉这个问题的解决方案.我已经尝试了所有可用的解决方案StackoverFlow.

And*_*kss 0

我找到了这个问题的解决方案。

我在 Playstore 上发布了这个 apk,然后我从 Playstore 下载了 apk 并运行了它,效果很好

我认为这个问题背后的原因是 我用于测试的谷歌帐户可能不是主帐户。