Windows phone 8.1 什么';s取代Windows Phone 8.1通用应用程序中的MarketplaceReviewTask

Windows phone 8.1 什么';s取代Windows Phone 8.1通用应用程序中的MarketplaceReviewTask,windows-phone-8.1,win-universal-app,Windows Phone 8.1,Win Universal App,我到处都找遍了,就是找不到一个方法从我的应用程序中启动费率和审查。有人知道如何在新的Windows Phone 8.1上启动此任务吗?没有可直接替代的MarketplaceReviewTask。现在它是这样工作的-通过使用Launchurisync和适当的Uri-如所述: 查看您可以使用的应用程序: wait Windows.System.Launcher.launchurisync(新Uri(“ms Windows应用商店:reviewapp?appid=[appid]”); //或者仅针对当

我到处都找遍了,就是找不到一个方法从我的应用程序中启动费率和审查。有人知道如何在新的Windows Phone 8.1上启动此任务吗?

没有可直接替代的
MarketplaceReviewTask
。现在它是这样工作的-通过使用Launchurisync和适当的Uri-如所述:

查看您可以使用的应用程序:

wait Windows.System.Launcher.launchurisync(新Uri(“ms Windows应用商店:reviewapp?appid=[appid]”);
//或者仅针对当前应用程序:
等待Windows.System.Launcher.launchurisync(新Uri(“ms Windows应用商店:reviewapp”);
在上面的链接(MSDN)中,您还可以找到Uri结构,以导航到详细信息页面并在存储中搜索指定的内容

还请注意,Windows Phone 8.1与WP 8.0具有向后兼容性,因此所有功能都可以正常工作。因此,您也可以这样使用它们:

查看应用程序:

等待Windows.System.Launcher.launchurisync(新Uri(@“zune:reviewapp?appid=app”+YourAppID));
要查看应用程序的详细信息页面:

等待Windows.System.Launcher.launchurisync(新Uri(@“zune:navigate?appid=[appid]”);

好的。我把这件事搞定了。我不确定这是否是最好的方法,但这是唯一有效的方法

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

但是有一个问题,如果你从未发布过你想要启用review的应用程序,你将没有链接

感谢@Romasz分享MSDN链接

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

这很好

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

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

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

await Launcher.LaunchUriAsync(CurrentApp.LinkUri);

我知道这个问题是专门针对Windows Phone 8.1通用应用的。但我想补充一点,由于构建通用应用程序的主要原因是让一个应用程序同时在Windows Phone 8.1和Windows 8.1上运行,因此Windows应用商店应用程序的链接是不同的

如MSDN()中所述,链接语法有点不同:

要创建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

我发现了一种巧妙的方法来区分WindowsPhone8.1和WindowsPhone10,在 基于该功能,我使用以下代码使分级功能在wp8.1和wp10上工作(在诺基亚Lumia 925、诺基亚Lumia 735和诺基亚Lumia 930上测试)

我想强调的是,我正在使用的应用程序仅限于windows phone,而不是UWP


希望它有帮助

是的,我也看到了这种方法,但是我还无法测试它,因为我无法使用模拟器,因为我正在使用虚拟化Windows 8.1进行开发。一旦我能测试你的答案,我会接受的。谢谢。好的,我设法让模拟器工作,并尝试了这一点,但它没有打开商店,而是打开了Xbox音乐应用程序。真奇怪。我想可能是因为商店没有安装任何应用程序。。。无论如何,在我可以在手机上进行测试之前,我会一直打开它。@LPains我认为这是emulator的问题。我也愿意在开发者预览发布时检查它。是的。刚刚在运行8.1的Windows Phone上进行了测试,但仍然无法按预期工作。调用该Uri时,它会打开音乐应用程序。@Lpains在Windows Phone 8.1上执行了zune:reviewapp?app=app[ID]替代操作吗?我今天已经测试过了,我也遇到了同样的问题。我相信这是一种错误,它打开了音乐中心而不是Windows商店。感谢您分享另一种可能性。您在windows phone上试用过吗?它起作用了吗?因为我尝试了@Romasz建议的类似于此的方法,但它不起作用。我测试了这个,它是有效的。但是,真正的测试只能在应用程序第一次发布后进行。请关闭。我昨天发布了我的应用程序的测试版,发布后肯定能正常工作。谢谢@user3496220。请尽量避免只回答代码问题。至少写几句话来描述代码片段如何解决问题。这将打开IE,从而重定向到商店。不要使用这种方法,因为它在被定向到商店之前有一个到Internet Explorer的不必要的导航。其他方法避免了这一步。这个问题只从WindowsPhone8.1开始。有人将其更改为通用应用程序。。。谢谢你的回答。这对我很有帮助!我的印象是,相同的解决方案适用于这两种平台……但当然,微软并没有让它变得那么容易。掌纹
        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
            }
        }