title: Google In-App Billing causing Exception
body: <p>In one of my Android apps, I'm trying to implement a simple grab of the inventory from Google's In-App billing, but it keeps giving me errors at the line of </p>
  
  <pre><code>mHelper.queryInventoryAsync(mGotInventoryListener);
  </code></pre>
  
  <p>with the message that </p>
  
  <blockquote>
    <p>IabHelper is not setup. Can't perform operation: queryInventory</p>
  </blockquote>
  
  <p>Here is all the IabHelper code. </p>
  
  <pre><code>    mHelper = new IabHelper(this, base64EncodedPublicKey);
      mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
             public void onIabSetupFinished(IabResult result) {
                if (!result.isSuccess()) {
                   // Oh noes, there was a problem.
                   Log.d(TAG, "Problem setting up In-app Billing: " + result);
                }            
                   // Hooray, IAB is fully set up!  
             }
          });
      //check to see if ads have been removed(bought)
      IabHelper.QueryInventoryFinishedListener mGotInventoryListener 
         = new IabHelper.QueryInventoryFinishedListener() {
         public void onQueryInventoryFinished(IabResult result,
            Inventory inventory) {
  
            if (result.isFailure()) {
              // handle error here
            }
            else {
              // does the user have the premium upgrade?
              if(inventory.hasPurchase(REMOVE_ADS)) removeAdsPurchased = true;     
              // update UI accordingly
            }
         }
      };
      mHelper.queryInventoryAsync(mGotInventoryListener);
  </code></pre>