2016-08-31 2 views
1

내 앱에서 TrivialDrive의 IAB Helper를 업데이트합니다. QueryInventoryFinishedListener start 인터넷 연결이 없을 경우 result.isFailure()를 가져옵니다. 이전 버전의 IAB Helper에서는 모든 인터넷 연결이 몇 주간이라도 result.isFailure() 없이는 정상적으로 작동합니다.인터넷 연결없이 인벤토리를 쿼리하지 못했습니다.

IAB Helper의 새로운 버전의 기능입니까, 아니면 잘못된 것입니까?

 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.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() { public void onQueryInventoryFinished(IabResult result, Inventory inventory) { Log.d(TAG, "Query inventory finished.");

는에 IabHelper 회담 것을, 구매 내역을 캐시 및 재고 오프라인을 조회 할 수 있습니다. 그러나 일부 옵션 (예 : 대상 SKU 목록을 제공하지 않거나 SKU 세부 정보를 요청하는 경우)은 서버와 통신하기 위해 서비스를 시행하지만 인터넷 연결 없이는 불가능합니다. 따라서 오프라인으로 인벤토리를 쿼리 할 수있게하려면 다음과 같이하십시오.

boolean querySkuDetails = isNetworkAvailable(); 
mHelper.queryInventoryAsync(querySkuDetails, skuList, this); 
관련 문제