2017-05-31 3 views
1

私は1つのアイテム(「productitem1」)しか購入できません。この商品を購入した場合、再び購入することはできません。しかし、私はそれを数回購入する必要があります。 Google Playコンソールでは、「管理対象のアプリ内アイテム」と「サブアイテム」のどちらかしか選択できません。私はそれを "Managed In-App Products"に設定しています。Google Playの商品アイテムを何回購入することができますか?

@Override 
protected void onActivityResult(int request, int response, Intent data) { 
    if (request == 42) { 
     int responseCode = data.getIntExtra("RESPONSE_CODE", 0); 
     String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA"); 
     String dataSignature = data.getStringExtra("INAPP_DATE_SIGNATURE"); 
     if (response == RESULT_OK) { 
      try { 
       JSONObject jo = new JSONObject(purchaseData); 
       String productId = jo.getString("productId"); 
       Toast.makeText(this, "OK", Toast.LENGTH_SHORT).show(); 
      } catch (JSONException e) { 
       Log.e(getClass().getSimpleName(), "JSONException", e); 
      } 
     } 
    } 
} 

btnBuy.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      final String name = "productitem1"; 
      try { 
       Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(), name, "inapp", ""); 
       if(buyIntentBundle.getInt("RESPONSE_CODE")==0) { 
        PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT"); 
        startIntentSenderForResult(
          pendingIntent.getIntentSender(), 42, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0)); 
       } 
      } catch (Exception e) { 
       Log.e(Start.this.getClass().getSimpleName(),"Exception:",e); 
      } 

     } 
    }); 

答えて

1

あなたが同じSKUを別の商品を購入する前に、あなたはそれを消費する必要があり、ここのようなアプリ内課金APIから利用可能な方法のいずれかを使用してIabHelper.consumeAsync()

mHelper.consumeAsync(inventory.getPurchase(SKU_ITEM), mConsumeFinishedListener); 

IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = 
      new IabHelper.OnConsumeFinishedListener() { 
    public void onConsumeFinished(Purchase purchase, IabResult result) { 
     if (result.isSuccess()) { 
      // provision the in-app purchase to the user 
      // (for example, credit 50 gold coins to player's character) 
     } else { 
      // handle error 
     } 
    } 
}; 

さらに詳しい情報:https://developer.android.com/training/in-app-billing/purchase-iab-products.html#Consume

+0

エラーが表示されます: 'mHelper'シンボルを解決できず、 'IabHelper'シンボルを解決できません – SilverBlue

+0

商品をどのように購入していますか?あなたの質問にいくつかのコードを追加してください。使用している購入ライブラリのバージョンがわかります(明らかにmHelperは 'IabHelper'インスタンスです) – MatPag

+0

私の質問のポストにあるコードで商品を購入します。私は実際にGoogleからファイルをインポートしました。すべての購入はうまくいきますが、複数のアイテムではなく、1回だけすべてのアイテムを購入できます。 – SilverBlue

関連する問題