Configurar la sincronización del dispositivo
Configurar Atlas Device Sync en App Services
Antes de poder usar Device Sync con el SDK de Flutter de Realm, debe crear una aplicación Atlas App Services con Device Sync y la autenticación habilitadas.
Para aprender a configurar la sincronización del dispositivo en su aplicación, consulte Comience a utilizar Atlas Device Sync en la documentación de App Services.
Para configurar la autenticación, consulte Autenticar y administrar usuarios en la documentación de App Services.
Conectarse al backend de servicios de aplicaciones
Inicializar una aplicacióninstancia para conectarse a su aplicación de App Services. Pase el ID de la aplicación para su aplicación, que puede encontrar en la interfaz de usuario de App Services.
final app = App(AppConfiguration(appId));
Autenticar un usuario
Autenticar un usuario en tu proyecto cliente. Este ejemplo utiliza autenticación anónima.
final user = await app.logIn(Credentials.anonymous());
Abrir un reino sincronizado
Utilice una configuración de sincronización flexible para abrir el dominio como sincronizado. También agregue una suscripción para sincronizar los datos que coincidan con la consulta de suscripción.
// Configure and open the realm final config = Configuration.flexibleSync(user, [Car.schema]); final realm = Realm(config); // Add subscription to sync all Car objects in the realm realm.subscriptions.update((mutableSubscriptions) { mutableSubscriptions.add(realm.all<Car>()); }); // Sync all subscriptions await realm.subscriptions.waitForSynchronization();
Utilice el reino
La sintaxis para leer, escribir y observar cambios en un dominio sincronizado es idéntica a la de los dominios no sincronizados. Mientras trabaja con datos locales, un subproceso en segundo plano integra, carga y descarga conjuntos de cambios.
El siguiente código crea un nuevo Car objeto y lo escribe en el reino:
// Write data to realm and it automatically syncs with Atlas // in the background. realm.write(() { realm.add(Car(ObjectId(), 'Toyota', model: 'Rav 4')); });