2016-08-31 67 views
1

我在我的應用程序中更新TrivialDrive的IAB Helper。如果沒有Internet連接,QueryInventoryFinishedListener將開始獲取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);