5

私は現在のアプリケーションのWindowsストアを開いています(ユーザーがアプリを評価/レビューできるようにしたい)。その際、私はApp IDを取得する必要があります。しかし、私はCurrentApp.AppIdが多くの時間を要し、パッケージIDを代理として提供していると言うthis article in SOに出くわす。以前はWindowsストアでアプリを公開したことがなく、Windowsストアで公開/公開されていないアプリをテストすることはできません。AppIdとパッケージIDは同じですか?

誰でも次の2行のコードについて確認できますか?

await Launcher.LaunchUriAsync(new Uri($"ms-windows-store:REVIEW?PFN={Package.Current.Id.FamilyName}")); 

Storeがms-windows-store:プロトコルを処理する、との引数は、アプリケーションの「レートとレビュー」のセクションを指すようにします:

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

答えて

4

いいえ、AppIdおよびPackageIdは同一ではない。

このように、AppIdGuid構造ですが、PackageIdはクラスです。 AppIdは、お使いのアプリがWindowsストアに登録されていることが証明されているときにWindowsストアによって生成され、PackageIdは、appxマニフェストにある名前、バージョン、パブリッシャなどのパッケージ識別情報を提供します。

AppIdはWindowsストアに関連しているため、初めて取得しようとすると時間がかかることがあります。しかし、これは長すぎることはありません、私のテストでは約1秒です。その後、AppIdを再度取得しようとすると、非常に高速になります。 (値が不変なのでローカルマシンに保存されていると思います)

ただし、製品の製品詳細ページ(PDP)を起動する場合は、製品IDはWindows 10のお客様にお勧めします。製品IDはAppIdではありません。 Launch the Windows Store appが言ったように

は、プロダクトIDを取得するには:

これらの値は、各アプリケーションのためのアプリケーション管理部でApp identityページ上のWindowsデベロッパーセンターのダッシュボードで確認できます。

プログラムでそれを得るために、我々はCurrentApp.LinkUriプロパティを使用しようとすることができ、このプロパティは次のようにWindowsストアでのアプリの一覧ページのURIを返します。

https://www.microsoft.com/store/apps/<your app's Product ID>

プロダクトIDも不変なので、Windowsデベロッパーセンターのダッシュボードで見つけて、あなたのアプリでハードコードしてください。

+0

'var id = uriLink.Substring(uriLink.LastIndexOf( '/')+ 1);で' c# 'のようにジョブを終了することができます。 – bunkerdive

1

これが何をしたいあなたを取得する必要があります。

+0

ありがとうございました。これは確かに私が必要としているものです。しかし、将来の参考として、私の質問に本当の答えがあるなら、私は大好きです。明日がなければ、私は質問を変えてあなたの答えを答えにします。 –

+1

また、このMSDN記事によると:https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/launch-store-app?f=255&MSPPError=-2147217396 '製品の詳細ページを起動します( PDP) 製品IDはWindows 10のお客様にはおすすめですが、以前の方法(例:PFN)でも動作します。「製品IDを使用する必要がありますか? –

関連する問題