我尝试在plugin之后在我的应用程序中测试应用购买。我也检查了this和数千篇其他官方/非官方文章,但没有结果。我不认为我的代码有问题,因为我要求另一个开发人员与我分享他的代码,然后在我的应用程序中使用它。在他的项目中,此代码可以完美运行,但是我有InAppBillingPurchaseException“无法连接到Itunes商店”。在输入沙箱凭据之前,我还注销了真实帐户。这是代码,但我不认为问题出在这里:
public async Task<bool> PurchaseItemAsync()
{
var billing = CrossInAppBilling.Current;
LastExceptionMessage = null;
try
{
var connected = await billing.ConnectAsync();
if (connected == false)
return false;
var purchase = await billing.PurchaseAsync(_kProductId, ItemType.InAppPurchase, _kPayload);
if (purchase == null)
return false;
else if (purchase.State == PurchaseState.Purchased)
return true;
}
catch (InAppBillingPurchaseException ex)
{
OnPurchaseException(ex);
}
catch (Exception ex)
{
//Dlog.Error("Issue connecting: " + ex);
LastExceptionMessage = ex.Message;
}
finally
{
await billing.DisconnectAsync();
}
return false;
}
答案 0 :(得分:0)
对于我来说,我的应用中的bundleID与“应用内购买”的产品ID不匹配。我的应用程式程式码中有套件编号 com.xam.sample 。但是产品ID是 testiap 。因此,我使用productID com.xam.sample.testiap 创建了IAP,并且我能够通过这种方式解决该错误。