xamarin.forms - Xamarin Forms In App Billing 插件不起作用
问题描述
我在我的 Xamarin Forms 项目中安装了应用内计费插件:Plugin。
首先,我想在 iOS 上使用它,但插件不起作用。它显示以下错误:Plugin.InAppBilling.Abstractions.InAppBillingPurchaseException: Cannot connect to iTunes Store
at Plugin.InAppBilling.InAppBillingImplementation.PurchaseAsync (System.String productId, Plugin.InAppBilling.Abstractions.ItemType itemType, System.String payload, Plugin.InAppBilling.Abstractions.IInAppBillingVerifyPurchase verifyPurchase) ..
我认为我的 productId 或有效负载是错误的,我应该在那里放什么?这是我的代码:
try
{
var productId = "mySKU";
var connected = await CrossInAppBilling.Current.ConnectAsync();
if (!connected)
{
//Couldn't connect to billing, could be offline, alert user
return;
}
//try to purchase item
var purchase = await CrossInAppBilling.Current.PurchaseAsync(productId, ItemType.Subscription, "payload");
if (purchase == null)
{
//Not purchased, alert the user
}
else
{
//Purchased, save this information
var id = purchase.Id;
var token = purchase.PurchaseToken;
var state = purchase.State;
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
//Something bad has occurred, alert user
}
finally
{
//Disconnect, it is okay if we never connected
await CrossInAppBilling.Current.DisconnectAsync();
}
我希望有人能帮助我。提前致谢。
解决方案
我修好了它。对于所有有同样问题的人:我的问题是,我创建了一个 bundle id。然后我在 Visual Studio 中激活了自动签名,它自动创建了另一个包 ID。我选择了它,我必须给它一个名字。点击保存后,它又变回了另一个ID。问题是 id 具有相同的名称。所以我在 Visual Studio 中重命名了 bundle id,它就像一个魅力。
推荐阅读
- c++ - ANTLR - 如何从维度中提取单位
- c++ - 在命令行中创建快捷命令
- java - Intellij “转换为 Kotlin” 阻塞大文件
- c# - 如何在 Xamarin.forms 中的 Frame 边缘显示阴影?
- javascript - 减少 HTML DIV 延迟?
- python - 在matlab中导入numpy
- css - Sass 如何在 :not() 伪类中使用 & 来表示没有父类?
- python - 在 django rest_framework 中以 JSON 格式返回对象数组
- git - 使用 Git 时权限被拒绝(公钥)错误?
- c# - EF Core 对具有相同架构的不同数据库执行