同期フレームワークの参照
以下に示すように、サーバーとアプリケーションとの間でデータを同期するフレームワークには様々な要素があります。実装の概要については、「オフライン同期を実装する」をご覧ください。
Logicタブ > Client Actions > OfflineDataSyncフォルダ
Client ActionsのOfflineDataSyncフォルダに、ローカルエンティティを更新してサーバー側のロジックの対応するアクションとデータを交換する、モバイルデバイス上で実行されるすべてのアクションが含まれている必要があります。
OfflineDataSyncConfiguration
自動スタートと同期の再試行を設定するための複数の割り当てを含みます。
- SyncOnOnline: Trueに設定されている場合、デバイスがオンラインになったときに同期をトリガーします
- SyncOnLogin: Trueに設定されている場合、ログイン後に同期をトリガーします
- SyncOnResume: Trueに設定されている場合、アプリケーションがバックグラウンドから復旧したら同期をトリガーします
- RetryOnError: Trueに設定されている場合、エラー発生時に新しい同期を試みます
- RetryIntervalInSeconds: 同期の再試行間隔を秒単位で設定します
TriggerOfflineDataSync
同期をスタートするには、TriggerOfflineDataSyncを使用します。TriggerOfflineDataSyncは、バックグラウンドで動作する非同期の同期および同期イベントのトリガーのために最適化されています。フローの実行をブロックして同期イベントをトリガーする必要がない場合を除いて、同期を開始する際にOfflineDataSyncを呼び出してはいけません。
- SyncUnit
- ビジネスロジックから同期アクションに渡される文字列入力パラメータです。同期するエンティティを決定する際に有効です。
- DiscardPendingSyncUnits
- Trueに設定されている場合、同期待ち行列を空にします。保留中の同期を中止してすぐに新しい同期を開始する場合に有効です。
OfflineDataSync
OfflineDataSyncは、クライアント上で実行されるロジックを作成するために使用されるデフォルトのアクションです。
- SyncUnit
- ビジネスロジックから同期アクションに渡される文字列入力パラメータです。同期するエンティティを決定する際に有効です。
[Logic]タブ > Server Actions > OfflineDataSyncフォルダ
Server ActionsのOfflineDataSyncフォルダに、サーバーエンティティを更新してクライアント側のロジックの対応するアクションとデータを交換する、サーバー上で実行されるすべてのアクションが含まれている必要があります。
ServerDataSync
ServerDataSyncは、サーバー上で実行されるロジックを作成するために使用されるデフォルトのアクションです。
- SyncUnit
- ビジネスロジックから同期アクションに渡される文字列入力パラメータです。同期するエンティティを決定する際に有効です。
[Logic]タブ > Client Actions > MobilePatterns
モバイルアプリは、ネットワークの状態とタイプを検出するための2つのアクションを備えています。これらはまた、式の中で関数としても利用可能です。
GetNetworkStatus
ブーリアン型の値を返します。オンラインはTrue、オフラインはFalseです。
GetNetworkType
テキスト型の値を返します。ネットワークのタイプ、たとえば、wifi
、4G
、undefined
(ブラウザのプレビューの場合)などの区別をします。
Interfaceタブ > UI Flows > Common > LayoutおよびLayoutBlank
UI要素が同期結果にどう応答するかを制御するアクションを作成するために、個々の画面のSourceブロックで以下のイベントリスナーを使用できます。
これらのイベントのイベントリスナーとしてアクションを作成するには、画面のウィジェットツリーを開き、画面でLayoutまたはLayoutBlankブロックインスタンスを選択し、イベントに対応するHandlerプロパティを入力します。
OnSyncComplete
同期の実行が成功したらトリガーされるイベントです。
- SyncUnit
- ビジネスロジックから同期アクションに渡される文字列入力パラメータです。同期するエンティティを決定する際に有効です。
OnSyncError
同期が失敗したらトリガーされるイベントです。
- SyncUnit
- ビジネスロジックから同期アクションに渡される文字列入力パラメータです。同期するエンティティを決定する際に有効です。
- ErrorMessage
- エラーを特定する文字列です。
OnSyncStart
同期がスタートしたらトリガーされるイベントです。
- SyncUnit
- ビジネスロジックから同期アクションに渡される文字列入力パラメータです。同期するエンティティを決定する際に有効です。
[Interface]タブ > UI Flows > MobilePatterns > Private
アプリケーションがオンラインかオフラインかを検出するために使用できるブロックを含みます。
NetworkStatusChangedブロック
ブロックを画面にドラッグし、NetworkStatusChangedイベント用の新しいアクションハンドラを作成します。イベントハンドラのフローの中に、IsOnline入力に対応するロジックを配置します。