我到处寻找,只是找不到从我的应用程序启动评分和评论的方法。有谁知道如何在新的 Windows Phone 8.1 上启动此任务?
7 回答
await Windows.System.Launcher.LaunchUriAsync(
new Uri("ms-windows-store:reviewapp?appid=" + CurrentApp.AppId));
这很好!
没有直接替换MarketplaceReviewTask
. 现在它像这样工作 - 通过使用带有适当Uri的LaunchUriAsync - 在“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 方案都有效。所以你也可以像这样使用它们:
审查应用程序:
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 Universal Apps。但由于构建通用应用程序的主要原因是让一个应用程序同时在 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
好的。我解决了这个问题。我不确定这是否是最好的方法,但这是唯一有效的方法。
我没有使用任何特殊的 Uri,而是像这样直接链接到我的应用商店链接。如MSDN中所述。
但是有一个问题,如果您从未发布要启用审核的应用程序,您将没有链接。
感谢@Romasz 分享 MSDN 链接。
这将打开重定向到商店的 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。
希望能帮助到你