14

我到处寻找,只是找不到从我的应用程序启动评分和评论的方法。有谁知道如何在新的 Windows Phone 8.1 上启动此任务?

4

7 回答 7

39
await Windows.System.Launcher.LaunchUriAsync(
    new Uri("ms-windows-store:reviewapp?appid=" + CurrentApp.AppId));

这很好!

于 2014-04-21T07:08:33.843 回答
14

没有直接替换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]"));
于 2014-04-10T05:02:10.603 回答
6

我可以确认 user3496220 发布的方法有效,但前提是您使用的是来自开发中心的应用程序 ID(不是 CurrentApp.AppId),在您的情况下是这样的:

await Windows.System.Launcher.LaunchUriAsync(
    new Uri("ms-windows-store:reviewapp?appid=fc0c29fc-f615-4753-aad7-5cf760ca5d2d"));
于 2014-04-21T15:02:42.220 回答
1

我知道这个问题专门针对 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
于 2014-10-17T17:40:45.067 回答
0

好的。我解决了这个问题。我不确定这是否是最好的方法,但这是唯一有效的方法。

我没有使用任何特殊的 Uri,而是像这样直接链接到我的应用商店链接。如MSDN中所述。

但是有一个问题,如果您从未发布要启用审核的应用程序,您将没有链接。

感谢@Romasz 分享 MSDN 链接。

于 2014-04-16T02:53:12.843 回答
0

这将打开重定向到商店的 IE:

await Launcher.LaunchUriAsync(CurrentApp.LinkUri);
于 2014-06-15T20:49:44.097 回答
0

我找到了一种棘手的方法来区分 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。

希望能帮助到你

于 2016-06-05T12:41:35.433 回答