キャンバス アプリ用のモバイル オフラインの設定

ユーザーがインターネット接続を気にせずに作業する必要がある場合は、キャンバス アプリでオフライン モードをオンにします。

前提条件

  • キャンバス アプリはソリューションにある必要があります

  • 明示的な列の選択 をオンにする必要があります。 機能を有効にするには、編集用にキャンバス アプリを開いてから、設定 > 近日公開の機能 > プレビュー に移動します。 明示的な列の選択 トグルを オン に設定します。

  • キャンバス アプリのオフライン モードを設定するには、環境メーカー、システム管理者、またはシステム カスタマイザーの役割が必要です。 これらのロールには Canvas App および Mobile offline profile  テーブル上で作成、読み取り、書き込み、削除、共有の権限があります。 定義済みのセキュリティ ロールについてご覧ください

  • Basic ユーザー ロールを持つユーザーはオフライン アプリケーションを開いて使用できます。 Canvas App テーブルと Mobile offline profile  テーブルに対する読み取り権限を持つカスタム セキュリティ ロール を作成する必要があります。

  • カスタムセキュリティ ロールを既にお持ちの場合は、Canvas App および Mobile offline profile テーブルでの読み取り権限を付与していることを確認してください。 その他の権限についてご覧ください

お持ちのアプリを Mobile Offline 用に最適化する

モバイル アプリは、接続が制限された小さな画面で実行されます。 オフライン モードを設定する前に、キャンバス アプリがオフラインおよびモバイルでの使用に最適化されていることを確認してください。 カバーするユーザー シナリオと、アプリが使用するデータの量を考慮してください。 シンプルで軽量なアプリを作成します。

Mobile Offline で使用するアプリを構築する際は、次のベストプラクティスに従ってください:

  • モバイルでアプリを実行する場合、パフォーマンスは極めて重要です。 パフォーマンスの高いキャンバス アプリを作成する方法の詳細については、パフォーマンス アプリの作成の概要 を参照してください。

  • 現場で働くユーザーによって実行されるタスクなど、機能的に関連する外出中のシナリオを特定します。

  • ダウンロードする必要のあるテーブルの数を制限することで、アプリの複雑さを軽減します。 アプリが 1 つではなく 2 つある方が良い場合があります。

  • 大量のデータを表示するのではなく、体験に最適化されたビューを使用します。 たとえば、 すべてのアカウント ビューではなく、 アクティブなアカウント ビューを使用することが推奨されています。

テーブルのオフライン機能をオンにする

オフライン ファースト アプリが使用するテーブルでは、オフライン機能がオンになっている必要があります。 一部の組み込みテーブルには既定で含まれています。 一部のテーブルはオフラインでは使用できません。 ただし、任意の新しいカスタム テーブルに対してオフライン機能を有効にすることができます。

  1. Power Apps にサインインします。

  2. 左側のサイド パネルで、 テーブルを選択します。

  3. テーブルを選択してから、編集を選択します。

  4. テーブル プロパティの編集 を選択します。

  5.  詳細オプションを選択してから、 このテーブルの行 セクションへスクロールします。

  6.  オフラインで取得できる を選択します。

    **オフラインで取得できる**が強調表示されている、テーブル編集オプションのスクリーンショット。

  7. 保存 を選択します。

アプリのオフライン機能をオンにする

  1. Power Apps Studio の、左側のパネルで、 アプリを選択します。

  2. キャンバス アプリを選択してから、 編集を選択します。

  3.  設定 を選択します。

  4.  全般 を選択します。

  5.  オフラインで使用できる オプションをオンにします。

  6. オフライン プロファイルを選択します。 次の 2 つのオプションがあります:

    • 自動作成プロファイルを使用します。 この設定は、アプリで使用されるテーブルをダウンロードするもので、推奨されているオプションです。

    • カスタム プロファイルを作成し、リフレッシュ アイコンを選択してリストに新しいプロファイルを表示してから、それを選択します。

      表示されない場合は、オフラインで使用可能オプションで、アプリがソリューション内にあることを確認します。

  7.  設定  ウィンドウを閉じて、アプリを保存して公開します。

オフライン テンプレートに基づいたページがアプリに自動的に挿入されます。 ページには、接続 Power Fx 関数を使用してアプリのオフライン同期ステータスを反映するアイコンが含まれています。 そのまま使用することも、必要に応じてカスタマイズすることもできます。

注意

新しいキャンバス アプリのオフライン機能を有効にしている場合は、既定の最初の画面がオフライン テンプレートに基づいていることを確認します。

Mobile Offline プロファイルの作成

自動生成されたオフライン プロファイルがニーズを満たさない場合は、独自のオフライン プロファイルを作成してください。 オフライン プロファイルのガイドラインについてご覧ください

キャンバス アプリの設定で新しいオフライン プロファイルを選択する前に、それを公開する必要があります。 オフライン プロファイルを編集して公開する場合は、それを使用するキャンバス アプリも公開する必要があります。

オフラインプロファイル (管理者権限を持つ) を作成する

  1. 管理者アカウントを作成して Power Platform 管理センターにサインインします。

  2. 左側パネルで、 環境を選択します。

  3. 環境を選択して、 設定 を選びます。

  4.  ユーザー + 権限 を展開し、 モバイル構成 を選択します。

  5.  新しいプロファイルを作成するを選択します。

  6. 名前および説明を入力してから、 作成を選択します。

  7. プロファイルの作成後、それを選択して編集を続けます。

  8.  オフラインで使用可能なデータ セクションで、 テーブルの追加を選択します。

  9. 一覧からテーブルを選択する。 オフラインで使用するように設定できるテーブルのみがリストに表示されます。

  10.  次へを選択します。

  11. テーブルの所有権のタイプに基づいてフィルターを選択します。

    テーブルの所有権の種類 データ ダウンロードで利用可能なフィルターのオプション
    ユーザーまたはチーム
    • 関連行のみをダウンロード: テーブルの関連データをオフラインで利用できるようにします。 関連付けを設定しない場合、このテーブルのどの行も使用できません。

    • すべての行: このテーブルのすべての行をオフラインで使用できるようにします。

    • その他のデータ フィルター: このテーブルに指定された行のみをオフラインで使用できるようにします。 次のオプションを設定します。

      • ユーザー行をダウンロード: 行のみをオフラインで使用できるようにします。

      • チーム行をダウンロード: チームの行をオフラインで使用できるようにします。

      • 部署の行をダウンロード: 自分の部署の行をオフラインで利用できるようにします。

    Organization
    • 関連行のみをダウンロード: テーブルの関連データをオフラインで利用できるようにします。 関連付けを設定しない場合、このテーブルのどの行も使用できません。

    • すべての行: このテーブルのすべての行をオフラインで使用できるようにします。
    事業
    • 関連データのみをダウンロード: テーブルの関連データをオフラインで利用できるようにします。 関連付けを設定しない場合、このテーブルのどの行も使用できません。

    • すべての行: このテーブルのすべての行をオフラインで使用できるようにします。

    • その他の行: このテーブルに指定された行のみをオフラインで使用できるようにします。 次のオプションを選択します:

      • 部署の行をダウンロード: 自分の部署の行をオフラインで利用できるようにします。
    None
    • 関連行のみをダウンロード: テーブルの関連データをオフラインで利用できるようにします。 関連付けを設定しない場合、このテーブルのどの行も使用できません。

    カスタムを選択すると、次のルールに従って最大 3 階層のカスタム フィルターを定義できます。

    ルール    
    等しい 等しくない gt – 次の値より大きい
    ge – 次の値以上 le – 次の値以下 lt – 次の値より小さい
    類似 否定 に含まれる
    次に含まれない null 値 null 値でない
    ユーザー ID と等しい ユーザー ID と等しくない eq-userteams
    eq-useroruserteams eq-useroruserhierarchy eq-useroruserhierarchyandteams
    eq-businessid ne-businessid eq-userlanguage
    begins-with not-begin-with ends-with
    not-end-with
  12.  これらのテーブルに関連する [テーブル名] レコードを含めるセクションで、関連するテーブルのリレーションシップを選択します。 関係を作成するテーブルを追加しておく必要があります。 たとえば、Account テーブルと Contact テーブル間に関係を追加する場合は、両方のテーブルを Mobile Offline プロファイルに追加する必要があります。

    たとえば、 取引先担当者 | フィールド名: 取引先責任者を選択すると、すべての取引先担当者に関して、システムはそれに関連する取引先企業もダウンロードします。

    これらのテーブルに関連する取引先企業レコードを含めるが強調表示されている、取引先企業テーブルの編集オプションのスクリーンショット。

  13.  保存を選択します。

オフライン プロファイル (管理者権限を持たない) を作成する

Power Apps アカウントに管理者権限がない場合でも、Mobile Offline プロファイルを作成できます。 近日中に、Power Apps Studio でオフライン プロファイルを直接作成できるようになります。 それまでは、次の回避策を使用してください。

  1. テスト環境で、キャンバス アプリと同じテーブルを使用するモデル駆動型アプリを作成します。
  2. モデル駆動型アプリをオフライン用に設定します
  3. 既定のプロファイルを生成し、フィルターを含むテーブルを追加します。
  4. モデル駆動型アプリを公開する。
  5. キャンバス アプリでオフライン プロファイルを選択します。

オフライン キャンバス アプリを作成する

オフライン用のキャンバス アプリの作成または変換を簡単にするため、オフライン テンプレートを作成しました。 このテンプレートには、ナビゲーション バーに接続と同期の状態を示す地球儀アイコンが含まれており、オフラインがエクスペリエンスの中心に据えられています。 ユーザーは、自分のデバイスとデータの準備ができているかどうかを常に把握できます。

キャンバス アプリでオフライン機能をオンにするとすぐに、オフライン テンプレートから作成された新しいページが自動的に挿入されます。

Power Apps Studio キャンバスに表示されるオフライン テンプレートに基づくページのスクリーンショット。

他のテンプレートからページを追加するのと同じように、オフライン テンプレートに基づいて新しいページを追加することもできます。

オフライン テンプレートが強調表示されている、テンプレート ギャラリーのスクリーンショット。

テンプレートのナビゲーション バーの地球儀アイコンは、Power Fx Connection.Sync 関数の値に応じて異なるアイコンを使用します。 以下の Power Fx スクリプトを使用して、独自のアイコンを作成し、アイコン プロパティを設定できます:

Switch(Connection.Sync, 

   ConnectionSync.Connected, Icon.Globe,  

   ConnectionSync.ConnectedWithWarning, Icon.GlobeWarning, 

   ConnectionSync.ConnectedPendingUpsync, Icon.GlobeChangesPending, 

   ConnectionSync.ConnectedError, Icon.GlobeError, 

   ConnectionSync.ConnectedRefresh, Icon.GlobeRefresh, 

   ConnectionSync.NotConnected, Icon.GlobeNotConnected,  

   ConnectionSync.NotConnectedWithWarning, Icon.GlobeWarning, 

   ConnectionSync.NotConnectedPendingUpsync, Icon.GlobeChangesPending, 

   ConnectionSync.NotConnectedSyncError, Icon.GlobeError) 

Power Fx 関数 ShowHostInfo を使用して OnSelect プロパティを設定すると、地球アイコンを選択したときに デバイスの状態ページ を表示できます。

ShowHostInfo(HostInfo.OfflineSync)

Power Fx 関数 Host を使用して Visible プロパティを設定すると、オフライン モードに対応しているプレーヤーでアプリを使用している場合にのみ地球アイコンを表示できます。

Host.OfflineEnabled

最高のオフライン ユーザー エクスペリエンスを実現させるにはどうすればよいでしょうか?

特定のシナリオでより高速なユーザー エクスペリエンスを実現させるには、次の推奨事項を使用してください。

シナリオ 推奨されない方法 推奨される方法
関連するテーブルの情報をギャラリーに表示します。 検索を使用してデータを取得します。 関連テーブルの列を含むビューを使用します。
多数のレコードを含むフィルター処理が可能なギャラリーを作成します。 Dataverse からレコードを読み込み、コレクションに保存します。 ギャラリーの項目をフィルター処理されたコレクションに設定します。 ギャラリーの項目を Dataverse でフィルター処理されたデータに直接設定します。
複数のレコードを更新します。 レコードをループし、個別にパッチを適用します。 すべての変更を含むコレクションに一括パッチを適用します。

オフライン対応のキャンバス アプリを含むソリューションをエクスポートする

オフライン キャンバス アプリを使用してソリューションをエクスポートする場合、アプリの依存関係であるため、アプリのオフライン プロファイルもエクスポートする必要があります。

  1. Power Apps にサインインし、左側のナビゲーション ウィンドウから ソリューション を選択します。
  2. エクスポートするソリューションを選択し、編集 を選択します。
  3. オフラインで有効になっているキャンバス アプリを選択し、詳細 > 必要なオブジェクトの追加 を選択します。

関連付けられたオフライン プロファイルがソリューション内にあることを確認してから、エクスポートできるようにします。

制限事項と既知の問題

  • 自動生成されたオフライン プロファイルはフィルターを処理しません。 その結果、アプリで使用される各テーブルに関して、ユーザーが権限を持つすべての行がダウンロードされます。

  • Sharepoint などの Dataverse 以外のコネクタは、オフライン モードではサポートされません。

  • 並べ替え順が選択されていない場合、オフライン対応アプリではギャラリー内のアイテムが異なる順序で表示されることがあります。 ギャラリー コントロールで並べ替え順序を選択して、モバイル アプリと Web ブラウザーでアプリが一貫して動作することを確認します。

  • 多対多の関連付けは、オフライン モードではサポートされていません。

  • Power Fx 言語の機能と制限について

  • Mobile Offline 機能と制限についてご覧ください