Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

App Services への接続 - C++ SDK

項目一覧

  • 前提条件
  • アプリ クライアントへのアクセス
  • カスタムHTTP headers設定
  • での の使用HTTP proxyRealm
  • アプリ メタデータの暗号化

App クライアントは、Atlas App Services バックエンド インターフェイスです。 認証と Atlas Function へのアクセスを提供します。

App Services Appの機能の一部は、ユーザー アカウントに関連付けられています。 たとえば、アプリの機能にアクセスする前にユーザーを認証する必要があります。

Atlas App Services に接続する前に、アプリ ID を持つ App Services App が必要です。 開始するには、App Services ドキュメントの「 アプリの作成」を参照してください。

App Services UI でアプリケーション ID を見つける方法については、App Services ドキュメントの「 アプリケーション ID の検索 」を参照してください。

  1. Realm UI でアプリ ID を見つけます。

  2. アプリの ID を引数として、 Realm::App::configuration()を作成します。 オプションで、 アプリ構成 を通じて追加の詳細を構成できます。

  3. この realm::App::configuration()を使用してアプリを初期化します。 このAppインスタンスを使用して、クライアント アプリケーション全体で App Services 機能にアクセスします。

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

Tip

Android アプリの作成

Realm C++ SDK を使用する Android アプリを作成する場合は、 db_configコンストラクターのfile_pathパラメーターにfilesDir.pathを渡す必要があります。 詳しくは、「 Android アプリを作成する 」を参照してください。

App Services またはDevice Syncをプロキシ設定で使用する場合は、カスタムHTTP headersを設定する必要がある場合があります。 RealmC++ SDKHTTP headersは、Realm ::App::configuration() および Realm::db_config でカスタム の設定をサポートしています。

アプリ構成を初期化するときに、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);

関数を呼び出すと、アプリはこれらのカスタム ヘッダーを使用します。

Device Sync でカスタム ヘッダーを使用する場合は、 Realm::db_config でヘッダーを追加で設定する必要があります。

HTTP proxyを設定した場合は、 HTTPトンネルを使用してRealmトラフィックをルーティングできます。

を使用するように構成するにはRealmHTTP proxy 次の手順に従います。

  1. プロキシの詳細を使用してproxy_configを初期化します。

  2. Realm::App::構成にプロキシ構成を設定します。

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

Atlas App Services に接続すると、Realm はデバイス上に追加のメタデータ ファイルを作成します。 これらのメタデータ ファイルの詳細については、「 C++ 用の Atlas Device SDK 」を参照してください。

Realm を暗号化するのと同様に、App Services がクライアントデバイスに保存するメタデータを暗号化できます。

Apple デバイスでは、メタデータはデフォルトで暗号化されます。 これを無効にするには、環境変数にREALM_DISABLE_METADATA_ENCRYPTIONを追加します。

他のプラットフォームでメタデータの暗号化を有効にするには、 Realm::App:: 構成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);

戻る

アプリケーションサービス