モデル駆動型アプリのオフライン プロファイルを作成または更新する場合は、注意が必要です。 オフライン プロファイルには、アプリ ユーザーがフィールドのタスクを完了するために必要なすべてのデータが含まれている必要があります。 ただし、データが多すぎる場合は、アプリユーザーがデータのダウンロード待ちで動けなくなる可能性があります。 デバイスの領域が不足する可能性もあります。 アプリ ユーザーが優れたエクスペリエンスを得るために必要なデバイスとデータプランを検討する必要があります。
次のガイドラインは、組織の正確なニーズを満たすオフライン プロファイルを作成するのに役立ちます。
ユーザーがダウンロードするデータが多くなりすぎないようにする
各ユーザーは、異なるデータ セットにアクセスできる場合があります。 さまざまなユーザー グループに表示されるデータの量を考慮してテストすることが重要です。 たとえば、グループ営業マネージャーは、ローカルのセールス マネージャーよりも多くの営業案件にアクセスできる場合があります。
オフライン プロファイルを開発し、実際のデータまたは代表的なデータを使用してテストするときは、次のベスト プラクティスに留意してください。
- パフォーマンスを向上させるには、レコードの数を 200,000 未満に制限します。 オフライン同期では、3,000,000 を超えるレコードはサポートされていません。
- テーブルの数を 100 未満に制限します。
- 合計データ サイズを 1 GB 未満に制限します。
- ファイルとイメージの合計サイズを 4 GB 未満に制限します。 フィルターを適用して、ダウンロードの合計サイズを小さくします。
- 状態、グループ、リージョン、所有者、割り当て先などのフィールドをフィルター処理して、頻繁に変更されるテーブルにダウンロードされるレコードの数を減らします。
アプリのオフライン データがこれらの推奨事項を超えている場合、ユーザーは同期の速度が低下し、データ使用量が多くなり、バッテリー使用量が増加し、アプリのパフォーマンスが低下します。
オフライン プロファイルを最適化する
次のベスト プラクティスを適用して、ユーザーが必要なデータのみをダウンロードするようにします。 ダウンロードされるデータを最適化すると、推奨される制限内に収まりやすくなります。
ホイールを再発明しない
Field Service または Sales をカスタマイズする場合は、既定のオフライン プロファイルから開始します。 コア機能が機能することはわかっており、標準フォームで使用されているテーブルを見逃すことはありません。
既定のオフライン プロファイルには、すぐに使用できるソリューションに必要なものがすべて含まれています。 ビジネスにとって重要なテーブルをさらに追加できます。
ただし、既定のプロファイルから テーブルを削除しないでください 。 これらのテーブルがないと、実行時にフォームまたはビューが失敗する可能性があります。 既定のプロファイルに含まれるデータ行の数が多すぎるか少なすぎる場合は、最大のテーブルのフィルターを調整して、ユーザーのデータ サイズを最適化します。
各フォームとビューで参照されるすべてのテーブルをアプリに追加する
モデル駆動型アプリにフォームまたはビューを追加する際には、ルックアップを含む、他のテーブルへの参照を探してください。 これらの各テーブルが、対応する関連するテーブルまたはフィルターと共にオフライン プロファイルに含まれていることを確認します。 Web リソース スクリプトで使用されるすべてのテーブルも必ず追加してください。
オフライン プロファイルにテーブルを追加する場合は、次の 4 つのオプションのいずれかを選択して、ダウンロードする行を決定できます。
- 組織の行
- すべての行
- 関連する行のみ
- Custom
各テーブルに最適なオプションを選択するには、テーブルが属する次のカテゴリを検討します。
スタンドアロン テーブル: アプリでグリッドとして表示されるテーブル (連絡先など)。
関連テーブル: 別のテーブルのフォーム ビューまたはグリッド ビューで参照されるテーブル (単位など)。
リソース テーブル: Currency や Territory などのリソース データを含むテーブル。
追加するテーブルのカテゴリに基づいて行オプションを選択します。
テーブルの種類 | 組織の行 | すべての行 | 関連する行のみ | Custom |
---|---|---|---|---|
スタンドアロン | ✓ | ✓ | ||
Related | ✓ | ✓ | ||
リソース | ✓ | ✓ |
フィルターを使用してデータのダウンロード サイズを小さくする
ユーザーがオンラインのときに大量のデータ セットにアクセスできる場合は、フィルターを適用して、オフライン時にダウンロードするデータを制限します。
Important
関連する行をダウンロードするように設定されているテーブルにカスタム フィルターを追加すると、フィルターは OR として扱われます。 つまり、フィルターで指定された行に加えて、関連するすべての行がダウンロードされます。 ユーザーは、意図したよりも多くのデータをダウンロードする可能性があります。 関連する行をダウンロードして追加のフィルターを適用する場合は、[ 関連する行のみ ] をオフにし、 AND を使用してカスタム フィルターでリレーションシップと追加の制限を指定します。
スタンドアロン テーブル: アプリのグリッド ビューに必要なレコードを含むカスタム フィルターを使用します。 既定では、アプリ デザイナーでテーブルを追加すると、すべてのビューが含まれます。 ユーザーがオンラインとオフラインで同じデータを持っていることを確認するには、オフライン プロファイルに含めるデータをフィルター処理するビューを明示的に選択します。
関連テーブル: ユーザーが関連する行そして他のフィルター条件に一致する行をダウンロードできるようにしたい場合は、カスタム フィルターを使用してください。
リソース テーブル: ユーザーがアクティブな状態の行など、条件に一致する行のみをダウンロードする場合は、カスタム フィルターを使用します。
一般的なカスタム フィルター
予約やタイムラインアイテムなどの時間中心のデータを時刻と日付のフィールドでフィルター処理します。 将来の日付と過去の日付の両方を検討してください。 たとえば、一般的なフィルターには、過去 1 か月と今後 3 か月の予定が含まれる場合があります。
ダウンロードを特定の状態の行に制限するには、状態でフィルター処理します。
カスタム カテゴリまたはロール フィールドでフィルター処理 して、アプリに必要なデータに大きなテーブルのスコープを絞り込みます。 たとえば、連絡先をロールでフィルター処理して、関係者にデータを制限できます。
ダウンロード速度が低下する可能性があるフィルターの落とし穴を避ける
カスタム フィルターの結果、Dataverse クエリが遅くなる場合、ダウンロードに時間がかかります。 一般的なパフォーマンスのボトルネックを回避するには、次のベスト プラクティスに従います。
部分一致や Contains、Begins with、Ends with は使用しないでください。
カスタム フィルターでは、複数のレベルのリレーションシップを回避します。 このようなフィルターは、ダウンロードが遅くなる可能性があります。
多くの OR 条件を使用しないでください。
小さな時間枠を使用して、頻繁に変更されるテーブルのデータのダウンロードを減らさないようにします。 オフライン プロファイルのテーブルが大きく、頻繁に変更される場合は、状態、グループ、リージョン、所有者、割り当て先などのフィールドをフィルター処理して、ダウンロードされるレコードの数を減らします。
ダウンロードしたデータを最適化して同期時間と使用状況を向上させる
モデル駆動型アプリ用
大規模なデータセットを持つ組織 (特にリモート領域) では、最初の同期に時間がかかる場合があります。 これを最適化するには、デバイスでダウンロードするために必要な列のみを明示的に選択し、アプリで使用されない列をダウンロードしないようにします。 これにより、ネットワークとディスクの両方の使用量が節約され、同期時間が短縮されます。 これは最初の同期と差分同期の両方に影響しますが、ダウンロードするレコードが増えるにつれて、最初の同期の方が大きな影響を受けます。
Power Apps Studio の左側のパネルで、アプリを選択します。
モデル駆動型アプリを選択し、[ 編集] を選択します。
設定を選択します。
全般 を選択します。
[ オフライン モードとプロファイルの選択 ] セクションで、 選択したプロファイル の [ その他のアクション (...)] アイコンから [選択したプロファイルの編集] を選択します。
[ プロファイルの編集 ] ウィンドウの [ オフラインで使用するデータ ] セクションで、最適化するテーブルを特定します。 [ その他のアクション (...)] アイコンを選択し、[ 編集] を選択します。
[ テーブル名の編集] ページが表示されます。 [ 選択した列 ] セクションで、[ 列の管理 ] オプションを選択します。
この [選択した列の管理 ] ウィンドウで、[ 必要な列のみを選択 ] オプションを選択します。
アプリで使用される列が自動的に選択されます。 その他のすべての列については、必要なものだけを選択して最適化します。
Important
- アプリにカスタム JavaScript コードがある場合は、カスタム コードで使用されている列がオフライン プロファイルで選択されていることを確認します。
- オフライン プロファイルを最適化した後に列を追加する場合は、戻って、その新しい列を [必須列] として選択します。[ 選択した列の管理 ] ウィンドウで選択します。
[ 戻る] を選択します。
保存 を選択します。
保存 + 閉じる を選択します。
[設定] を閉じて、[発行] を選択します。
注
- 使用されていない列の数が多いテーブルには、常に必要な列を選択することをお勧めします。
- Power Platform 管理センターのモバイル オフライン プロファイル構成では、[列の管理] オプションと [選択した列の管理] オプションを使用できません。
キャンバス アプリ用に最適化する
Important
選択したオフライン プロファイルを使用するキャンバス アプリでは、最適化はサポートされていません。
自動生成されたオフライン プロファイルを使用するキャンバス アプリの場合、システムはデバイスにダウンロードされた列を自動的に最適化します。 最適化がアクティブ化されると、アプリは必要な列のみをダウンロードします。
- Power Apps Studio の左側のパネルで、アプリを選択します。
- キャンバス アプリを選択してから、編集を選択します。
- 設定を選択します。
- [ 更新プログラム と 試験段階] を選択します。
- [高速オフライン同期] オプションをオンにします。
- 設定を閉じて、[ 発行] を選択します。