2016-11-07 104 views
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 
    } 

回答

0

在模式“沙盒”这个时候进行验证很真实,当你改变支付到“战斗”模式下,所有站正常

+0

感谢回答我的问题。你能否详细说明一下?你的意思是时间延迟只是沙盒帐户的一个问题? –

+0

是的,只适用于Sandbox帐户 –

+0

可以避免这种延迟吗?为了安全起见,在游戏过程中需要多次检查收据的有效性,但我们无法让用户每次等待2分钟左右。 –