Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

App Services에 연결 - C++ SDK

이 페이지의 내용

  • 전제 조건
  • 앱 클라이언트에 액세스
  • 사용자 지정 HTTP headers설정
  • Realm에서 HTTP 프록시 사용
  • 앱 메타데이터 암호화

앱 클라이언트는 Atlas App Services 백엔드 인터페이스입니다. 인증 및 Atlas Function에 대한 액세스를 제공합니다.

App Services App의 일부 기능은 사용자 계정과 연결되어 있습니다. 예를 들어, 사용자를 인증 해야 앱 기능에 액세스할 수 있습니다.

Atlas App Services 에 연결하려면 먼저 앱 ID 가 있는 App Services App 이 필요합니다. 시작하려면 App Services 문서에서 앱 만들기 를 참조하세요.

Atlas App Services UI에서 앱 ID 를 찾는 방법을 알아보려면 Atlas App Services 문서에서 앱 ID찾기 를 참조하세요.

  1. Realm UI에서 애플리케이션 ID를 찾습니다.

  2. 앱의 ID를 인수로 사용하여 Realm::App::configuration() 을 생성합니다. 선택적으로 앱 구성을 통해 추가 세부 정보를 구성할 수 있습니다.

  3. realm::App::configuration() 를 사용하여 을 초기화합니다. 이 App 인스턴스를 사용하여 클라이언트 애플리케이션 전체에서 Atlas App Services 기능에 액세스합니다.

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

Android 앱 빌드

Realm C++ SDK를 사용하는 Android 앱을 빌드할 때는 db_config 생성자의 file_path 매개변수에 filesDir.path 를 전달해야 합니다. 자세한 내용 은 Android 앱 빌드를 참조하세요.

프록시 설정과 함께 Atlas App Services 또는 Device Sync 를 사용하는 경우 사용자 지정 HTTP headers 를 설정해야 할 수 있습니다. 는 realm::App::configuration()realm::db_config 에서사용자 Realm C++ SDK 지정 설정을 지원합니다.HTTP headers

앱 구성을 초기화할 때 문자열 헤더 키와 값의 맵을 전달합니다.

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);

함수를 호출 하면 앱은 이러한 사용자 지정 헤더를 사용합니다.

Realm Mobile Sync에 사용자 지정 헤더를 사용 하려면 영역::db_config에서 헤더를 추가로 설정해야 합니다.

HTTP proxy를 구성한 경우 HTTP tunneling을 사용하여 Realm 트래픽을 라우팅할 수 있습니다.

HTTP proxy를 사용하도록 Realm을 구성하려면 다음을 수행하세요.

  1. 프록시에 대한 세부 정보를 사용하여 proxy_config 를 초기화합니다.

  2. Realm::App::configuration에서 프록시 구성을 설정합니다.

  3. Realm::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);

App Services에 연결하면 서비스 영역은 기기에 추가 메타데이터 파일을 생성합니다. 이러한 메타데이터 파일에 대한 자세한 내용은 C++용 Atlas Device SDK를 참조하세요.

영역을 암호화하는 것과 유사하게 App Services가 클라이언트 디바이스에 저장하는 메타데이터를 암호화할 수 있습니다.

Apple 기기에서는 메타데이터가 기본적으로 암호화됩니다. 이 기능을 비활성화하려면 환경 변수에 REALM_DISABLE_METADATA_ENCRYPTION 을(를) 추가합니다.

다른 플랫폼에서 메타데이터 암호화를 활성화하려면 Realm::App::configuration에서 metadata_encryption_key 를 설정해야 합니다.

// 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);

돌아가기

애플리케이션 서비스