2016-11-07 17 views
0

저는 게임의 인앱 구매 모델을 기존의 애드 인에서 유니티의 기본 제공 서비스로 변경하고 있습니다. 지금까지는 라이브 및 샌드 박스 계정을 사용하여 지불을 테스트하고 영수증을 확인하는 데 문제가 없었습니다.Unity 앱내 구매 로컬 유효성 검사가 느림

유니티 가이드에 이어 스토어를 개발했으며 샌드 박스 계정으로 새로운 지불을 성공적으로 할 수 있지만 로컬 에어리어 인증은 iPad Air 2에서 약 2 분 정도 걸립니다. 정상입니까? 우리의 이전 추가 기능은 App Store를 사용하여 영수증 데이터의 유효성을 확인했으며 몇 초 밖에 걸리지 않았습니다. 당신을 "전투"모드를 지불 모드 변경 "샌드 박스"진짜 검증이 시간에

private bool CheckReceipt() 
    { 
#if UNITY_EDITOR 
     Debug.Log("IAP: Default for editor, receipt valid."); 
     return true; 
#elif UNITY_ANDROID || UNITY_IOS 
     try 
     { 
      CrossPlatformValidator validator = new CrossPlatformValidator(GooglePlayTangle.Data(), 
      AppleTangle.Data(), Application.bundleIdentifier); 
      Product product = controller.products.WithID(ProductID); 
      string receipt = product.receipt; 
      if (receipt == null) 
      { 
       Debug.Log("IAP: No receipt."); 
       return false; 
      } 
      Debug.Log("IAP: Validating receipt...");  
      IPurchaseReceipt[] result = validator.Validate(receipt); 
      return result[0].productID == ProductID; 
     } 
     catch (IAPSecurityException e) 
     { 
      Debug.Log("IAP: Invalid receipt, not unlocking content"); 
      return false; 
     } 
#endif 
    } 

답변

0

모든 내 질문에 회신 정상

+0

감사 서있다. 조금 더 자세히 설명해 주시겠습니까? 샌드 박스 계정에 대해서만 시간 지연이 문제가된다는 것을 의미합니까? –

+0

예, 샌드 박스 계정에만 해당 –

+0

지연을 피할 수 있습니까? 보안을 위해 영수증의 유효 기간을 게임 중 여러 번 확인해야하지만 사용자가 매 2 분 정도 기다릴 수는 없습니다. –

관련 문제