次の方法で共有


アプリの復元: アプリの価値を最大化する

新しいデバイスに移行するユーザーのリテンション期間を最大化するには、アプリ (Windows アプリの復元と組み合わせて) で、可能な限り最適な復元エクスペリエンスを提供する必要があります。 このトピックでは、アプリがそのエクスペリエンスを提供し、できるだけ多くの顧客の関与を維持できるようにする、Windowsアプリの復元の教義を定義します。

アプリの復元が重要な理由

アプリのユーザーが次のWindows PC に移行するときは、アプリが新しいデバイスに転送されるという安心が必要です。

Windowsは、ユーザーのアプリ一覧をクラウドにバックアップします。復元時に、新しいWindows PC にピン留めされたアプリ プレースホルダーが作成され、ユーザーが期待する場所にアプリが見つかります。 これにより、アプリのインストールが非常に簡単になります。 ただし、ユーザーは、アプリケーションのインストールに加えて、アプリの構成と設定の残りの部分を新しいデバイスに転送する必要もあります。

アプリの復元機能の有効性を最大化するためにアプリがベスト プラクティスWindows従っていることを確認すると、ユーザーは新しい PC でできる限り迅速に生産性に戻ることができます。 これにより、アプリでユーザーを新しい PC に保持できるようになります。 このトピックの残りの部分では、これらのベスト プラクティスについて説明します。

アプリ復元の原則

これらのテネットは、アプリのユーザーに最適なバックアップと復元のエクスペリエンスを実現するためのガイドラインとベスト プラクティスです。 これらは、収集した既存のベスト プラクティスのコレクションです。

  • アプリをMicrosoft Storeに発行します。 アプリは、Microsoft Storeを介して信頼された配布を有効にする必要があります (アプリとゲームを公開 Windowsするを参照)。 これは、ユーザーに信頼できるシームレスな (クリック数が少ないと考える) エクスペリエンスを提供する最も簡単な方法です。
  • アプリをパッケージ化します。 アプリを パッケージ化 する必要があります (定義については、「 デプロイの概要」を参照してください)。 パッケージアプリを使用すると、システムはアプリにとって重要なファイル、データ、設定をよりよく理解できます。を使用すると、システムは必要に応じてアプリをより簡単に復元できます。
  • 重要なアプリの状態をクラウドに格納します。 アプリは、その重要なアプリの状態をクラウドに格納する必要があります。 新しいデバイスにアプリをインストールすることは、最初の手順にすぎません。 ユーザーが以前のアプリの状態 (最近のもの、お気に入り、ユーザーの好み) にシームレスに戻すのが目標です。これを行う最善の方法は、その重要なユーザー状態情報をクラウドに格納することです。 ローカル状態は、一時的な最適化であると考える必要があります。
  • ユーザーが生成したコンテンツを既知のフォルダーに書き込みます。 アプリは、ユーザー生成コンテンツをWindows既知のフォルダーに書き込む必要があります (KnownFolders クラスを参照)。 アプリの状態とは別にしておきます。アプリがユーザー生成コンテンツ (ファイル、サウンド クリップ、ビデオなど) を生成する場合は、そのコンテンツをWindows既知のフォルダー (ドキュメント、画像、音楽、ビデオなど) に書き込む必要があります。 これにより、Windows OneDriveを介してこれらのファイルをクラウドにバックアップし、ファイル オンデマンド テクノロジを使用してデバイス間で円滑に同期を保つことができます。

アプリをMicrosoft Storeに発行する

Microsoft Storeは、Windows アプリの最も信頼性の高い配布クラウドです ( Windows アプリとゲームの公開を参照)。 ユーザーは、インストールするアプリを簡単に検索して見つけることができます。

ユーザーが新しいオペレーティング システム (OS) をインストールし、以前の PC から復元することを選択すると、Microsoft Storeに含まれるアプリは自動的に All Apps リストに表示され、以前と同じ場所の Start メニューとタスク バーにピンが表示されます。 これらのショートカットを使用すると、ユーザーはすぐにアプリにアクセスしてインストールできます。

アプリをパッケージ化する

ユーザーにとって優れたエクスペリエンスを作成するためのもう 1 つの鍵は、アプリがインストールされ、正しく動作することを保証することです。 これを行う最善の方法は、 パッケージ アプリ を使用することです ( 「デプロイの概要」を参照)。

パッケージ化されたアプリ (パッケージ化されたデスクトップ アプリまたは WinUI アプリ) は MSIX を使用してパッケージ化され、軽量アプリ コンテナー内で実行されます。 パッケージ化されたアプリ プロセスとその子プロセスは、コンテナー内で実行されます。ファイル システムとレジストリの仮想化を使用して分離されています。 パッケージ化のこれらの側面により、インストールの信頼性が非常に高く、ユーザーがアンインストールしたときにアプリが誤って動作したり、レジストリ構成やアプリ ファイルを PC に残したりしないようにします。

パッケージ化に MSIX を使用する利点の詳細については、「 MSIX とは」を参照してください。

MSIX 形式とパッケージ アプリの利点は、アプリの信頼性で終わることはありません。 また、アプリをパッケージ化すると、ユーザーが新しい PC に移行したときに、アプリを迅速にインストールできるようになります。 インストール後、Windowsは復元されたパッケージ アプリのリハイドレートを開始します。 リハイドレートには時間がかかるため、アプリがリハイドレートされる前にユーザーがリンクをクリックすると、Windowsはすぐにアプリをダウンロードしてインストールし、ユーザーはできるだけ早くアプリを実行できるようになります。

重要なアプリの状態をクラウドに格納する

ご覧のように、Windowsは、顧客が新しい PC でアプリを見つけてインストールするのに役立ちます。 しかし、アプリの設定など、アプリ データはどうでしょうか。 最適なユーザー エクスペリエンスを提供するには、クラウドを使用してアプリの状態を格納することをお勧めします。 アプリ データをクラウドに格納することで、ユーザーはデバイス間で一貫したエクスペリエンスを実現できます。 また、ユーザーがアプリの設定を再構成する必要がない場合は、ユーザーの満足度が大幅に向上します。

クラウドにアプリ設定を格納するには、サービスが必要です。 Microsoftは、可能な限り豊富なエクスペリエンスを提供するために、サーバーを起動したり、データベースを選択したり、スケールやセキュリティについて心配したりする必要のないさまざまなサービスを提供します。 これらのサービスは、SQL または NoSQL API を使用してクラウドにアプリケーション データを格納できる優れた開発者エクスペリエンスを提供します。 スケーラブルで堅牢なアプリケーションを構築するために、すべてのデバイスでデータを同期し、ネットワーク接続の有無にかかわらずアプリケーションを動作させることもできます。 Microsoft サービスの詳細については、「クラウドからのモバイル アプリケーション データのストア、同期、クエリを参照してください。

アプリ データの格納に関するベスト プラクティスの詳細については、「 設定とその他のアプリ データを格納および取得する」を参照してください。

ユーザーが生成したコンテンツを既知のフォルダーに書き込む

Windows Windows Vistaでknown フォルダーを導入しました。 それ以来、ユーザーは、アプリで作成したコンテンツをそれらの場所で見つけることができると期待しています。 ユーザーが生成したコンテンツをそれらの場所に書き込むには、新しい PC でユーザーが使用できるように、OneDriveがそれらのフォルダーをバックアップするという利点があります ( OneDriveを参照)。 標準のWindows API を使用して、ユーザー生成コンテンツを既知のフォルダーに書き込むことで、ユーザー エクスペリエンスが向上し、アプリの導入における摩擦が減少します。

ユーザーに表示されるファイル

ユーザーに表示して操作するファイルは、ユーザーのプロファイル内の適切なフォルダーに格納する必要があります。 一般的なファイルは、 FOLDERID_Documents の場所 (通常はサブフォルダー) に格納する必要があります。 また、画像、音楽、ビデオは、適切な FOLDERID_PicturesFOLDERID_MusicFOLDERID_Videos の場所に保存する必要があります。

コンピューター固有のアプリ データ

アプリが現在実行されているコンピューターに固有のデータは、通常はサブフォルダーの FOLDERID_LocalAppData フォルダーに格納する必要があります。 これには、次のようなデータが含まれます。

  • システム パフォーマンス メトリック。 現在のコンピューターに関して収集および保持され、その特定のコンピューターでのアプリの動作を最適化するために使用される情報。 たとえば、(最適なレンダリング品質を判断するために) コンピューターのグラフィックス機能とパフォーマンスに関する情報を収集した場合、そのデータをローミングしないでください。
  • コンピューター固有の機能に接続されているユーザーのカスタマイズ。 コンピューターのグラフィックス機能とパフォーマンスに基づいてレンダリングパフォーマンスを最適化するアプリでは、ユーザーがそれらの基本設定に加える変更をマシン固有のデータとして格納する必要もあります。 これにより、ユーザーは、アプリで実行されているマシンに最適なエクスペリエンスであると判断した内容を確実に楽しむことができます。

ヒント

コンピューター固有のデータを既知のフォルダーに格納しないことをお勧めする理由は、ユーザー固有のフォルダーがマシン間でユーザーと共に移動 ( ローミング) するためです。 そのため、コンピューター固有のデータを格納すると、ユーザーが複数のマシンでアプリを使用するとき、またはアップグレード後に競合や問題が発生する可能性があります。

コンピューター固有ではないアプリ データ

コンピューター固有ではないデータは、 FOLDERID_Documents の場所 (通常はサブフォルダー) に格納する必要があります。 多くの場合、これらのファイルには、起動時に実行する既定のアクションなど、ユーザーが指定したアプリのカスタマイズが含まれています。カスタム背景;または、あるコンピューターから別のコンピューターに変更すべきではないその他のデータ。

パッケージ化されていないアプリのベスト プラクティス

アプリをパッケージ化できない場合は、インストーラーで以下の推奨事項が実装されていることを確認してください。 これにより、バックアップから復元された新しいマシンへのインストールを可能にする [スタート ] メニューのショートカットをバックアップおよび復元できるようになります。

  • インストーラーでアンインストール レジストリ キーに InstallLocation 値が指定されていることを確認します。 Windows InstallerARPINSTALLLOCATION を使用してこれを指定します。 これは、 スタート メニューのショートカットを製品にマッピングできるようにするために必要です。
  • その場所が製品に固有であることを確認します。通常は、C:\Program Files\<Publisher>\<Application> の下のサブディレクトリです。
  • [スタート] メニューのショートカットに、コンピューターに依存しないSystem.AppUserModel.ID (AMUID) の値があることを確認します。 ショートカット メタデータで明示的に指定することをお勧めします。 詳細については、「 AppUserModelID を割り当てる場所」を参照してください。