El cliente de la aplicación es la interfaz con el backend de App Services. Proporciona acceso a la funcionalidad de autenticación, las funciones deAtlas y la sincronización de dispositivos Atlas.
Antes de comenzar
Configurar el cliente de la aplicación
Para configurar su cliente de aplicación, pase la cadena de ID de la aplicación a id AppProviderpropiedad de. Envuelva cualquier componente que necesite acceder a la aplicación AppProvider con. En este ejemplo, envolvemos UserProvider en AppProvider para autenticar a un usuario.
import React from 'react'; import {AppProvider, UserProvider} from '@realm/react';
export const AppWithAuthHook = () => { return ( <View> <AppProvider id={APP_ID}> <UserProvider fallback={LogIn}> <MyApp /> </UserProvider> </AppProvider> </View> ); };
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 en la versión realm@12.6.0: baseUrl no está almacenado en caché
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 la configuración modificada dentro del mismo proceso no tiene ningún efecto. El cliente continúa usando la configuración en caché.
A partir de la versión del SDK de React 12.6.0 Native, el baseUrl del AppConfiguration no se almacena en caché. Esto significa que puedes 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
Todos los componentes envueltos dentro de un AppProvider pueden acceder al cliente de la aplicación con el useApp() gancho.
import React from 'react'; import {useApp} from '@realm/react';
function MyApp() { const app = useApp(); // Proceed to app logic... }
Recuperar la aplicación fuera del proveedor de la aplicación
Para recuperar una instancia del App Client desde cualquier lugar de su aplicación, cree una nueva instancia de Realm.App() desde el realm paquete y luego pase App ID su.
import Realm from 'realm'; const app = Realm.App.getApp("<Your App ID>");
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 React from 'react'; import {Text, View} from 'react-native'; import {MetadataMode} from 'realm'; import {AppProvider} from '@realm/react'; 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().
const EncryptMetadata = ({ encryptionKey, }: { encryptionKey: ArrayBuffer; }) => { const metadataConfig = { mode: MetadataMode.Encryption, encryptionKey: encryptionKey, }; return ( <AppProvider id={APP_ID} metadata={metadataConfig}> <RestOfApp /> </AppProvider> ); };