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
}
감사 서있다. 조금 더 자세히 설명해 주시겠습니까? 샌드 박스 계정에 대해서만 시간 지연이 문제가된다는 것을 의미합니까? –
예, 샌드 박스 계정에만 해당 –
지연을 피할 수 있습니까? 보안을 위해 영수증의 유효 기간을 게임 중 여러 번 확인해야하지만 사용자가 매 2 분 정도 기다릴 수는 없습니다. –