콘텐츠로 이동

사용자 정의 태그 사용

정적 사용

  1. 기존 main.dart를 두 부분으로 분할합니다. 하나는 main()이고, 다른 하나는 App() MaterialApp 위젯입니다.
  2. 각 환경에 해당하는 진입 파일을 생성합니다(예: main_prod.dart, main_gray.dart).
  3. 해당 환경 진입점에서 사용자 정의 태그를 구성합니다.
/// main_prod.dart
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await FTMobileFlutter.sdkConfig(
    datakitUrl: serverUrl,
    debug: true,
  );
  await FTRUMManager().setConfig(
    androidAppId: appAndroidId,
    iOSAppId: appIOSId,
    globalContext: {CUSTOM_STATIC_TAG: "prod_static_tag"},
  );
  runApp(MyApp());
}

동적 사용

RUM 실행 후 globalContext를 다시 설정해도 이미 실행 중인 구성에 즉시 적용되지 않으므로, 동적 태그는 일반적으로 로컬에 저장되었다가 다음 애플리케이션 시작 시 적용됩니다.

  1. 파일 유형 데이터(예: shared_preferencesSharedPreferences)를 통해 태그 데이터를 저장하고 SDK 구성 시 읽어옵니다.
final prefs = await SharedPreferences.getInstance();
String customDynamicValue =
    prefs.getString("customDynamicValue") ?? "not set";

await FTRUMManager().setConfig(
  androidAppId: appAndroidId,
  iOSAppId: appIOSId,
  globalContext: {CUSTOM_DYNAMIC_TAG: customDynamicValue},
);
  1. 파일 데이터를 변경하는 메서드를 원하는 위치에 추가합니다.
static Future<void> setDynamicParams(String value) async {
  final prefs = await SharedPreferences.getInstance();
  prefs.setString(CUSTOM_DYNAMIC_TAG, value);
}
  1. 마지막으로 애플리케이션을 다시 시작합니다.

주의사항

  1. 특수 키: track_id - 추적 기능에 사용됩니다.
  2. 사용자가 globalContext를 통해 추가한 사용자 정의 태그가 SDK 자체 태그와 동일한 경우, SDK 태그가 사용자가 설정한 값을 덮어씁니다.
  3. SDK 초기화 구성의 globalContext와 동일한 키를 사용하지 않도록 주의하십시오. 키가 동일한 경우, 초기화 구성의 정적 태그가 동적으로 추가된 태그보다 우선 순위가 높습니다.
  4. 태그 이름에 프로젝트 약어 접두사를 추가하는 것이 좋습니다(예: df_tag_name).
  5. 공유 규칙에 대한 자세한 내용은 충돌 필드 설명을 참조하십시오.

문서 평가

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