跳转至

自定义标签使用

本文用于承载 React Native SDK 的全局上下文与自定义标签相关能力。

运行时添加自定义标签

使用方法

/**
 * 添加自定义全局参数。作用于 RUM、Log 数据。
 */
appendGlobalContext(context: object): Promise<void>;

/**
 * 添加自定义 RUM 全局参数。作用于 RUM 数据。
 */
appendRUMGlobalContext(context: object): Promise<void>;

/**
 * 添加自定义 Log 全局参数。作用于 Log 数据。
 */
appendLogGlobalContext(context: object): Promise<void>;

使用示例

FTMobileReactNative.appendGlobalContext({ global_key: 'global_value' });

FTMobileReactNative.appendRUMGlobalContext({ rum_key: 'rum_value' });

FTMobileReactNative.appendLogGlobalContext({ log_key: 'log_value' });

自定义标签使用示例

编译配置方式

使用 react-native-config 配置多环境,在不同环境中设置对应的自定义标签值。

let rumConfig: FTRUMConfig = {
  iOSAppId: iOSAppId,
  androidAppId: androidAppId,
  monitorType: MonitorType.all,
  enableTrackUserAction: true,
  enableTrackUserResource: true,
  enableTrackError: true,
  enableNativeUserAction: false,
  enableNativeUserResource: false,
  enableNativeUserView: false,
  globalContext: { track_id: Config.TRACK_ID },
};

await FTReactNativeRUM.setConfig(rumConfig);

运行时读写文件方式

  1. 通过数据持久化方式,如 AsyncStorage,在初始化 SDK 时读取存储的自定义标签。
let rumConfig: FTRUMConfig = {
  iOSAppId: iOSAppId,
  androidAppId: androidAppId,
  monitorType: MonitorType.all,
  enableTrackUserAction: true,
  enableTrackUserResource: true,
  enableTrackError: true,
  enableNativeUserAction: false,
  enableNativeUserResource: false,
  enableNativeUserView: false,
};

await new Promise(function (resolve) {
  AsyncStorage.getItem('track_id', (error, result) => {
    if (result === null) {
      console.log('获取失败' + error);
    } else {
      console.log('获取成功' + result);
      if (result != undefined) {
        rumConfig.globalContext = { track_id: result };
      }
    }
    resolve(FTReactNativeRUM.setConfig(rumConfig));
  });
});
  1. 在任意处添加或改变自定义标签到文件。
AsyncStorage.setItem('track_id', valueString, (error) => {
  if (error) {
    console.log('存储失败' + error);
  } else {
    console.log('存储成功');
  }
});
  1. 最后重启应用后生效。

SDK 运行时动态添加

在 SDK 初始化完毕之后,使用 FTMobileReactNative.appendGlobalContext(globalContext)FTMobileReactNative.appendRUMGlobalContext(globalContext)FTMobileReactNative.appendLogGlobalContext(globalContext) 可以动态添加标签,设置完毕后立即生效。

FTMobileReactNative.sdkConfig(config);

function getInfoFromNet(info: Info) {
  const globalContext = { delay_key: info.value };
  FTMobileReactNative.appendGlobalContext(globalContext);
}

添加规则请查阅 Android 冲突字段说明

文档评价

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