0
我目前正在将游戏的应用程序内购买模式从较旧的插件更改为Unity的内置服务。到目前为止,没有任何问题测试付款和验证收据,无论是生活还是使用沙箱帐户。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
}
感谢回答我的问题。你能否详细说明一下?你的意思是时间延迟只是沙盒帐户的一个问题? –
是的,只适用于Sandbox帐户 –
可以避免这种延迟吗?为了安全起见,在游戏过程中需要多次检查收据的有效性,但我们无法让用户每次等待2分钟左右。 –