跳转至

SDK 初始化

本文用于承载 React Native SDK 初始化与运行时能力相关内容。

导入 SDK

现在在您的代码中,您可以使用:

import {
  FTMobileReactNative,
  FTReactNativeLog,
  FTReactNativeTrace,
  FTReactNativeRUM,
  FTMobileConfig,
  FTLogConfig,
  FTTraceConfig,
  FTRUMConfig,
  ErrorMonitorType,
  DeviceMetricsMonitorType,
  DetectFrequency,
  TraceType,
  FTLogStatus,
  EnvType,
} from '@cloudcare/react-native-mobile';

基础配置

// 本地环境部署、Datakit 部署
let config: FTMobileConfig = {
  datakitUrl: datakitUrl,
};

// 使用公网 DataWay
let config: FTMobileConfig = {
  datawayUrl: datawayUrl,
  clientToken: clientToken,
};

await FTMobileReactNative.sdkConfig(config);
字段 类型 必须 说明
datakitUrl string 本地环境部署(Datakit)上报 URL 地址,例子:http://10.0.0.1:9529,端口默认 9529,安装 SDK 设备需能访问该地址。注意:datakitUrl 和 datawayUrl 配置两者二选一
datawayUrl string 公网 Dataway 上报 URL 地址,从 [用户访问监测] 应用中获取,例子:https://open.dataway.url,安装 SDK 设备需能访问这地址。注意:datakitUrl 和 datawayUrl 配置两者二选一
clientToken string 认证 token,需要与 datawayUrl 同时使用
debug boolean 设置是否允许打印日志,默认 false
env string 环境配置,默认 prod,任意字符,建议使用单个单词,例如 test
envType enum EnvType 环境配置,默认 EnvType.prod。注:envenvType 只需配置一个
service string 设置所属业务或服务的名称,影响 Log 和 RUM 中 service 字段数据。默认:df_rum_iosdf_rum_android
autoSync boolean 是否在采集数据后自动同步到服务器,默认 true。当为 false 时使用 FTMobileReactNative.flushSyncData() 自行管理数据同步
syncPageSize number 设置同步请求条目数。范围 [5,),注意:请求条目数越大,代表数据同步占用更大的计算资源
syncSleepTime number 设置同步间歇时间。范围 [0,5000],默认不设置
enableDataIntegerCompatible boolean 需要与 web 数据共存情况下,建议开启。此配置用于处理 web 数据类型存储兼容问题。0.3.12 以后版本默认开启
globalContext object 添加自定义标签。添加规则请查阅此处
compressIntakeRequests boolean 对上传同步数据进行 deflate 压缩,默认关闭
enableLimitWithDbSize boolean 开启使用 DB 限制数据大小,默认 100MB,单位 Byte,数据库越大,磁盘压力越大,默认不开启。注意:开启之后 Log 配置 logCacheLimitCount 及 RUM 配置 rumCacheLimitCount 将失效。SDK 0.3.10 以上版本支持该参数
dbCacheLimit number DB 缓存限制大小。范围 [30MB,),默认 100MB,单位 byte,SDK 0.3.10 以上版本支持该参数
dbDiscardStrategy string 设置数据库中数据丢弃规则。丢弃策略:FTDBCacheDiscard.discard 丢弃新数据(默认)、FTDBCacheDiscard.discardOldest 丢弃旧数据。SDK 0.3.10 以上版本支持该参数
dataModifier object 对单个字段进行更改。SDK 0.3.14 以上支持,使用示例请看 数据采集脱敏
lineDataModifier object 对单条数据进行更改。SDK 0.3.14 以上支持,使用示例请看 数据采集脱敏
remoteConfiguration boolean 是否开启数据采集的远程配置功能,默认不开启。开启之后,SDK 初始化或应用热启动会触发数据更新。SDK 0.3.16 以上支持。 可配置参数
remoteConfigMiniUpdateInterval number 设置远程动态配置最小更新间隔,单位秒,默认 12 小时。SDK 0.3.16 以上支持
remoteConfigOverrideRules Array 设置远程配置覆盖规则,可在应用远程配置前进行自定义调整。SDK 0.3.16 以上支持,使用示例请看 这里

用户信息绑定与解绑

使用方法

/**
 * 绑定用户。
 * @param userId 用户 ID。
 * @param userName 用户姓名。
 * @param userEmail 用户邮箱。
 * @param extra 用户的额外信息。
 */
bindRUMUserData(userId: string, userName?: string, userEmail?: string, extra?: object): Promise<void>;

/**
 * 解绑用户。
 */
unbindRUMUserData(): Promise<void>;

使用示例

import { FTMobileReactNative } from '@cloudcare/react-native-mobile';

FTMobileReactNative.bindRUMUserData('react-native-user', 'user_name');

FTMobileReactNative.unbindRUMUserData();

运行时能力

关闭 SDK

使用 FTMobileReactNative 关闭 SDK。

/**
 * 关闭 SDK 内正在运行对象。
 */
shutDown(): Promise<void>;
FTMobileReactNative.shutDown();

清理 SDK 缓存数据

使用 FTMobileReactNative 清理未上报的缓存数据。

/**
 * 清除所有尚未上传至服务器的数据。
 */
clearAllData(): Promise<void>;
FTMobileReactNative.clearAllData();

主动同步数据

当配置 FTMobileConfig.autoSynctrue 时,无需做额外操作,SDK 会自动同步。

当配置 FTMobileConfig.autoSyncfalse 时,需要主动触发数据同步。

/**
 * 主动同步数据,当配置 `FTMobileConfig.autoSync = false` 时需要主动触发。
 */
flushSyncData(): Promise<void>;
FTMobileReactNative.flushSyncData();

初始化顺序说明

请在顶层 index.js 文件中注册 App 之前完成 SDK 初始化,以确保在调用 SDK 其他方法之前,SDK 已完全准备就绪。

完成基础配置之后,再进行 RUM、Log、Trace 配置。

import App from './App';

async function sdkInit() {
  await FTMobileReactNative.sdkConfig(config);
  await FTReactNativeRUM.setConfig(rumConfig);
  // ...
}

sdkInit();
AppRegistry.registerComponent('main', () => App);

动态配置

动态配置相关能力已拆分至 动态配置

文档评价

文档内容是否对您有帮助? ×