Aplicativo de classe
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 ApiKeys, EmailPasswordAuth).
- Sincronize dados entre o dispositivo local e um aplicativo de Realm remoto com Realms sincronizados (usando SyncConfigurationBase).
- Invoque as funções do aplicativo Realm com Funções (usando Funções).
- Acesse dados remotos de reconhecimento de data center MongoDB com um MongoClient (usando GetMongoClient(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 SyncConfigurationBase , conforme indicado abaixo:
var 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();
namespace: Realms.sincronizar
Conjunto: Realm.exe
Sintaxe
public class App
Propriedades
| Editar esta página Ver fonteallUsers
Obtém todos os usuários conectados no momento.
Declaração
public User[] AllUsers { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Usuário[] | Uma array de usuários válidos conectados. |
BaseFilePath
Obtém a pasta raiz em relação à qual todos os dados locais deste aplicativo serão armazenados. Esses dados incluem metadados para usuários e Realms sincronizados.
Declaração
public string BaseFilePath { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
string | O caminho base do aplicativo. |
Veja também
| Editar esta página Ver fonteBaseUri
Obtém o URL base para este aplicativo Realm.
Declaração
public Uri BaseUri { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Uri | A URL base do aplicativo. |
Veja também
| Editar esta página Ver fonteUsuário atual
Obtém o usuário atual. Se não existir nenhum, será retornado nulo.
Declaração
public User? CurrentUser { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Usuário | Usuário válido ou |
EmailPasswordAuth
Obtém uma instância App.EmailPasswordClient que expõe a funcionalidade relacionada a usuários sendo criados ou conectados usando o fornecedor EmailPassword .
Declaração
public App.EmailPasswordClient EmailPasswordAuth { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Aplicativo.EmailPasswordClient | Uma instância do App.EmailPasswordClient com escopo para este aplicativo. |
id
Obtém o ID do aplicativo exclusivo que identifica a aplicação Realm.
Declaração
public string Id { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
string | O ID do aplicativo Atlas App Services. |
sincronizar
Obtém uma instância App.SyncClient que expõe a API para interagir com o cliente de sincronização para este aplicativo.
Declaração
public App.SyncClient Sync { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Aplicativo.Cliente de sincronização | Uma instância do App.SyncClient com escopo para este aplicativo. |
Métodos
| Editar esta página Ver fonteCriar(AppConfiguration)
Um método de fábrica para criar um aplicativo com uma AppConfiguration específica.
Declaração
public static App Create(AppConfiguration config)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
AppConfiguration | config | A AppConfiguration, especificando parâmetros-chave para o comportamento do aplicativo. |
Devoluções
Tipo | Descrição |
---|---|
Aplicação | Uma instância de aplicativo agora pode ser usada para conectar usuários, chamar funções ou abrir Realms sincronizados. |
Criar(string)
Um método de fábrica para criar um aplicativo com um ID do aplicativo.
Declaração
public static App Create(string appId)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | appId | A ID do aplicativo Atlas App Services. |
Devoluções
Tipo | Descrição |
---|---|
Aplicação | Uma instância de aplicativo agora pode ser usada para conectar usuários, chamar funções ou abrir Realms sincronizados. |
Observações
Este é um método de conveniência que cria uma AppConfiguration com os parâmetros padrão e o appId
fornecido e invoca Create(AppConfiguration).
DeleteUserFromServerAsync(usuário)
Exclui um usuário do servidor. O usuário também é removido do dispositivo junto com seus dados locais. Se o usuário estiver conectado, ele será desconectado no processo.
Declaração
public Task DeleteUserFromServerAsync(User user)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Usuário | utilizador | O usuário a ser removido do servidor. |
Devoluções
Tipo | Descrição |
---|---|
Tarefa | Uma tarefa aguardada que representa a operação de exclusão assíncrona. A conclusão bem-sucedida indica que o usuário foi removido, desconectado e seus dados locais foram removidos. |
LogInAsync(Credenciais)
Faz login como um usuário com as credenciais fornecidas associadas a um fornecedor de autenticação.
Declaração
public Task<User> LogInAsync(Credentials credentials)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Credenciais | credenciais | As Credenciais representando o tipo de login. |
Devoluções
Tipo | Descrição |
---|---|
Tarefa<Usuário> | Um Task<TResult> aguardável que representa a operação assíncrona do LogIn. |
Observações
O último usuário conectado será salvo como currentUser. Se já houver um usuário atual, esse usuário ainda estará conectado e poderá ser encontrado na lista retornada por AllUsers. Também é possível alternar entre qual usuário é considerado o usuário atual usando switchUser(User).
RemoveUserAsync(usuário)
Remove um usuário e seus dados locais do dispositivo. Se o usuário estiver conectado, ele será desconectado no processo.
Declaração
public Task RemoveUserAsync(User user)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Usuário | utilizador | O usuário a sair e remover. |
Devoluções
Tipo | Descrição |
---|---|
Tarefa | Uma tarefa aguardável que representa a operação assíncrona RemoveUser. A conclusão bem-sucedida indica que o usuário foi desconectado, seus dados locais foram removidos e o RefreshToken do usuário foi revogado no servidor. |
Observações
Esta é uma operação do cliente e não excluirá nenhum dado armazenado no servidor para esse usuário.
switchUser(usuário)
Muda o currentUser para o especificado em user
.
Declaração
public void SwitchUser(User user)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Usuário | utilizador | O novo usuário atual. |
UpdateBaseUriAsync(Uri?)
Substitui temporariamente o valor BaseUri da AppConfiguration por um novo valor newUri
utilizado para comunicação com o servidor.
Declaração
public Task UpdateBaseUriAsync(Uri? newUri)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Uri | newUri | O novo uri que será utilizado para comunicação com o servidor. Se definido como |
Devoluções
Tipo | Descrição |
---|---|
Tarefa | Uma aguardável Task que representa a operação assíncrona. |
Observações
A aplicação reverterá para usar o valor em [AppConfiguration] quando for reiniciado.
Essa API deve ser chamada depois que as sessões de sincronização tiverem sido interrompidas manualmente e em um ponto em que o servidor em newUri
esteja acessível. Depois que o uri base for atualizado, as sessões de sincronização devem ser retomadas e o usuário precisa se autenticar novamente.
Esta API é experimental e sujeita a alterações sem um aumento da versão principal.
Operadores
| Editar esta página Ver fonteoperador ==(Aplicação?, Aplicação?)
Determina se duas instâncias do aplicativo são iguais.
Declaração
public static bool operator ==(App? app1, App? app2)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Aplicação | app1 | O primeiro aplicativo a comparar. |
Aplicação | app2 | O segundo aplicativo para comparar. |
Devoluções
Tipo | Descrição |
---|---|
bool |
|
operador !=(Aplicação?, Aplicação?)
Determina se duas instâncias da aplicação são diferentes.
Declaração
public static bool operator !=(App? app1, App? app2)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Aplicação | app1 | O primeiro aplicativo a comparar. |
Aplicação | app2 | O segundo aplicativo para comparar. |
Devoluções
Tipo | Descrição |
---|---|
bool |
|