Windows Phone - Rate&检查命令

时间:2015-12-18 22:55:51

标签: c# windows-phone

我有一个Windows Phone 8.1 Silverlight应用程序。在WP8.1上,当用户对我的应用进行评级/评论时,我使用以下命令:

new MarketplaceReviewTask().Show();

这会将用户带到Windows应用商店应用上的应用的费率/评论选项。但是,这个命令在WP10上不起作用 - 它只是挂起,然后最终进入商店的主入口点。现在我在PC上也有这个应用程序作为Windows 8.1 RT应用程序。在这里,我使用不同的命令:

await Launcher.LaunchUriAsync(new Uri("ms-windows-store:REVIEW?PFN=Microsoft.CityArtSearch_8wekyb3d8bbwe"));

我可以在我的手机应用程序上使用此命令,它在WP10上运行正常。但是,在WP8.1上,它会出于某种原因打开 Xbox音乐应用。有谁知道在WP8.1上成功使用第二个命令的方法?现在有不同的URI吗?

2 个答案:

答案 0 :(得分:2)

当您使用Windows Phone 8.1非silverlight时,以下代码将起作用

await Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:reviewapp?appid={0}", appID)));

现在,什么是appID?我花了一段时间来弄清楚这一点。这不是你在包清单文件中找到的东西(至少对我而言)。

要获取您的特定appID,请登录您的Windows开发帐户,转到信息中心,导航到您的应用,然后转到App ManagementApp Identity。在底部,您可以看到带有appID部分的Windows Phone 8.1及更早版本的URL。这是启动器命令的appID。

Retrieve app id via Windows Dev Center

这适用于WinRT 8.1。但是,如果您的应用尚未上传到Windows开发人员中心,我不知道如何获取此appID。根据微软的认证规则,如果根据我的记忆,如果没有可能从应用程序内部进行审核,则不应该对您的应用程序进行认证。但至少在我的情况下,他们在认证我的应用程序时并不那么小心:)

但是,此解决方案可能无法解决操作系统版本检查的问题。

答案 1 :(得分:1)

您可以尝试以下语法:

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

其中appid是Package.appxmanifest中的包名称(PhoneProductId)。