Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

Atlas App Services アプリへの接続 - React Native SDK

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

  1. App Services アプリの作成

  2. アプリ ID の取得

アプリクライアントを設定するには、アプリ ID string をAppProvider idプロンプトに渡します。 アプリにアクセスするために必要なコンポーネントをAppProviderでラップします。 この例では、ユーザーを認証するためにUserProviderAppProviderでラップします。

import React from 'react';
import {AppProvider, UserProvider} from '@realm/react';
export const AppWithAuthHook = () => {
return (
<View>
<AppProvider id={APP_ID}>
<UserProvider fallback={LogIn}>
<MyApp />
</UserProvider>
</AppProvider>
</View>
);
};

複数のアプリに接続するには、複数のアプリクライアントインスタンスを作成します。 同じアプリ ID を共有するすべてのアプリクライアント インスタンスは、同じ基礎の接続を使用します。

重要

アプリ初期化後のアプリ構成の変更

バージョンrealm@12.6.0での変更: baseUrlはキャッシュされません

App クライアントを初期化すると、構成は内部的にキャッシュされます。 同じプロセス内で変更された構成でアプリを「閉じ」、その後再度開かしようとしても効果はありません。 クライアントはキャッシュされた構成を引き続き使用します。

React Native SDK バージョン12.6.0 以降では、baseUrl 内のAppConfiguration はキャッシュされ ません 。つまり、 baseUrlを変更すると、アプリクライアントは更新された構成を使用します。 以前の SDK バージョンでは、キャッシュされたアプリ構成でbaseUrlを変更しても効果はありません。

AppProviderでラップされたすべてのコンポーネントは、 useApp()フックを使用してアプリクライアントにアクセスできます。

import React from 'react';
import {useApp} from '@realm/react';
function MyApp() {
const app = useApp();
// Proceed to app logic...
}

アプリケーション内のどこからでもアプリクライアントのインスタンスを取得するには、 realmパッケージからRealm.App()の新しいインスタンスをインスタンス化し、 App IDを渡します。

import Realm from 'realm';
const app = Realm.App.getApp("<Your App ID>");

App Services がクライアント デバイスに保存するメタデータを暗号化できます。 暗号化動作を決定するには、 MetadataMode 列挙型の値を使用します。

アプリのメタデータを暗号化するには:

  1. Realm MetadataModeをインポートし、他の依存関係をインポートします。

    import React from 'react';
    import {Text, View} from 'react-native';
    import {MetadataMode} from 'realm';
    import {AppProvider} from '@realm/react';
  2. metadataプロパティを含むアプリ構成オブジェクトを作成します。

  3. metadata.modeMetadataMode.Encryptionに設定します。

  4. 暗号化に使用するキーにmetadata.encryptionKeyを設定します。

  5. アプリ構成オブジェクトをnew Realm.App()に渡します。

const EncryptMetadata = ({
encryptionKey,
}: {
encryptionKey: ArrayBuffer;
}) => {
const metadataConfig = {
mode: MetadataMode.Encryption,
encryptionKey: encryptionKey,
};
return (
<AppProvider
id={APP_ID}
metadata={metadataConfig}>
<RestOfApp />
</AppProvider>
);
};

戻る

Atlas App Services

項目一覧