Namespace Realms.Sync
Aulas
Chave de API
Uma classe que representa uma chave de API para um User. Ele pode ser usado para representar o usuário ao fazer login, em vez de suas credenciais regulares. Essas chaves são criadas ou obtidas por meio do Api
O valor de uma chave API só está disponível quando a chave é criada e não pode ser obtido depois disso. Isso significa que é responsabilidade do chamador armazenar com segurança o valor de uma chave de API após a criação.
Aplicação
Uma aplicação é o principal ponto de entrada do lado do cliente para interagir com um aplicativo Atlas App Services.
A aplicação pode ser usada para:
-
Registrar usos e realizar várias operações relacionadas ao usuário por meio de provedores de autenticação (por exemplo Api
Keys , EmailPassword ).Auth -
Sincronize dados entre o dispositivo local e um aplicativo de Realm remoto com Realms sincronizados (usando Sync
Configuration ).Base - Invoque as funções do aplicativo Realm com Funções (usando Funções).
-
Acesse dados remotos de reconhecimento de data center MongoDB com um Mongo
Client (usando GetMongo ).Client(string)
Para criar um aplicativo vinculado a um aplicativo Realm remoto, inicialize o Realm e configure o aplicativo conforme mostrado abaixo:
var appConfig = new AppConfiguration("my-realm-app-id");
var app = new App(appConfig);
Depois de configurar o aplicativo, você pode começar a gerenciar usuários, configurar Realm sincronizados, chamar Função de Realm remotas e acessar dados remotos por meio das collection do mongo.
Para registrar um novo usuário e/ou fazer login com um usuário existente, faça o seguinte:
await app.EmailPassword.RegisterUserAsync("foo@bar.com", "password");
// Login with existing user
var user = app.LoginAsync(Credentials.EmailPassword("foo@bar.com", "password");
Com um usuário autorizado, você pode sincronizar dados entre o dispositivo local e o aplicativo Realm remoto abrindo um Realm com uma Syncvar syncConfig = new PartitionSyncConfiguration("some-partition-value", user);
using var realm = await Realm.GetInstanceAsync(syncConfig);
realm.Write(() =>
{
realm.Add(...);
});
await realm.GetSession().WaitForUploadAsync();
Você pode chamar Função de Realm remotas como mostrado abaixo:
var result = await user.Functions.CallAsync<int>("sum", 1, 2, 3, 4, 5);
E acesse collection do Realm remoto, conforme mostrado aqui:
var client = user.GetMongoClient("atlas-service");
var db = client.GetDatabase("my-db");
var collection = db.GetCollection("foos");
var foosCount = await collection.CountAsync();
AppConfiguration
Uma classe que expõe opções de configuração para um aplicativo.
Credenciais
Uma classe, representando as credenciais usadas para autenticar um usuário.
Configuração flexível de sincronização
Uma Flexible
Cliente Mongo
O MongoClient remoto usado para trabalhar com dados no MongoDB remotamente via Realm.
MongoClient.Collection<TDocument>
Um objeto representando uma collection MongoDB remota.
MongoClient.Database
Um objeto representando um banco de dados MongoDB remoto.
MongoClient.DeleteResult
O resultado da operação Delete
MongoClient.InsertManyResult
O resultado da operação Insert
MongoClient.InsertResult
O resultado da operação Insert
MongoClient.UpdateResult
O resultado da operação Update
PartitionSyncConfiguration
Uma Partition
ReconnectBackoffOptions
Opções para configurar o atraso de reconexão usado pelo cliente de sincronização.
Sessão
Um objeto encapsulando uma sessão de sincronização. As sessões representam a comunicação entre o cliente (e um Arquivo de Realm local no disco) e o MongoDB Atlas. As sessões são sempre criadas pelo SDK e distribuídas por meio de várias API. A duração das sessões associadas aos Realms é managed automaticamente.
inscrição
Uma classe que representa uma única assinatura de query. O servidor avaliará continuamente a query em que o aplicativo se inscreveu e enviará os dados que correspondem a ela, bem como removerá os dados que não correspondem mais.
Opções de assinatura
Uma classe que fornece várias opções para Adicionar<T>(IQueryable<T>, Subscription
Conjunto de assinaturas
Uma collection que representa o conjunto de assinaturas ativas para uma Instância de Realm . Isso é usado em combinação com Flexible
SyncConfigurationBase
Uma Sync
SyncTimeoutOptions
Opções para configurar tempos limite e intervalos usados pelo cliente de sincronização.
Usuário
Esta classe representa um usuário em um aplicativo Atlas App Services. As credenciais são fornecidas por vários provedores terceirizados (Facebook, Google, etc.). Um usuário pode fazer login no servidor e, se o acesso for concedido, é possível sincronizar o Realm local e o remoto. Além disso, a sincronização é interrompida quando o usuário é desconectado. É possível persistir um usuário. Ao recuperar um usuário, não há necessidade de fazer login no provedor terceirizado novamente. Ao persistir um usuário entre as sessões, as credenciais do usuário são armazenadas localmente no dispositivo e devem ser tratadas como dados confidenciais.
User.ApiKeyClient
Uma classe que expõe a funcionalidade para os usuários managed as chaves de API do cliente. Ele sempre tem o escopo de um usuário específico e só pode ser acessado por meio de Api
User.FunctionsClient
Uma classe que expõe a funcionalidade para chamar Função de Realm remotas.
UserIdentity
Uma classe contendo informações sobre uma identidade associada a um usuário.
Perfil do usuário
Uma classe contendo informações de perfil sobre o usuário.
Estruturas
App.EmailPasswordClient
Uma classe, encapsulando funcionalidade para usuários, conectados com o provedor Email
App.SyncClient
Um gerenciador de sincronização, lidando com a sincronização do Realm local com o MongoDB Atlas. Ele sempre tem o escopo de um aplicativo específico e só pode ser acessado por meio da sincronização.
SyncProgress
Uma estrutura contendo informações sobre o estado de progresso em um determinado instante.
Enumerações
Estado da conexão
O estado da conexão atual de um objeto de sessão de sincronização.
Credentials.AuthProvider
Uma enumeração contendo os possíveis provedor de autenticação. Eles devem ser habilitados manualmente para seu aplicativo antes de serem usados.
GoogleCredentialType
O tipo da credencial do Google.
MetadataPersistenceMode
Enumeração que especifica como e se os objetos de usuário conectados são mantidos entre as inicializações do aplicativo.
ProgressDirection
A direção da transferência (upload ou download) monitorada por uma determinada assinatura de notificação de progresso.
ProgressMode
O comportamento desejado de uma assinatura de notificação de progresso.
Estado da sessão
O estado atual de um objeto de sessão de sincronização.
Estado do conjunto de assinaturas
Uma enumeração representando o estado de um conjunto de assinaturas do Realm.
Estado do usuário
O estado do objeto do usuário.
Aguarde o modo de sincronização
Um enum que controla quando query.
delegados
FlexibleSyncConfiguration.InitialSubscriptionsDelegate
Um delegado invocado quando um Flexible Sync Realm é aberto pela primeira vez.
SyncConfigurationBase.SessionErrorCallback
chamada de resposta acionada quando ocorre um erro em uma sessão.