2016-08-31 7 views
1

私のアプリでTrivialDriveのIAB Helperを更新します。 QueryInventoryFinishedListener startインターネット接続がない場合はresult.isFailure()を取得します。以前のバージョンのIAB Helperでは、何週間もインターネットに接続していなくても、result.isFailure()がなくてもすべて正常に動作します。インターネット接続なしで在庫を照会できません

IAB Helperの新バージョンの機能ですか、間違っているのですか?

IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() { public void onQueryInventoryFinished(IabResult result, Inventory inventory) { Log.d(TAG, "Query inventory finished.");

 if (mHelper == null) { 
      Log.d(TAG, "null: " + result); 
      return; 
     } 

     if (result.isFailure()) { 
      Log.d(TAG, "Failed to query inventory: " + result); 
      return; 
     } 
     Log.d(TAG, "Query inventory was successful."); 
     Purchase proPurchase = inventory.getPurchase(SKU_PRO); 
     mIsPro = (proPurchase != null);` 
+1

ログにはどのようなメッセージが印刷されますか? –

+0

在庫を照会できませんでした:IabResult:在庫の更新中にエラーが発生しました(商品の価格を照会しています)。 (応答:6:エラー) –

+1

この行に 'mHelper.enableDebugLogging(true)'を追加し、 'IabHelper'タグでフィルタリングしてください。 –

答えて

3

アプリ内課金サービス、IabHelperがに話すことを、購入履歴をキャッシュし、在庫をオフラインで照会することができます。しかし、いくつかのオプション(ターゲットSKUのリストを提供しないか、SKUの詳細を要求しないなど)は、インターネット接続なしでは不可能なサービスをサーバーと通信するように強制します。在庫をオフラインでクエリできるようにするには、次のようにします。

boolean querySkuDetails = isNetworkAvailable(); 
mHelper.queryInventoryAsync(querySkuDetails, skuList, this); 
関連する問題