Atlas Device Sync automatically synchronizes data between client applications and an Atlas App Services backend application. When a client device is online, Sync asynchronously synchronizes data in the background between the device and your App Services backend.
The Flutter SDK only supports Flexible Sync. You must configure your App Services backend to use Flexible Sync.
The Flutter SDK does not support Partition-Based Sync.
When you select Flexible Sync for your App Services backend configuration, your client implementation must include subscriptions to queries on queryable fields. Flexible Sync works by synchronizing data that matches query subscriptions you maintain in the client application.
A subscription set contains a set of queries. Flexible Sync returns documents matching those queries, where the user has the appropriate permissions to read or write the documents. If documents match the query, but the client does not have the permission to read or write them, they do not sync to the client application.
Subscription sets are based on a specific type of realm object. To sync data for many types of Realm objects, you must have multiple subscriptions.
To use Flexible Sync in your client application, open a synced realm with a flexible sync configuration. Then, manage subscriptions to determine which documents to sync.
Before you can start syncing data from your client application using the SDK, you must enable Flexible Sync in the Atlas App Services backend.
To begin, refer to the backend documentation on enabling Atlas Device Sync.