我正在开发一款UWP应用,只需一次应用内购买。
我已在我的Microsoft Developer帐户中创建了应用内购买并将其提交以供审核,该内容已在Windows应用商店中发布。
我在我的应用程序中创建了逻辑,如下所示:
private async Task CheckInAppPremium()
{
#if DEBUG
var file =
await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"Data\in-app.xml");
await CurrentAppSimulator.ReloadSimulatorAsync(file);
var licenseInformation = CurrentAppSimulator.LicenseInformation;
#else
var licenseInformation = CurrentApp.LicenseInformation;
#endif
if (!licenseInformation.ProductLicenses["Premium"].IsActive)
{
#if DEBUG
var results = await CurrentAppSimulator.RequestProductPurchaseAsync("Premium");
#else
var results = await CurrentApp.RequestProductPurchaseAsync("Premium");
#endif
Success = results.Status == ProductPurchaseStatus.Succeeded;
if (Success)
{
_localSettings.Values["premium"] = true;
Messenger.Default.Send(new PremiumInAppAcquiredMessage());
}
}
}
当应用程序在DEBUG模式下运行时,一切正常,但是当在Release中编译应用程序时,应用程序会在此行挂起:
var licenseInformation = CurrentApp.LicenseInformation;
我不知道我错过了什么,虽然我遵循了微软的建议。