我有一个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吗?
答案 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 Management
和App Identity
。在底部,您可以看到带有appID部分的Windows Phone 8.1及更早版本的URL。这是启动器命令的appID。
这适用于WinRT 8.1。但是,如果您的应用尚未上传到Windows开发人员中心,我不知道如何获取此appID。根据微软的认证规则,如果根据我的记忆,如果没有可能从应用程序内部进行审核,则不应该对您的应用程序进行认证。但至少在我的情况下,他们在认证我的应用程序时并不那么小心:)
但是,此解决方案可能无法解决操作系统版本检查的问题。
答案 1 :(得分:1)
您可以尝试以下语法:
await Launcher.LaunchUriAsync(new Uri("ms-windows-store:reviewapp?appid=" + appid));
其中appid是Package.appxmanifest中的包名称(PhoneProductId)。