C# 统一IAP收据验证
我已经在我的项目中与Unity(2019.4)进行了一个项目,用户可以通过应用内购买购买产品 我使用无代码IAP管理器并使用收据验证来验证购买 在安卓系统中,我没有问题。但在IOS中,越狱手机可以用假支付购买产品 这是我的代码示例C# 统一IAP收据验证,c#,unity3d,in-app-purchase,jailbreak,C#,Unity3d,In App Purchase,Jailbreak,我已经在我的项目中与Unity(2019.4)进行了一个项目,用户可以通过应用内购买购买产品 我使用无代码IAP管理器并使用收据验证来验证购买 在安卓系统中,我没有问题。但在IOS中,越狱手机可以用假支付购买产品 这是我的代码示例 public void OnPurchaseComplete(Product product) { var validator = new CrossPlatformValidator(GooglePlayTangle.Data(), Appl
public void OnPurchaseComplete(Product product)
{
var validator = new CrossPlatformValidator(GooglePlayTangle.Data(),
AppleTangle.Data(), Application.identifier);
bool ValidPurchase = false;
try
{
// On Google Play, result has a single product ID.
// On Apple stores, receipts contain multiple products.
var result = validator.Validate(product.receipt);
// For informational purposes, we list the receipt(s)
Debug.Log("Receipt is valid. Contents:");
foreach (IPurchaseReceipt productReceipt in result)
{
Debug.Log(productReceipt.productID);
Debug.Log(productReceipt.purchaseDate);
Debug.Log(productReceipt.transactionID);
GooglePlayReceipt google = productReceipt as GooglePlayReceipt;
if (null != google)
{
// This is Google's Order ID.
// Note that it is null when testing in the sandbox
// because Google's sandbox does not provide Order IDs.
ValidPurchase = true;
Debug.Log(" google transaction" + google.transactionID);
Debug.Log(" google transaction" + google.purchaseState);
Debug.Log(" google transaction" + google.purchaseToken);
}
AppleInAppPurchaseReceipt apple = productReceipt as AppleInAppPurchaseReceipt;
if (null != apple)
{
ValidPurchase = true;
Debug.Log(" apple transaction1" + apple.originalTransactionIdentifier);
Debug.Log(" apple transaction2" + apple.subscriptionExpirationDate);
Debug.Log(" apple transaction3" + apple.cancellationDate);
Debug.Log(" apple transaction4" + apple.quantity);
}
}
}
catch (IAPSecurityException)
{
Debug.Log("Invalid receipt, not unlocking content");
ValidPurchase = false;
}
//product.receipt;
if (ValidPurchase)
{
//successfull
}
}
我应该做些什么来防止iPhone被越狱。你有服务器吗?如果是,您可以在服务器上验证收据,并让应用程序下载付费内容。如果没有,我想你也无能为力。