【发布时间】:2014-04-10 00:56:09
【问题描述】:
我到处寻找,只是找不到从我的应用程序启动评分和评论的方法。有谁知道如何在新的 Windows Phone 8.1 上启动此任务?
【问题讨论】:
标签: windows-phone-8.1 win-universal-app
我到处寻找,只是找不到从我的应用程序启动评分和评论的方法。有谁知道如何在新的 Windows Phone 8.1 上启动此任务?
【问题讨论】:
标签: windows-phone-8.1 win-universal-app
await Windows.System.Launcher.LaunchUriAsync(
new Uri("ms-windows-store:reviewapp?appid=" + CurrentApp.AppId));
这很好!
【讨论】:
MarketplaceReviewTask 不能直接替换。现在它像这样工作 - 通过使用 LaunchUriAsync 和适当的 Uri - 在'MSDN - Link to your app in the Store':
查看您可以使用的应用:
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store:reviewapp?appid=[app ID]"));
// or simply for the current app:
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store:reviewapp"));
在上面的链接 (MSDN) 中,您还可以找到用于导航到详细信息页面并在商店中搜索指定内容的 Uri 结构。
还请注意,Windows Phone 8.1 向后兼容 WP 8.0,因此所有 URI schemes for launching built-in apps 都可以工作。所以你也可以像这样使用它们:
审核应用:
await Windows.System.Launcher.LaunchUriAsync(new Uri(@"zune:reviewapp?appid=app" + YourAppID));
查看应用详情页面:
await Windows.System.Launcher.LaunchUriAsync(new Uri(@"zune:navigate?appid=[app ID]"));
【讨论】:
我可以确认 user3496220 发布的方法有效,但前提是您使用的是开发中心的应用程序 ID(不是 CurrentApp.AppId) 在你的情况下是这样的:
await Windows.System.Launcher.LaunchUriAsync(
new Uri("ms-windows-store:reviewapp?appid=fc0c29fc-f615-4753-aad7-5cf760ca5d2d"));
【讨论】:
我知道这个问题专门针对 Windows Phone 8.1 通用应用程序。但由于构建通用应用程序的主要原因是让一个应用程序同时在 Windows Phone 8.1 和 Windows 8.1 上运行,我想补充一点,Windows 应用商店应用程序的链接是不同的。
如 MSDN (http://msdn.microsoft.com/en-us/library/windows/apps/Hh974767.aspx) 中所述,链接语法有点不同:
要创建 Windows 应用商店协议链接,请将应用的包系列名称附加到 URL:
ms-windows-store:[action]P?PFN=[Package Family Name]
您可以从 Microsoft Visual Studio 或通过访问您应用的基于 Web 的列表页面并查看页面源来检索您的应用的包系列名称。
可能的行动:
PDP Opens an app's listing page.
Review Opens the "Write a review" page of an app's listing.
请求商店评论的示例链接:
ms-windows-store:REVIEW?PFN=6509Knattips.StopNow_eadn2jc3headp
【讨论】:
这将打开重定向到商店的 IE:
await Launcher.LaunchUriAsync(CurrentApp.LinkUri);
【讨论】:
我发现了一种区分 windows phone 8.1 和 windows phone 10 的棘手方法,函数位于 https://stackoverflow.com/a/37641902/3172445 基于该功能,我使用以下代码使评级功能适用于 wp8.1 和 wp10(在诺基亚 Lumia 925、诺基亚 Lumia 735 和诺基亚 Lumia 930 上测试)
private async void OnTapRateThisApp(object sender, RoutedEventArgs e)
{
bool launched = false;
try
{
// FUNCTION at https://stackoverflow.com/a/37641902/3172445
if (this.liIsWindowsPhone81(false))
{
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store:reviewapp?appid=" + CurrentApp.AppId));
}
else
{
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?PFN=" + Package.Current.Id.FamilyName));
}
launched = true;
}
catch{}
if (!launched)
{
// Unable to launch the uri
}
}
我想强调的是,我正在开发的应用程序只是一个 Windows 手机,而不是 UWP。
希望对你有帮助
【讨论】: