我目前正在将游戏的应用内购买模式从较旧的插件更改为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
}
答案 0 :(得分:0)
在“Sandbox”模式下这次验证非常真实,当你改变支付到“战斗”模式时,一切正常