Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

连接 Atlas App Services APP - React Native SDK

应用客户端是与 App Services 后端的接口。 它提供对身份验证Realm 函数Atlas Device Sync 的访问。

  1. 创建 App Services App

  2. 获取应用程序 ID

要设置 App 客户端,请将应用程序 ID 字符串传递给idAppProvider 属性。使用AppProvider封装需要访问应用的任何组件。 在此示例中,我们将UserProvider包装在AppProvider中以对用户进行身份验证。

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

您可以创建多个应用客户端实例以连接多个应用。 股票相同 App ID的所有 App客户端实例使用相同的根本的连接。

重要

初始化应用后更改应用配置

在版本realm@12.6.0中进行了更改:不缓存baseUrl

初始化 App 客户端时,会在内部缓存配置。 尝试在同一进程中“关闭”并重新打开配置已更改的应用无效。 客户端继续使用缓存的配置。

从React Native SDK版本12.6.0开始,不会缓存AppConfiguration中的baseUrl 。 这意味着您可以更改baseUrl ,应用客户端将使用更新后的配置。 在早期 SDK 版本中,对缓存的应用配置中的baseUrl进行更改无效。

包装在AppProvider中的所有组件都可以使用useApp()钩子访问权限应用程序客户端。

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

要从应用程序中的任何位置检索 App Client 实例,请从realm包中实例化Realm.App()的新实例,然后传入App ID

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

您可以对Atlas 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.mode 设置为 MetadataMode.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

在此页面上