デバイス間でのデータの同期 - Swift SDK
Atlas Device Sync は、クライアント アプリケーションと App Services バックエンド間でデータを自動的に同期します。 クライアント デバイスがオンラインになると、Sync はデバイスとバックエンド アプリの間でバックグラウンド スレッドのデータを非同期に同期します。
Flexible Sync
バージョン10.22.0の新機能。
バックエンド アプリ構成にFlexible Syncを選択する場合、クライアント実装には クエリ可能なフィールドをクエリするためのサブスクリプションを含める必要があります。 Flexible Sync は、クライアント アプリケーションで維持するクエリ サブスクリプションに一致するデータを同期することで機能します。
サブスクライブセットには、一連のクエリが含まれます。 Flexible Sync は、それらのクエリに一致するドキュメントを返します。ここでのユーザーにはドキュメントを読み取り、読み取りおよび書込み (read) および書込み (write) のための適切な権限があります。 ドキュメントがクエリに一致するが、クライアントにドキュメントを読み取りまたは書き込みする権限がない場合、それらはクライアント アプリケーションに同期されません。
注意
Flexible Syncは、 RQLおよび SDK のクエリ エンジンで使用可能なすべてのクエリ演算子をサポートしていません。 詳細については、「 Flexible Sync RQL の制限」を参照してください。
サブスクリプション セットは、特定のタイプのRealm オブジェクトに基づいています。 Realm オブジェクトのタイプが多い場合は、複数のサブスクリプションがあることがあります。
クライアント アプリケーションで Flexible Sync を使用するには、Flexible Sync 構成で同期された Realm を開きます。 次に、サブスクリプションを管理して、同期するドキュメントを決定します。
Tip
Device Sync は、Flexible Sync と古いパーティションベースの同期の 2 つの同期モードをサポートしています。 App Services バックエンドがパーティションベースの同期を使用する場合は、「パーティションベースの同期 - Swift SDK 」を参照してください。
新しいアプリは Flexible Sync を使用することをお勧めします。
同期接続とタイムアウトの動作
Realm Swift SDK バージョン10.41.0以降では、次のコマンドを指定できます。
同期タイムアウトの動作
複数の同期された Realm を開くと、サーバーへの複数の接続が開かれるかどうか
これらの設定は、アプリ クライアント構成で指定できます。
サポートされているオペレーティングシステム
Realm Swift SDK は、Xcode バージョンと Realm Swift SDK バージョンに応じて、Apple オペレーティング システムの範囲向けの Atlas App Services App への接続をサポートしています。 App Services Appに接続すると、次のことが可能になります。
認証とユーザー管理
Atlas Function の呼び出し
MongoDB Atlas データソースのクエリ
デバイスの同期
サポートされているオペレーティング システムの最新情報については、 OS サポート を参照してください。
現時点では、Realm Swift SDK は watchOS から App Services App への接続をサポートしていません。