Я в настоящее время изменяю нашу модель покупки приложений в приложениях от более старой надстройки до встроенного сервиса единства. До сих пор не было проблем с тестированием платежей и подтверждением поступлений, как в реальном времени, так и с использованием учетных записей в песочнице.Unity In-App Purchase Локальная проверка медленная
После руководства Unity я разработал магазин и могу успешно производить новые платежи с помощью учетной записи sandbox, однако локальная проверка занимает около 2 минут на iPad Air 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
}
Спасибо за ответ на мой вопрос. Не могли бы вы немного разобраться? Вы имеете в виду, что временная задержка является только проблемой для учетных записей Sandbox? –
Да, только для счетов Sandbox –
Можно ли избежать этой задержки? Для обеспечения безопасности срок действия квитанции необходимо проверять несколько раз во время игры, но мы не можем заставить пользователя ждать около 2 минут каждый раз. –