콘텐츠로 이동

사용자 정의 태그 사용

이 문서는 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)를 사용하여 태그를 동적으로 추가할 수 있으며, 설정 즉시 적용됩니다.

!!! warning

SDK 초기화 설정의 `globalContext` 또는 SDK 내장 필드와 동일한 key를 사용하지 않도록 주의하세요. key가 동일한 경우, 초기화 설정의 정적 태그가 동적으로 추가된 태그보다 우선순위가 높습니다.
FTMobileReactNative.sdkConfig(config);

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

추가 규칙은 Android 충돌 필드 설명을 참조하세요.

문서 평가

이 페이지가 도움이 되었나요?