Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Conectar a um Aplicativo do App Services Atlas - React Native SDK

Nesta página

  • Antes de começar
  • Configurar o cliente do aplicativo
  • Recuperar uma instância do cliente do aplicativo
  • Recuperar aplicação fora do fornecedor de aplicação
  • Criptografar metadados de aplicativos
  • Conecte-se a um servidor MongoDB específico
  • Conecte-se a um servidor MongoDB diferente durante o tempo de execução

O cliente do aplicativo é a interface para o backend do App Services. Ela fornece acesso à funcionalidade de autenticação, Função de Realm e Atlas Device Sync.

  1. Criar um App Services App

  2. Obtenha seu ID do aplicativo

Para configurar seu cliente de aplicativo, passe a string do ID do aplicativo para a propriedade id do AppProvider. Envolva todos os componentes que precisem acessar o aplicativo com o AppProvider. Neste exemplo, envolvemos o UserProvider no AppProvider para autenticar um usuário.

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>
);
};

Você pode criar várias instâncias do cliente de aplicativo para se conectar a vários aplicativos. Todas as instâncias de cliente de aplicativo que compartilham a mesma ID de aplicativo usam a mesma conexão subjacente.

Importante

Alterando uma configuração de aplicativo após inicializar o aplicativo

Alterado na versão realm@12.6.0: baseUrl não é armazenado em cache

Quando você inicializa o cliente do aplicativo, a configuração é armazenada em cache internamente. A tentativa de "fechar" e, em seguida, reabrir uma aplicação com uma configuração alterada dentro do mesmo processo não tem efeito. O cliente continua usando a configuração em cache.

Iniciando com React Native SDK versão 12.6.0, o baseUrl no AppConfiguration não é armazenado em cache. Isso significa que você pode alterar o baseUrl e o cliente da aplicação utilizará a configuração atualizada. Em versões anteriores do SDK, as alterações no baseUrl em uma configuração de aplicativo em cache não têm efeito.

Todos os componentes agrupados em um AppProvider podem acessar o cliente da aplicação com o hook useApp() .

import React from 'react';
import {useApp} from '@realm/react';
function MyApp() {
const app = useApp();
// Proceed to app logic...
}

Para recuperar uma instância do cliente de aplicativo de qualquer lugar em seu aplicativo, instancie uma nova instância de Realm.App() a partir do pacote realm e, em seguida, passe seu App ID.

import Realm from 'realm';
const app = Realm.App.getApp("<Your App ID>");

Você pode criptografar os metadados que o Atlas App Services armazena nos dispositivos do cliente. Use os valores do enum MetadataMode para determinar o comportamento da criptografia.

Para criptografar os metadados do app:

  1. Importar MetadataMode de Realm e importar outras dependências:

    import React from 'react';
    import {Text, View} from 'react-native';
    import {MetadataMode} from 'realm';
    import {AppProvider} from '@realm/react';
  2. Crie um objeto de configuração do aplicativo que contenha a propriedade metadata .

  3. Defina metadata.mode como MetadataMode.Encryption.

  4. Defina metadata.encryptionKey para a chave que você deseja usar para criptografia.

  5. Passe o objeto de configuração do aplicativo para new Realm.App().

const EncryptMetadata = ({
encryptionKey,
}: {
encryptionKey: ArrayBuffer;
}) => {
const metadataConfig = {
mode: MetadataMode.Encryption,
encryptionKey: encryptionKey,
};
return (
<AppProvider
id={APP_ID}
metadata={metadataConfig}>
<RestOfApp />
</AppProvider>
);
};

Por padrão, o Atlas Device SDK se conecta ao Atlas usando o baseURL global de https://services.cloud.mongodb.com. Em alguns casos, você pode querer se conectar a um servidor diferente:

  • Seu App Services App usa o sistema local e você deseja se conectar diretamente a um baseURL local em sua região.

Você pode especificar um baseURL como prop para o AppProvider. Todas as chaves AppConfiguration podem ser passadas como props para AppProvider.

Alterado na versão realm@12.8.0.

Em alguns casos, você pode querer alterar o baseURL enquanto o aplicativo está em execução.

Atualmente, esse recurso é implementado como um módulo experimental que requer configuração específica do Typescript . Pode ser difícil fazer a configuração necessária funcionar com um aplicativo React Native. Para obter mais informações sobre a implementação, consulte a documentação do Node.js SDK

Voltar

Serviços Atlas App