El cliente de la aplicación es la interfaz con el backend de Atlas App Services. Proporciona acceso a la funcionalidad de autenticación, las funciones y la gestión de la sincronización.
Antes de comenzar
Acceder al cliente de la aplicación
Para conectarse al backend de App Services desde su cliente, debe crear un objeto de configuración. Luego, páselo a un Realm.App() instancia.
Debe incluir el campo id y el App ID para su aplicación de Servicios de aplicaciones, que puede encontrar en la interfaz de usuario de Servicios de aplicaciones.
// Initialize your App. const app = new Realm.App({ id: "<yourAppId>", });
Puedes crear varias instancias de cliente de aplicación para conectarte a varias aplicaciones. Todas las instancias de cliente de aplicación que comparten el mismo ID de aplicación usan la misma conexión subyacente.
Importante
Cambiar la configuración de una aplicación después de inicializarla
Cambiado 12.6.0 enbaseUrl la versión: no se almacena en caché en la configuración de la aplicación.
Al inicializar el cliente de la aplicación, la configuración se almacena en caché internamente. Intentar cerrar y volver a abrir una aplicación con una configuración modificada dentro del mismo proceso no tiene ningún efecto. El cliente continúa usando la configuración almacenada en caché.
A partir de la versión del SDK de Node.js,12.6.0 el baseUrl del AppConfiguration no se almacena en caché. Esto significa que se puede cambiar el baseUrl y el cliente de la aplicación usará la configuración actualizada. En versiones anteriores del SDK, los cambios en el baseUrl de una configuración de la aplicación almacenada en caché no surten efecto.
Recuperar una instancia del cliente de la aplicación
Para recuperar una instancia del cliente de la aplicación desde cualquier lugar de su aplicación, llame a Realm.App.getApp() y pase App ID su.
const app = Realm.App.getApp("<yourAppId>");
Configurar un tiempo de espera para el cliente de la aplicación
Puedes configurar un opcional timeout para las solicitudes en tu AppConfiguration. Acepta un número de milisegundos antes de que la solicitud expire.
Puede usar este intervalo de tiempo de espera con el booleano cancelWaitsOnNonFatalErrors de configuración de sincronización opcional. Al transcurrir este tiempo de espera, se cancela cualquier trabajo pendiente de carga y descarga. Si esta configuración es falsa, la espera de cargas y descargas no se cancela, ya que Realm considera estos tiempos de espera como errores no fatales.
Para ver un ejemplo, consultar Cancelar operaciones asíncronas después de un tiempo de espera.
const app = new Realm.App({ id: APP_ID, // You can optionally specify a timeout in milliseconds timeout: 10000, });
Encriptar Metadatos de la aplicación
Puedes cifrar los metadatos que aplicación Services almacena en los dispositivos de los clientes. Utiliza los valores del enumerado MetadataMode para determinar el comportamiento de cifrado.
Para cifrar los metadatos de la aplicación:
Importar
MetadataModedesdeRealme importar otras dependencias:import Realm, { BSON, MetadataMode } from "realm"; import Realm, { AppConfiguration, BSON, MetadataMode, Configuration, } from "realm"; Cree un objeto de configuración de aplicación que contenga la propiedad
metadata.Establezca
metadata.modeenMetadataMode.Encryption.Configura
metadata.encryptionKeycomo la clave que deseas usar para el cifrado.Pase el objeto de configuración de la aplicación a
new Realm.App().
// Retrieve encryption key from secure location or create one const encryptionKey = new ArrayBuffer(64); // Use encryption key in app configuration const config = { id: APP_ID, metadata: { mode: MetadataMode.Encryption, encryptionKey: encryptionKey }, }; const app = new Realm.App(config);
// Retrieve encryption key from secure location or create one const encryptionKey = new ArrayBuffer(64); // Use encryption key in app configuration const config: AppConfiguration = { id: APP_ID, metadata: { mode: MetadataMode.Encryption, encryptionKey: encryptionKey }, }; const app = new Realm.App(config);