MRが楽しい

MRやVRについて学習したことを書き残す

MicrosoftStoreのアプリ登録手順を翻訳する その1

本日は HoloLens の調査枠です。
以下の公式ページのMicrosoftStoreのアプリ登録手順の翻訳を読みながらまとめます。
docs.microsoft.com

内容が濃いので、本記事はマニフェストの記述までです。

Microsoftストアにアプリを送信する

HoloLens と Windows 10 PC の Immersive ヘッドセットの両方が UWP アプリケーションを実行します。
HoloLensまたはPC(またはその両方)をサポートするアプリケーションを登録する場合、Windows Dev Center dashboard を介してMicrosoft Storeにアプリを送信します。
Sign in to your account

Windows Dev Center アカウントをお持ちでない場合は、今すぐ申し込むことができます。
Register as an app developer – Windows app development

WindoewMRアプリケーションのパッケージ化

appxに含まれる画像アセットを準備する

appx パッケージにアプリケーションをビルドしてStoreに送信するには、必要なイメージアセットがいくつかあります。
タイルおよびアイコンアセットのガイドラインについて詳しくは、MSDNを参照してください。
タイルとアイコン アセット - UWP app developer | Microsoft Docs

資産名推奨される縮尺拡張子表示箇所
Square 71x71 Logo無しPNGN/A
Square 150x150 Logo150x150(100%)または225x225(150%)PNGスタートピンとすべてのアプリ(310x310が提供されていない場合),ストア検索のサジェスト,ストアのリストページ,ストアの参照,ストアの検索
Wide 310x150 Logo無しPNGN/A
Store Logo75×75(150%)PNGデベロッパーセンター,レポートアプリ,レビュー,マイライブラリ
Splash Screen930x450(150%)PNG2Dアプリランチャー

HoloLensが活用できる推奨アセットもあります。

資産名推奨される縮尺表示箇所
Square 310x310 Logo310×310(150%)スタートピンとすべてのアプリ

ライブタイルの要件

HoloLensの[スタート]メニューは、最大の正方形のタイルイメージを使用します。

マイクロソフトが公開しているアプリケーションの中には、3Dランチャーを持つアプリケーションがあることがあります。
開発者は、以下の手順を使用してアプリの3Dランチャーを追加できます。
docs.microsoft.com

Windowsのターゲットと最小バージョンの指定

WindoewMR のアプリケーションに、Windowsの特定のバージョンの固有の機能が含まれている場合、UWP アプリケーションがサポートする対象プラットフォームと最小プラットフォームのバージョンを指定することが必要です。。

特に、WindowsMR の Immersive ヘッドセットを対象としたアプリケーションでは、少なくともWindows 10 Fall Creators Update(10.0; Build 16299)が正しく機能する必要があります。

Visual Studioで新しいユニバーサルWindowsプロジェクトを作成するときに、ターゲットと最小バージョンのWindowsを設定するよう求められます。「Project」メニューの既存プロジェクトのこの設定を変更し、ドロップダウンメニューの下部にある「Properties」で変更することもできます。

ターゲットデバイスファミリの指定

WindoewMR のアプリケーション(HoloLens と Immersive ヘッドセットの両方)は UWP アプリケーションです。
Windows.Universal」のターゲットデバイスファミリを持つアプリパッケージは、HoloLens または Windows 10 PC 上で実行できます。
つまり、マニフェストにターゲットデバイスファミリを指定しない場合、意図しない Windows 10 デバイスまでアプリケーションを実行する可能性があります。
以下の手順に従って、対象のWindows 10デバイスファミリを指定して下さい。
Windows Dev Center でアプリケーションパッケージをアップロードして Store に送信する際にも、正しいデバイスファミリが選択されていることを再度確認します。

Visual Studio でこのフィールドを設定するには「Package.appxmanifest」を右クリックし、[コードの表示]を選択して「TargetDeviceFamily」のタグを見つけます。
デフォルトでは、次のようになります。

<Dependencies>
   <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
</Dependencies>

アプリケーションがHoloLens用に作成されている場合は、 "Windows.Holographic"のターゲットデバイスファミリを指定します。
これでHoloLensにのみインストールされます。

<Dependencies>
   <TargetDeviceFamily Name="Windows.Holographic" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
</Dependencies>

アプリケーションが WindowsMR の Immersive ヘッドセット用に作成されている場合は、「Windows.Desktop」というターゲットデバイスファミリを指定しします。
これで Windows 10 Fall Creators Update(Windows Mixed Realityに必要)を搭載したWindows 10 PCにのみインストールされます。
MinVersionは "10.0.16299.0"になります。

<Dependencies>
   <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested="10.0.16299.0" />
</Dependencies>

アプリケーションが HoloLens と WindowsMR の Immersive ヘッドセットの両方で動作するようになっている場合は、それぞれのターゲットのデバイスファミリと、それぞれのMinVersionを設定します。

<Dependencies>
   <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested="10.0.16299.0" />
   <TargetDeviceFamily Name="Windows.Holographic" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
</Dependencies>

ターゲティングデバイスファミリーの詳細については、TargetDeviceFamily UWP のドキュメントを参照してください。
TargetDeviceFamily (Windows 10) - UWP app developer | Microsoft Docs

ストアとアプリの関連付け

Visual Studio の[Project]メニューから、[Store]> [Associate App with the Store]を選択します。
これを行うと、アプリで購入シナリオと通知シナリオをテストできます。
アプリケーションを Store に関連付けると、これらの値はローカルマシン上の現在のプロジェクトのアプリケーションマニフェストファイルにダウンロードされます:

・パッケージの表示名
・パッケージ名
・サイト運営者ID
・サイト運営者の表示名
・バージョン

マニフェストの .xml ファイルを作成してデフォルトの package.appxmanifest ファイルを上書きすると、アプリケーションを Store に関連付けることはできません。
カスタムマニフェストファイルを Store に関連付けると、エラーメッセージが表示されます。

アップロードパッケージの作成

Windows 10 用の UWP アプリケーションのパッケージ化のガイドラインに従ってください。
Packaging Universal Windows apps for Windows 10 | Microsoft Docs

アップロードパッケージを作成する最後のステップは、Windows App Certification Kit を使用してパッケージを検証することです。・

他のWindows 10デバイスファミリで利用可能な既存の製品にHoloLens専用のパッケージを追加する場合は、特定の顧客に配布されるパッケージのバージョン番号の影響、および、異なるオペレーティングシステムへのパッケージの配布方法について参照下さい。
パッケージ バージョンの番号付け - UWP app developer | Microsoft Docs
アプリ パッケージ管理のガイダンス - UWP app developer | Microsoft Docs

一般的には、デバイスに適用可能な最も高いバージョン番号のパッケージが、Store によって配布されます。

Windows.Universal パッケージと Windows.Holographic パッケージの両方が存在し、Windows.Universal パッケージのバージョン番号が高い場合、HoloLens ユーザーは Windows.Holographic パッケージの代わりにより高いバージョン番号の Windows.Universal パッケージをダウンロードしてしまいます。
この問題の解決策はいくつかあります。

1. Windows.Holographic などのプラットフォーム固有のパッケージが、常に Windows.Universal などのプラットフォームに依存しないパッケージよりも高いバージョン番号を持つようにする
2. プラットフォーム固有のパッケージを持っている場合は、Windows.Universal としてアプリケーションをパッケージ化しない。代わりに使用できる別のプラットフォーム用の Windows.Universal パッケージをパッケージ化してください
3. 全てのプラットフォームで動作する単一の Windows.Universal パッケージを作成する。これをサポートするのは今のところ難しいので、他の解決策をお勧めします。


ここまで。続きもじっくり読みたくなったらまとめます。