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

Conectar ao App Services - C++ SDK

Nesta página

  • Pré-requisitos
  • Acesse o cliente do aplicativo
  • Definir HTTP headerspersonalizados
  • Use um proxy HTTP com o Realm
  • Criptografar metadados de aplicativos

O cliente do aplicativo é a interface de backend do Atlas App Services. Ele fornece acesso à autenticação e ao Atlas Function.

Alguns dos recursos do seu aplicativo App Services estão associados a contas de usuário. Por exemplo, você precisa autenticar um usuário antes de poder acessar as funções do seu aplicativo.

Antes de se conectar ao Atlas App Services, você precisa de um App Services App com uma ID de aplicativo. Para começar, consulte Criar um Aplicativo na documentação do App Services.

Para saber como localizar sua ID do aplicativo na interface do usuário do Atlas App Services , consulte Encontrar sua ID do aplicativo na documentação do Atlas App Services .

  1. Encontre o ID do aplicativo na interface do usuário do Realm.

  2. Crie um realm::App::configuration() com o ID do seu aplicativo como argumento. Opcionalmente, você pode configurar detalhes adicionais por meio da configuração da aplicação.

  3. Inicialize um aplicativo usando este realm::App::configuration(). Use esta instância App para acessar os recursos do Atlas App Services em todo o seu aplicativo cliente.

auto appConfig = realm::App::configuration();
appConfig.app_id = APP_ID;
auto app = realm::App(appConfig);

Dica

Construindo um aplicativo Android

Ao construir um aplicativo Android que utiliza o Realm C++ SDK, você deve passar o parâmetro filesDir.path para o parâmetro file_path no construtor db_config . Para obter mais informações, consulte: Criar um aplicativo Android.

Se você usar o Atlas App Services ou o Device Sync com uma configuração de proxy, talvez seja necessário definir HTTP headers personalizados. O Realm C++ SDK suporta a definição de HTTP headers personalizados no domínio::App::configuration() e no domínio::db_config.

Ao inicializar a configuração do aplicativo, passe um mapa de chaves e valores do cabeçalho da string.

std::map<std::string, std::string> customHttpHeaders;
customHttpHeaders.emplace("CUSTOM_HEADER_NAME", "CUSTOM_HEADER_VALUE");
auto appConfig = realm::App::configuration();
appConfig.app_id = APP_ID;
appConfig.custom_http_headers = customHttpHeaders;
auto app = realm::App(appConfig);

Se você chamar uma função , o aplicativo usará esses cabeçalhos personalizados.

Se você quiser usar cabeçalhos personalizados com o Realm Mobile Sync, definir adicionalmente os cabeçalhos no Realm::db_config.

Se você configurou um proxy HTTP, poderá usar o túnel HTTP para rotear o tráfego do Realm.

Para configurar o Realm para usar seu HTTP proxy:

  1. Inicialize um proxy_config com os detalhes do seu proxy.

  2. Defina a configuração de proxy no seu domínio::App::configuration.

  3. Defina a configuração do proxy no seu domínio::db_config.

auto proxyConfig = realm::proxy_config();
proxyConfig.port = 8080;
proxyConfig.address = "127.0.0.1";
proxyConfig.username_password = {"username", "password"};
auto appConfig = realm::App::configuration();
appConfig.app_id = APP_ID;
appConfig.proxy_configuration = proxyConfig;
auto app = realm::App(appConfig);
auto user = app.get_current_user();
auto syncConfig = user->flexible_sync_configuration();
syncConfig.set_proxy_config(proxyConfig);
auto syncedRealm = realm::db(syncConfig);

Quando você se conecta ao realm do serviço, o Realm cria arquivos de metadados adicionais em um dispositivo. Para mais informações sobre estes arquivos de metadados, consulte Atlas Device SDK for C++.

Você pode criptografar os metadados que o App Services armazena em dispositivos cliente de forma semelhante à criptografia do Realm.

Em dispositivos Apple, os metadados são criptografados por padrão. Para desabilitar isso, adicione REALM_DISABLE_METADATA_ENCRYPTION às suas variáveis de ambiente.

Para habilitar a criptografia de metadados em outras plataformas, você deve definir um metadata_encryption_key em seu realm::App::configuration.

// Check if we already have a key stored in the platform's secure storage.
// If we don't, generate a new one.
// Use your preferred method to generate a key. This example key is
// NOT representative of a secure encryption key. It only exists to
// illustrate the form your key might take.
std::array<char, 64> exampleKey = {
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0,
0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0,
0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0};
// Create and populate an App configuration.
auto appConfig = realm::App::configuration();
appConfig.app_id = APP_ID;
// Specify the metadata key.
appConfig.metadata_encryption_key = exampleKey;
// Use the configuration when you open the app.
auto app = realm::App(appConfig);

Voltar

Serviços de aplicativos