Windows phone 8 为什么CurrentApp.LicenseInformation.ProductLicenses不工作?
我有一个WP8应用程序,它已经发布到windows phone应用商店 它配置了应用内购买,当用户在我的应用中单击“购买”按钮时,我使用以下代码Windows phone 8 为什么CurrentApp.LicenseInformation.ProductLicenses不工作?,windows-phone-8,Windows Phone 8,我有一个WP8应用程序,它已经发布到windows phone应用商店 它配置了应用内购买,当用户在我的应用中单击“购买”按钮时,我使用以下代码 ListingInformation products = await CurrentApp.LoadListingInformationByProductIdsAsync(new[] { "ProductOne"}); ProductListing productListing = null; if
ListingInformation products = await CurrentApp.LoadListingInformationByProductIdsAsync(new[] { "ProductOne"});
ProductListing productListing = null;
if (!products.ProductListings.TryGetValue("ProductOne", out productListing))
{
MessageBox.Show("Could not find product information");
return;
}
try
{
string receipt = await CurrentApp.RequestProductPurchaseAsync(productListing.ProductId, true);
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
ProductLicense productLicense = null;
if (CurrentApp.LicenseInformation.ProductLicenses.TryGetValue("ProductOne", out productLicense))
{
if (productLicense.IsActive)
{
...
}
else
{
...
}
}
问题是productLicense.IsActive的值始终为false。有人能告诉我,它出了什么问题吗?我想既然你已经确定了代码行,那么你是在模拟器上测试,还是从Visual Studio部署到你的设备上进行测试(而不是从App Store获得的版本) 我现在还不清楚为什么在你的情况下,
.IsActive
是False
,但在我的应用程序中,我使用了可以从下载的。使用它基本上可以让您在调试时模拟应用程序内购买,但也可以在应用商店中无缝工作
该库旨在模仿应用内购买的工作方式。什么时候
在“模拟模式”中,库还维护一个收据列表
作为每个许可证的状态信息。这可以让你锻炼身体
整个浏览、搜索、购买和履行流程。当在
“模拟模式”库不会激活应用内模拟购买
屏幕,但提供一个简单的消息框来完成应用程序内的
在emulator中测试时购买流
对于您的情况,我唯一能想到的是,您在调试时试图访问存储,我认为这是不可能的,因此.IsActive
为False
因此,如果您还没有看到(或尚未使用)模拟库,我建议您尝试一下。这绝对让我的生活更轻松 我假设既然您已经确定了代码行,那么您是在模拟器上进行测试,还是从Visual Studio部署到您的设备上进行测试(而不是从应用商店获取版本) 我现在还不清楚为什么在你的情况下,
.IsActive
是False
,但在我的应用程序中,我使用了可以从下载的。使用它基本上可以让您在调试时模拟应用程序内购买,但也可以在应用商店中无缝工作
该库旨在模仿应用内购买的工作方式。什么时候
在“模拟模式”中,库还维护一个收据列表
作为每个许可证的状态信息。这可以让你锻炼身体
整个浏览、搜索、购买和履行流程。当在
“模拟模式”库不会激活应用内模拟购买
屏幕,但提供一个简单的消息框来完成应用程序内的
在emulator中测试时购买流
对于您的情况,我唯一能想到的是,您在调试时试图访问存储,我认为这是不可能的,因此.IsActive
为False
因此,如果您还没有看到(或尚未使用)模拟库,我建议您尝试一下。这绝对让我的生活更轻松 IAP是否需要任何能力?我取消选中了WMAppmanifest.xml.AgeRating=source.AgeRating中的所有功能;NotImplementedException throw。我认为它不需要任何特殊功能,但显然,你的应用程序需要某些功能才能运行,因此将它们全部删除将导致问题。你能发布引发异常的代码部分吗(可能是整个函数)?我也尝试过模拟IAP。但是,在按下确认购买消息框的Ok之后。将停留在同一商店页面。我怎么能设置自由版本是假的。因为我正在设置的值在mainpage.xaml.cs中,在模拟购买中按ok时,我如何触发。如果您单步执行,会发生什么?一切都成功了吗?IAP需要什么能力吗?我取消选中了WMAppmanifest.xml.AgeRating=source.AgeRating中的所有功能;NotImplementedException throw。我认为它不需要任何特殊功能,但显然,你的应用程序需要某些功能才能运行,因此将它们全部删除将导致问题。你能发布引发异常的代码部分吗(可能是整个函数)?我也尝试过模拟IAP。但是,在按下确认购买消息框的Ok之后。将停留在同一商店页面。我怎么能设置自由版本是假的。因为我正在设置的值在mainpage.xaml.cs中,在模拟购买中按ok时,我如何触发。如果您单步执行,会发生什么?一切都成功了吗?