オフライン プロファイルのガイドライン

モデル駆動型アプリのオフライン プロファイルを作成、または更新する際には、注意すべき点が多くあります。 オフライン プロファイルには、アプリのユーザーがフィールドでタスクを完了するために必要なすべてのデータを含める必要があります。 しかし、データ量が多すぎると、アプリ利用者がデータのダウンロードを長い時間帯記することになりかねません。 デバイスのスペース不足につながる場合もあります。 アプリのユーザーが持っているデバイスやデータ プランを考慮し、素晴らしい体験を提供できるようにする必要があります。

次のガイドラインは、組織の正確なニーズを満たすオフライン プロファイル作成に役立ちます。

オフラインでのプロフィール展開の計画

次の 3 つのフェーズで、オフライン プロファイルを作成して展開します:

メーカー向けのフェーズ 1、テスター向けのフェーズ 2、ユーザー向けのフェーズ 3 を示す図。

フェーズ1: 開発と反復

オフラインのプロフィールの設定が完了したら、テストと微調整を開始します。 Power Apps モバイル、または Field Service Mobile を使用して、オフライン時のアプリの動作を決定します。 Windows の場合は、モバイル端末を必要とせずに反復作業ができるアプリが Microsoft Store にあります。

このフェーズでは、テーブルを追加し、既存のテーブルにフィルターを適用して、適切なデータがアプリにダウンロードされるようにします。

結果: データがダウンロードされた後、すべてのテーブルとフォームがオフラインで機能し、ダウンロードサイズが妥当であることを確認します。

重要

アプリのメタデータは、アプリの起動時に取得されます。 つまり、フォーム コンポーネントやビューなどのアプリ内のコンポーネントを変更した場合、プロファイルに変更を反映するにはアプリを再起動する必要があります。

フェーズ2: ユーザーとのテスト

数人のユーザーに、実際のデータでアプリをテストするように依頼します。 オフライン プロファイルが、さまざまなタイプのユーザーに対応し、さまざまなストレージ容量を持つデバイスで動作することを確認します。 各ユーザーの「オフライン ステータス」ページを確認してください。 さまざまなタイプのユーザー アカウントがダウンロードするテーブルとファイルはいくつありますか? オフラインプロファイルのフィルターを調整して、ダウンロードされるデータ量を調整します。

ダウンロードが成功した後のモバイル アプリのオフライン ステータス ページのスクリーンショット。

結果: オフライン プロファイルが実際のユースケースに対応していることを確認します。

フェーズ 3: 展開

アプリを組織の他の部分に展開します。

結果: ロールアウトの各クラスのユーザーが正常に同期し、オフラインで作業できることを確認します。

ユーザーに大量のデータをダウンロードさせないでください

各ユーザーは、異なるデータセットにアクセスできます。 さまざまなグループのユーザーがどれだけのデータを見ることになるかを考え、テストすることが重要です。 たとえば、グループの営業マネージャーは、地域の営業マネジャーよりも多くの販売機会にアクセスできる場合があります。

オフライン プロファイルを作成し、実際のデータまたは代表的なデータを使用してテストするときは、次のベスト プラクティスを念頭に置いてください:

  • パフォーマンスを向上させるには、レコード数を 200,000 未満に制限します。 3,000,000 を超えるレコードは、オフライン同期ではサポートされません。
  • テーブルの数を 100 未満に制限します。
  • 合計データサイズを 1 GB 未満に制限します。
  • ファイルと画像の合計サイズを 4GB 未満に制限します。 フィルタを適用して、ダウンロードの合計サイズを減らします。

アプリのオフライン データが推奨値を超えると、同期に時間がかかり、データ使用量が増え、バッテリー使用量が増え、アプリのパフォーマンスが低下します。

オフラインのプロフィールを最適化する

以下のベスト プラクティスを適用して、ユーザーが必要なデータのみをダウンロードするようにしてください。 ダウンロードするデータを最適化することで、推奨される制限内に収めやすくなります。

作業を一からやり直すことを避ける

Field Service、または Sales をカスタマイズする場合は、既定のオフライン プロファイルから開始します。 コアな機能が使えることはもちろん、標準的なフォームで使われているテーブルを見逃すこともありません。

既定のオフラインプロファイルには、既成のソリューションに必要なものがすべて含まれています。 ビジネスにとって重要なテーブルをさらに追加できます。

既定のプロファイルからテーブルを削除しないでください。 これらのテーブルがないと、フォームやビューの実行時に失敗する可能性があります。 既定のプロファイルに含まれるデータ行数が多すぎる、または少なすぎる場合は、最大テーブルのフィルタを調整して、ユーザーのデータサイズを最適化します。

各フォームで参照されているすべてのテーブルを追加し、アプリで表示します

モデル駆動型アプリにフォーム、またはビューを追加するときは、ルックアップを含む他のテーブルへの参照を探します。 これらの各テーブルが、対応する関連テーブルやフィルターとともにオフライン プロファイルに含まれていることを確認してください。 Web リソース スクリプトで使用されるすべてのテーブルも必ず追加してください。

オフライン プロファイルにテーブルを追加する際、どの行をダウンロードするかを 4 つのオプションから 1 つ選択することができます。

  • 組織の行
  • すべての行
  • 関連する行のみ
  • カスタム

それぞれのテーブルに最適なオプションを選ぶには、おテーブルが以下のどのカテゴリーに属するかを考慮してください:

  1. スタンドアロン テーブル: 連絡先など、アプリでグリッドとして表示されるテーブル

  2. 関連テーブル: ユニットなど、別のテーブルのフォームまたはグリッドビューで参照されるテーブル

  3. リソース テーブル: 通貨や地域などのリソースデータを含むテーブル

追加するテーブルのカテゴリに基づいて行オプションを選択します:

テーブルの種類 組織の行 すべての行 関連する行のみ カスタム
スタンドアロン
関連
リソース

フィルタを使用してデータのダウンロード サイズを減らします

ユーザーがオンライン時に大量のデータにアクセスする場合、フィルターを適用してオフライン時にダウンロードするデータを制限します。

重要

関連する行をダウンロードするように設定されているテーブルにカスタム フィルターを追加した場合、フィルターは OR として扱われます。 これは、フィルターで指定された行に加えて、関連するすべての行がダウンロードされることを意味します。 ユーザーは、意図したよりも多くのデータをダウンロードする可能性があります。 関連する行をダウンロードし、追加のフィルターを適用する場合は、関連する行のみをクリアし、AND を使ったカスタム フィルターで関連と追加の制限を指定します。

  • スタンドアロン テーブル: アプリのグリッド ビューに必要なレコードを含むカスタム フィルターを使用します。 既定では、アプリ デザイナーでテーブルを追加すると、すべてのビューが含まれます。 ユーザーがオンラインとオフラインで同じデータを持つようにするには、オフラインのプロファイルに含めるデータをフィルターするビューを明示的に選択します。

    明示的な EQUALS 条件を持つカスタム フィルターを示すスクリーンショット。

  • 関連テーブル: 関連性があり、AND (かつ) 他のフィルター条件に一致する行をダウンロードさせたい場合は、カスタム フィルターを使用します。

    明示的な AND 条件を持つカスタム フィルターを示すスクリーンショット。

  • リソース テーブル: アクティブ ステータスの行など、条件に一致する行のみをユーザーにダウンロードさせる場合は、カスタム フィルターを使用します。

    ステータスがアクティブに等しいカスタム フィルターを示すスクリーンショット。

一般的なカスタム フィルター

予約やタイムライン項目などの時間中心のデータに対して、時間や日付のフィールドでフィルターします。 将来と過去の両方の日付を考慮してください。 たとえば、一般的なフィルターでは、過去 1 ヶ月と今後 3 ヶ月の予定が含まれる場合があります。

開始時間と終了時間に基づいて、OR 条件で複数のフィルターを表示するスクリーンショット。

ステータスでフィルターダウンロードを特定のステータスの行に制限します。

ステータスがアクティブに等しい複数のフィルターを示すスクリーンショット。

カスタム カテゴリまたは役割フィールドでフィルターすることで、大きなテーブルをアプリに必要なデータまで縮小します。 たとえば、連絡先を役割でフィルターすることで、データを利害関係者に制限できます。

ロールに基づくフィルターを示すスクリーンショット。

ダウンロードを遅くする可能性のあるこれらのフィルターの落とし穴を避けましょう

カスタム フィルターの結果が遅くなる場合は、Dataverse クエリ、ダウンロードに時間がかかります。 以下のベスト プラクティスに従って、一般的なパフォーマンスのボトルネックを回避してください:

  • 部分的な文字列一致、「含む」、「で始まる」、「で終わる」 の使用は避けましょう。

  • カスタム フィルターでリレーションシップの多層化を避けてください。 このようなフィルターを使用すると、ダウンロードが遅くなる可能性があります。

    リレーションシップがネストされた複数のフィルターを示すスクリーンショット。

  • 多くの OR 条件の使用は避けてください。

ユーザーが必要とするデータを見逃さない

ユーザーが必要なすべてのデータを持っているかどうかをテストします。 アプリがオンラインのときと、オフラインのときに利用できるデータを比較します。 デバイスを機内モードにした状態で、ビューとフォームがオンラインの Web ブラウザと同じデータが表示されることを確認します。 違いがある場合は、ビューのフィルターを調整するか、オフライン プロファイルのフィルターを調整してください。

  • ビジネス プロセス フロー: フォームにビジネス プロセス フローが含まれている場合、必ずビジネス プロセス フロー テーブルを追加してください。 詳細については、 対応している機能を参照してください。

  • ファイルと画像: オフラインのプロファイルにファイルや画像が含まれている場合は、それらのテーブルを追加する必要があります。 詳細については、ファイルと画像のモバイル オフライン プロファイルを構成するにアクセスしてください。 カスタム フィルターを使用して、重要なファイルのダウンロードを制限します。

  • タイムライン: タイムライン コントロールのメモをオフラインで利用できるようにするには、オフライン プロファイルに Notes テーブルと Users テーブルを追加します。 ユーザーが画像や動画をアップロードする場合、ノートの容量が大きくなることがあります。そのため、ノートのテーブルにカスタム フィルターを適用して、ダウンロード時間を制限します。

    重要

    4 MB 以上のファイルをタイムライン コントロールにアップロードした場合、データのダウンロードが遅くなる場合があります。 ユーザーが 4 MB 以上のファイルをアップロードする必要がある場合、タイムラインの代わりに Field Service または ファイル/画像 のクイック メモ コントロールを使用すると、パフォーマンスが向上します。

参照

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。