2017-02-01 7 views
2

私の場合、PlayStoreにはアプリ内アイテムがあり、国ごとに価格が異なります。次に、私がIabHelper.queryInventory()を使用して製品をフェッチしているときは、製品の価格は基本価格であり、特定の国ではありません。IabHelper queryInventory()は商品の基本価格を返します

基本価格は12.99ユーロで、私の国の価格は9.99ユーロです。 IabHelper.queryInventory()は価格12.99ユーロの応答を返します。しかし、購入してPlayStoreのダイアログを見ると、実際の価格は9.99ユーロであることがわかります。

IabHelperの問題ですか、何か問題がありますか?

答えて

0

アプリ内課金異なる価格を設定すると、一部の国でのみ利用可能であることを思わ:https://support.google.com/googleplay/android-developer/answer/1169947?hl=enあなたがmerchant registrationをサポートしていた場所にいる場合

は、あなた をGoogleを通じて複数の通貨でのアプリケーションを提供することができます デベロッパーコンソールを再生します。

あなたは、Googleが、プログラム

を結果セットからのアイテムの価格を取得し、アプリケーション

セットアップqueryInventoryAsync

mHelper.queryInventoryAsync(true, additionalSkuList, mQueryFinishedListener); 

に関連付けられているアプリ内の製品の詳細を取得するために再生問い合わせることができます

IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() { 
public void onQueryInventoryFinished(IabResult result, Inventory inventory) { 
    if (result.isFailure()) { 
     // handle error 
     return; 
     } 

    String firstItemPrice= inventory.getSkuDetails(YOUR_SKU_ONE).getPrice(); 
    String NthItemPrice = inventory.getSkuDetails(YOUR_SKU_N).getPrice(); 

    // update the UI 
    } 
} 

詳細については、このリファレンスを確認してください。 https://developer.android.com/training/in-app-billing/list-iab-products.html#QueryDetails

getSkuDetails()メソッド。

このメソッドは、製品IDの一覧の製品詳細を返します。 Google Playから送信されたレスポンスバンドルでは、クエリ結果はDETAILS_LISTキーにマッピングされたString ArrayListに格納されます。詳細リストの各ストリングには、JSON形式の単一の製品の製品詳細が含まれています。詳細については、this API referenceをご確認ください。

+0

はい、これが私の試みです。 'queryInventoryAsync'は製品の基本価格を返します。この場合、ユーザーがPlayStoreで購入を開始しない限り、国とロケールは問題になりません。 'getSkuDetails()'は常に同じ価格を返します。 –

関連する問題