C# 视窗电话-收费及;复查命令
我有一个Windows Phone 8.1 Silverlight应用程序。在WP8.1上,当让用户对我的应用程序进行评分/审核时,我使用以下命令:C# 视窗电话-收费及;复查命令,c#,windows-phone,C#,Windows Phone,我有一个Windows Phone 8.1 Silverlight应用程序。在WP8.1上,当让用户对我的应用程序进行评分/审核时,我使用以下命令: new MarketplaceReviewTask().Show(); 这将使用户转到Windows应用商店应用程序上“我的应用程序”的“费率/审核”选项。但是,这个命令在WP10上不起作用-它只是挂起,然后最终转到存储的主入口点。现在我也有这个应用程序在PC上作为Windows 8.1 RT应用程序。在这里,我使用一个不同的命令: await
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?您可以尝试以下语法:
await Launcher.LaunchUriAsync(new Uri("ms-windows-store:reviewapp?appid=" + appid));
其中appid是Package.appxmanifest中的程序包名称(PhoneProductId)。当您使用Windows Phone 8.1非silverlight时,以下代码将起作用
await Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:reviewapp?appid={0}", appID)));
现在,什么是appID?我花了一段时间才弄明白。您在包清单文件中找不到它(至少对我来说)
要获取您的特定appID,请登录您的Windows开发帐户,转到仪表板,导航到您的应用程序,然后转到应用程序管理
和应用程序标识
。在底部,您可以看到Windows Phone 8.1及更早版本的URL,其中包含appID部分。这是启动程序命令的appID
这在WinRT 8.1上适用。但是如果你的应用还没有上传到Windows开发中心,我不知道如何获取这个appID。据我记忆所及,根据微软的认证规则,如果没有可能从应用程序内部对应用程序进行审核,那么你的应用程序就不可能获得认证。但至少在我的情况下,他们在认证我的应用程序时没有那么小心:)
但是,此解决方案可能无法解决操作系统版本检查的问题。谢谢您的帮助!我通过编程方式检查OSVersion,然后根据WP8.1或WP10选择适当的命令。但是你的是更好的解决方案。这个解决方案现在已经不起作用了:(我回头检查要使用哪个命令的操作系统版本。)。