Conectarse al backend de App Services
Pase el ID de la aplicación para su aplicación, que puede encuéntrelo en la interfaz de usuario de servicios de aplicaciones.
app = App.Create(myRealmAppId);
Autenticar un usuario
Autenticar un usuario en tu proyecto cliente. Aquí usaremos autenticación anónima.
var user = await app.LogInAsync(Credentials.Anonymous());
Abrir un reino sincronizado
Para abrir el reino como sincronizado, puede especificar si el reino sincronizado debe descargar datos antes de abrirse. Aquí, usamos una configuración de sincronización flexible y especificamos que el SDK siempre debe descargar las actualizaciones más recientes antes de abrir el reino. También iniciamos el reino con una suscripción inicial.
var config = new FlexibleSyncConfiguration(app.CurrentUser) { PopulateInitialSubscriptions = (realm) => { var myItems = realm.All<Item>().Where(n => n.OwnerId == myUserId); realm.Subscriptions.Add(myItems); } }; // The process will complete when all the user's items have been downloaded. var realm = await Realm.GetInstanceAsync(config);
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 de forma eficiente.
El siguiente código demuestra dos formas de crear un nuevo Task objeto y agregarlo al reino:
var testItem = new Item { Name = "Do this thing", Status = ItemStatus.Open.ToString(), Assignee = "Aimee" }; await realm.WriteAsync(() => { realm.Add(testItem); }); // Or var testItem2 = await realm.WriteAsync(() => { return realm.Add<Item>(new Item { Name = "Do this thing, too", Status = ItemStatus.InProgress.ToString(), Assignee = "Satya" }); } );
Importante
Al usar la sincronización, evite escrituras sincrónicas en el hilo principal
Dado que Realm realiza integraciones de sincronización en un hilo en segundo plano, si realiza una escritura sincrónica en su reino en el hilo principal, existe una pequeña posibilidad de que su interfaz de usuario parezca bloquearse mientras espera a que el hilo de sincronización en segundo plano finalice una transacción de escritura. Por lo tanto, se recomienda no realizar una escritura sincrónica en el hilo principal al usar Sincronización de dispositivos y, en su lugar, usar escrituras asincrónicas realm.WriteAsync con.