オフライン データ同期を構成する
オフライン プロファイルが設定され、初めてデータがモバイル デバイスにダウンロードされると、モバイル アプリは常に オフライン優先 で実行されます。 オフラインでの使用を優先すると、アプリのパフォーマンスが最適化されます。 また、現場技術者がインターネット接続のある地域とない地域を移動する際にも、一貫した体験を提供します。
同期間隔
同期の間隔では、ユーザーのデバイスでデータが自動的に同期される頻度を定義します。 間隔は短い場合は 5 分、長い場合は 1 日です。 同期間隔を変更できるため、管理者はデータ同期をより細かく制御でき、アプリのパフォーマンスを向上させることができます。 頻繁に変更されるレコードはより頻繁に同期できますが、それほど頻繁に変更されないレコードはそれほど頻繁に同期する必要はありません。
既定の Field Service Mobile - オフライン プロファイル は、レコードの種類ごとに事前定義された同期間隔があるため、これらのレコードタイプの一般的な使用パターンに基づいて選択されます。
同期は、アプリがアクティブでデバイスがインターネットに接続されている場合にのみ開始されます。 Android と iOS のデバイスでは、同期が開始された後、アプリがバックグラウンド であっても同期が完了します。
選択されたリレーションシップに基づく依存関係や、関連テーブルを含むカスタム フィルターが、各同期リクエスト中に分析されます。 関連テーブルの同期間隔が短い場合、テーブルの同期間隔が尊重されない可能性があります。
同期設定とオンライン モード (プレビュー)
管理者は、エンド ユーザーが同期エクスペリエンスをより詳細に制御できるようにより多くの同期設定を有効にすることができます。 たとえば、デバイスが Wi-Fi ネットワークに接続されている場合にのみ同期するオプションです。 これらの設定は、技術者が携帯電話の接続性が通常悪い場所で作業する場合に、モバイル デバイスの帯域幅とバッテリー寿命を節約するのに役立ちます。
管理者は、オフライン優先のアプリケーションに対してオンライン モードをアクティブ化することもできます。 この設定により、フロントライン ワーカーはオフライン モードからオンライン モードに切り替えることができ、オフライン プロファイル構成のパラメーターの外でライブの Dataverse データを表示できるようになります。 このモードでは、アプリケーションはデータの同期を続行し、ネットワーク接続が失われるとオフライン モードに戻ります。
同期の競合
デバイス上のデータとサーバー上のデータの間に不一致がある場合、同期の競合が発生します。 これは、フィールド技術者とディスパッチャが変更を同期せずに同じ作業指示書を編集した場合に発生する可能性があります。 矛盾した情報を得るため、システムはどの修正をレコードに適用すべきかわかりません。
競合はフィールド レベルではなくテーブル レベルで発生します。 たとえば、現場技術者が作業指示書の 開始時刻 を変更し、ディスパッチャーが 終了時刻 を変更した場合、競合が発生します。 システムはフィールドごとに変更をマージしようとしません。 代わりに、レコード全体を調べて、どれを保持するかを決定しようとします。
競合は、管理者 が モバイル オフライン同期の競合検出を設定する 設定で選択した内容に基づいて解決されます。 この設定は モバイル クライアント システム設定 で利用できます。
いいえ: オフラインのデバイスがオンラインに戻ったときに、システムは競合をチェックしません。 フィールド技術者がオフラインで行った変更が「優先」され、ディスパッチャーが行った変更が上書きされます。 この設定が既定です。
はい: オフラインのデバイスがオンラインに戻ったときに、システムは競合をチェックします。 ディスパッチャーが行った変更は、現場技術者がオフラインで行った変更を上書きし、「優先」されます。 フィールド技術者には同期競合エラーが表示される場合があります。
管理者は、設定>同期エラー にアクセスして過去の同期エラーを表示できます。
同期の通知
ユーザーは次のような通知をアプリ内で受け取ります:
- アプリは初期同期中にデータをダウンロードしています。
- ユーザーがテーブルで 更新 を選択します。
- アプリがしばらく使用されなかった場合、大規模な増分同期が実行されます。
通知は同期の進行中に表示されます。 大規模な増分同期が完了したら、ユーザーはビューを更新して最新の更新を取得できます。
オフライン同期状態を表示する
アプリの オフライン ステータス ページには、同期されたテーブルが最後に更新された日時が表示されます。
オフライン同期アイコン は、モバイル アプリ自体の同期ステータスを示します。 オフライン同期アイコンは、iOS デバイスおよび Android デバイスのメイン アプリ ナビゲーションに表示されます。 アプリがネットワークに接続されているか、同期が進行中か、同期エラーがあるかが一目でわかります。
詳細を表示するには、オフライン同期アイコンを選択し、デバイス ステータス ページ を開きます。
アプリがネットワーク接続が弱いかネットワーク接続がないことを検出すると、「ネットワークまたはサービスが利用できません」というメッセージが表示されます。 アプリは新しいデータを同期せず、地図や Dataverse 検索などのアプリの一部のネットワーク依存機能は機能しません。 次のイベントにより、アプリにこのメッセージが表示される可能性があります:
- アプリは、ネットワークの可用性を検出する前にオフライン モードで起動します。
- アプリのネットワークチェックに応答がないか、応答が長すぎます。
オフライン同期のテレメトリを分析する
オフライン同期イベントに関連するデータは、オフライン同期の健全性とパフォーマンスを評価する際に使用できます。
Application Insights 環境を設定して、診断とパフォーマンスに関するテレメトリを受信することができます。 テレメトリ フィードはいつでも有効または無効にできます。
取得できるデータの詳細については、モバイル アプリの同期とアクションのテレメトリ イベントを参照してください。
モバイルデバイスからのデータ削除
同期後、オフライン プロファイル フィルターの条件に合わなくなったデータがモバイル デバイスから削除される場合があります。 データの削除は、次の 2 つの場合に最も一般的です:
最初の同期後、たとえば、現場の技術者はオンラインでは過去のすべての予約を見ることができますが、接続のない地域に移動した後は、今日または将来開始する予約のみを確認できます。
増分同期後、たとえば、モバイルオフラインプロファイルが完了した予約をフィルターしている場合、新しく完了した予約は同期後にアジェンダから削除され、アプリでアクセスできなくなります。
ユーザーがモバイルオフライン データベースから削除されたレコードを表示している場合、アプリは Record Not Found (レコードが見つかりませんでした) エラーを表示します。 このエラーが頻繁に表示される場合は、フィルターを見直して、フィルターが過度に制限されていないことを確認することをお勧めします。
モバイル アプリがリセットされると、デバイス上のオフライン データベースはクリアされます。