Uwp AppId和包Id是否相同?

Uwp AppId和包Id是否相同?,uwp,windows-store-apps,win-universal-app,windows-10-universal,Uwp,Windows Store Apps,Win Universal App,Windows 10 Universal,我想打开我当前应用程序的Windows应用商店(以便用户可以对应用程序进行评分/查看)。在这样做的过程中,我需要获取应用程序ID。但是,我遇到这样的情况,即CurrentApp.AppId需要花费大量时间,并提供包ID作为替代。我以前从未在Windows应用商店上发布过应用程序,如果没有在Windows应用商店上发布/发布的应用程序,我现在无法对其进行测试 有人能帮我确认以下两行代码吗 //var appId = CurrentApp.AppId.ToString();

我想打开我当前应用程序的Windows应用商店(以便用户可以对应用程序进行评分/查看)。在这样做的过程中,我需要获取应用程序ID。但是,我遇到这样的情况,即
CurrentApp.AppId
需要花费大量时间,并提供包ID作为替代。我以前从未在Windows应用商店上发布过应用程序,如果没有在Windows应用商店上发布/发布的应用程序,我现在无法对其进行测试

有人能帮我确认以下两行代码吗

        //var appId = CurrentApp.AppId.ToString();
        var appId = Windows.ApplicationModel.Package.Current.Id;

这会让你得到你想要的:

await Launcher.LaunchUriAsync(new Uri($"ms-windows-store:REVIEW?PFN={Package.Current.Id.FamilyName}"));
应用商店将处理
ms windows应用商店:
协议,参数将指向应用程序的“费率和审核”部分。

否,并且不相同

如您所见,
AppId
是一个
Guid
结构,而
PackageId
是一个类
AppId
由Windows应用商店在您的应用已被认证可在Windows应用商店中列出时生成,而
PackageId
提供可在您的appx清单中找到的包标识信息,如名称、版本和发布者

由于
AppId
与Windows应用商店相关,因此首次尝试获取它时,可能需要一些时间。但这不会太长,在我的测试中大约是1秒。在此之后,当您再次尝试获取
AppId
时,它将非常快。(我认为它已经存储在本地机器中,因为它的值是不变的。)

但是,如果要启动产品的产品详细信息页面(PDP)。建议Windows 10上的客户使用产品ID。并且产品ID不是
AppId

要获取产品ID,如前所述:

这些值可以在每个应用程序的“应用程序管理”部分页面上的Windows开发中心仪表板中找到

为了以编程方式获取它,我们可以尝试使用属性,该属性返回Windows应用商店中应用程序列表页面的URI,如下所示:


https://www.microsoft.com/store/apps/Thank 非常感谢。这确实是我所需要的。然而,为了将来的参考,我希望我的问题有一个真实的答案。如果明天没有,我将更改我的问题,并将您的问题标记为答案。此外,根据这篇MSDN文章:
为产品启动产品详细信息页面(PDP)。建议Windows 10上的客户使用产品ID,但早期的方法(例如:PFN)仍然有效。
它说我应该使用产品ID?可以完成这项工作,例如在
c#
中使用
var ID=uriLink.Substring(uriLink.lastinexof('/')+1)
@JayZuo我对
包Id
有点困惑。您是否有时间就我的问题发表意见或提出解决方案?来自
@Luke Vo
的帖子标题似乎是关于
包Id vs-AppID
。您提到了
PackageId
,而不是
PackageId
,后者是-Package(一个类)类型的属性