Sincronizar dados em um aplicativo do cliente com o Atlas e outros dispositivos
Nesta página
- Configurar o Atlas Access
- Criar um App Services App Atlas
- Configurar Device Sync
- Habilitar um provedor de autenticação
- Gerar um esquema Atlas App Services
- Adicione sincronização ao aplicativo do cliente
- Conecte o cliente a um backend do App Services
- Autenticar um usuário
- Abrir um realm sincronizado
- Copiar dados existentes para um domínio Realm
- Usar o Realm sincronizado
Se você tiver um aplicativo móvel ou de cliente que use o Realm Database e quiser sincronizar seus dados em outros dispositivos e fazer backup deles no MongoDB Atlas, poderá fazer isso usando o Device Sync. Siga estas etapas de alto nível para começar:
Configurar o Atlas Access
Criar um App Services App Atlas
O aplicativo App Services é o gateway que permite que seu dispositivo cliente se conecte ao MongoDB Atlas. Ao criar um aplicativo, você o nomeia, o vincula a um cluster do Atlas e especifica o modelo de implantação e a região de implantação que funcionam melhor para seu aplicativo.
Para saber como criar um App Services App, consulte Criar um Aplicativo.
Configurar Device Sync
Device Sync é o serviço que gerencia a sincronização de dados com o Atlas e entre seus dispositivos clientes. O Device Sync, juntamente com os Realm SDKs, gerencia automaticamente a conectividade de rede, a resolução de conflitos, a autenticação do usuário e as permissões de usuário e acesso a dados.
Ao configurar o Device Sync, você especifica a fonte de dados que os dispositivos cliente podem acessar, bem como as permissões que determinam quais dados um usuário pode ler e escrever.
Você pode configurar o Device Sync por meio da IU do Atlas, da interface da linha de comando do Atlas App Services ou da App Services Admin API. Na primeira vez que você configurar o Device Sync, é recomendável usar a IU do Atlas, pois ela fornece links e informações sobre diversas configurações e opções.
Habilitar um provedor de autenticação
Seus usuários clientes devem se autenticar para acessar os dados sincronizados. O App Services fornece vários provedores de autenticação para permitir a autenticação dos seus usuários. Configure um ou mais desses provedores de autenticação para habilitar a autenticação em seu aplicativo cliente.
Você pode configurar fornecedores de autenticação na interface do usuário do App Services App selecionando Authentication no menu de navegação esquerdo e, em seguida, clique em um fornecedor para configurá-lo. Você também pode configurar provedores de autenticação editando a configuração do App Services com a Interface da linha de comando do Atlas App Services ou a App Services Admin API.
Gerar um esquema Atlas App Services
Quando já tiver um aplicativo cliente que usa o Realm Database, você pode usar o Realm Object Model para gerar o Atlas App Services Schema, que mapeia dados entre dispositivos cliente e o Atlas. Você pode fazer isso ativando o Modo de desenvolvimento, um recurso que lê os dados do modelo de objeto a partir de dados de domínio sincronizados e gera um esquema a partir desses dados.
Para obter mais informações sobre como gerar um esquema do Atlas App Services a partir do seu modelo de objetos de Realm , consulte: Criar um esquema do Atlas App Services a partir de um modelo de objetos de Realm .
Adicione sincronização ao aplicativo do cliente
Depois disso, você tem tudo configurado de que precisa no Atlas e pode preparar seu aplicação cliente para sincronizar dados. Se você já tiver um aplicação cliente que persista os dados usando o Realm Database, basta adicionar alguns elementos para sincronizar esses dados entre dispositivos e com o Atlas.
Conecte o cliente a um backend do App Services
No código do aplicativo do cliente, inicialize um cliente de aplicativo para conectar o cliente ao backend do App Services. Isso permite que seu cliente use os recursos do App Services, como autenticação, e possibilita a abertura de um Realm sincronizado.
Abrir um realm sincronizado
Depois de ter um usuário autenticado, você pode abrir uma instância sincronizada do Realm Database para usar com esse usuário.
Você define uma assinatura de query do Flexible Sync no código do cliente para determinar quais dados devem ser sincronizados com o aplicativo cliente. O Device Sync procura documentos do Atlas que correspondam à query, que o usuário tem permissão para ler e possivelmente gravar, e sincroniza esses documentos com o dispositivo cliente como objetos de Realm. Você pode adicionar, remover ou atualizar assinaturas de query do Flexible Sync para alterar os documentos que são sincronizados com o dispositivo.
C++ SDK
SDK do Flutter
SDK para Java
SDK Kotlin
SDK do .NET
Node.js SDK
React Native SDK
Swift SDK
Copiar dados existentes para um domínio Realm
Se você já tiver dados do cliente , não poderá adicionar o Device Sync diretamente a um Realm não sincronizado. Você deve copiar os dados do Realm não sincronizado para o Realm sincronizado. Se você não tiver nenhum dado do cliente , poderá pular esta etapa.
Alguns SDKs fornecem métodos que permitem fazer isso ao abrir um domínio. No entanto, muitos dos SDKs do Realm não suportam atualmente o uso desses métodos com o Flexible Sync.
Se o SDK não suportar copiar um domínio local para um domínio de Flexible Sync, você deverá escrever lógica para iterar sobre cada objeto no domínio não sincronizado e copiá-lo para o domínio sincronizado. Este é um processo único. Depois de copiar os dados, você pode descartar o Realm não sincronizado e abrir apenas o Realm sincronizado daqui para frente.
Usar o Realm sincronizado
A sintaxe para ler, gravar e monitorar alterações em um Realm sincronizado é idêntica à sintaxe para Realms não sincronizados. Enquanto você trabalha com dados locais, um thread em segundo plano integra, carrega e baixa conjuntos de alterações de forma eficiente. Quando um usuário com permissões de gravação faz alterações no dispositivo, os dados persistem localmente. Quando o usuário tem uma conexão de rede, os dados são sincronizados automaticamente com o Atlas e outros dispositivos.