什么是Windows Phone 8.1 Universal Apps中MarketplaceReviewTask的替代品

时间:2014-04-10 00:56:10

标签: windows-phone-8.1 win-universal-app

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

7 个答案:

答案 0 :(得分:39)

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

这很好!

答案 1 :(得分:14)

没有直接替换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]"));

答案 2 :(得分:6)

我可以确认user3496220发布的方法是否有效,但前提是您正在使用Dev Center中的应用程序ID(而非CurrentApp.AppId) 在你的情况下像这样:

await Windows.System.Launcher.LaunchUriAsync(
    new Uri("ms-windows-store:reviewapp?appid=fc0c29fc-f615-4753-aad7-5cf760ca5d2d"));

答案 3 :(得分:1)

我知道这个问题是关于Windows Phone 8.1 Universal Apps的。但由于构建通用应用程序的主要原因是在Windows Phone 8.1和Windows 8.1上都运行了一个应用程序,我想补充一点,Windows Store应用程序的链接不同。

如MSDN(http://msdn.microsoft.com/en-us/library/windows/apps/Hh974767.aspx)中所述,链接语法略有不同:

要创建Windows应用商店协议链接,请将应用的包系列名称附加到网址:

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

答案 4 :(得分:0)

确定。我解决了这个问题。我不确定这是否是最佳方式,但这是唯一可行的方式。

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

但是有一个问题,如果您从未发布过想要启用评论的应用,那么您将无法获得链接。

感谢@Romasz分享MSDN链接。

答案 5 :(得分:0)

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

await Launcher.LaunchUriAsync(CurrentApp.LinkUri);

答案 6 :(得分: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。

希望有所帮助