Sincronizar dados entre dispositivos - C++ SDK
Nesta página
O Atlas Device Sync sincroniza automaticamente os dados entre aplicativos cliente e umbackend do App Services . Quando um dispositivo cliente está online, o Sync sincroniza de forma assíncrona os dados em um thread em background entre o dispositivo e seu aplicativo de backend.
Quando você usa a sincronização em seu aplicativo cliente, sua implementação deve corresponder ao modo de sincronização selecionado na configuração do aplicativo de backend. O Realm C++ SDK oferece suporte apenas à Flexible Sync.
Flexible Sync
Quando você seleciona Flexible Sync para a configuração do aplicativo de backend, a implementação do cliente deve incluir assinaturas para queries em campos consultáveis. O Flexible Sync funciona sincronizando dados que correspondem às assinaturas de consulta que você mantém no aplicativo cliente.
Um conjunto de assinatura contém um conjunto de queries. O Flexible Sync retorna documentos correspondentes a essas queries, onde o usuário tem as permissões apropriadas para ler e/ou ler e gravar os documentos. Se os documentos corresponderem à query, mas o cliente não tiver permissão para lê-los ou gravá-los, eles não serão sincronizados com o aplicação cliente .
Você pode formar queries usando a Linguagem de Query de Realm.
Observação
O Flexible Sync não é compatível com todos os operadores de consulta disponíveis na Linguagem de Query de Realm e no mecanismo de consulta do SDK. Consulte Limitações flexíveis do RQL de sincronização para obter detalhes.
Os conjuntos de assinaturas são baseados em um tipo específico de objeto Realm. Você pode ter várias assinaturas se tiver muitos tipos de objetos do Realm.
Para usar o Realm Mobile Sync em sua aplicação cliente, abra um Realm sincronizado com uma configuração de Flexible Sync. Em seguida, managed assinaturas para determinar quais documento sincronizar. Para obter mais informações, consulte managed assinaturas de sincronização - C++ SDK.
Atualizações de grupo para melhorar o desempenho
Cada transação de escrita para um conjunto de assinaturas tem um custo de desempenho. Se você precisar fazer várias atualizações em um objeto do Realm durante uma sessão, considere manter objetos editados na memória até que todas as alterações sejam concluídas. Isso melhora o desempenho da sincronização, gravando apenas o objeto completo e atualizado em seu domínio, em vez de cada alteração.
Sincronização unidirecional
O Realm Mobile Sync oferece suporte à capacidade de enviar dados para o Atlas, mas não receber atualizações.
Nesse cenário, você pode maximizar o desempenho da sincronização usando a Ingestão de dados para transmitir dados do aplicativo cliente para um aplicativo Flexible Sync-enabled Atlas App Services App.