콘텐츠로 이동

사용자 정의 태그 사용

컴파일 구성 방식

  1. build.gradle 에서 여러 개의 productFlavors 를 생성하여 태그를 구분합니다.
android{
    //…
    productFlavors {
        prodTest {
            buildConfigField "String", "CUSTOM_VALUE", "\"Custom Test Value\""
            //…
        }
        prodPublish {
            buildConfigField "String", "CUSTOM_VALUE", "\"Custom Publish Value\""
            //…
        }
    }
}
  1. RUM 구성에 해당 BuildConfig 상수를 추가합니다.
FTSdk.initRUMWithConfig(
        new FTRUMConfig()
            .addGlobalContext(CUSTOM_STATIC_TAG, BuildConfig.CUSTOM_VALUE)
            //... 기타 구성 추가
);
FTSdk.initRUMWithConfig(
            FTRUMConfig()
                .addGlobalContext(CUSTOM_STATIC_TAG, BuildConfig.CUSTOM_VALUE)
                //… 기타 구성 추가
        )

런타임 파일 읽기/쓰기 방식

  1. SharedPreferences 와 같은 파일 유형 데이터를 저장하고 SDK를 구성할 때 태그 데이터를 가져오는 코드를 추가합니다.
SharedPreferences sp = context.getSharedPreferences(SP_STORE_DATA, MODE_PRIVATE);
String customDynamicValue = sp.getString(CUSTOM_DYNAMIC_TAG, "not set");

// RUM 구성
FTSdk.initRUMWithConfig(
     new FTRUMConfig().addGlobalContext(CUSTOM_DYNAMIC_TAG, customDynamicValue)
     //… 기타 구성 추가
);
val sp = context.getSharedPreferences(SP_STORE_DATA, MODE_PRIVATE)
val customDynamicValue = sp.getString(CUSTOM_DYNAMIC_TAG, "not set")

//RUM 구성
FTSdk.initRUMWithConfig(
     FTRUMConfig().addGlobalContext(CUSTOM_DYNAMIC_TAG, customDynamicValue!!)
     //… 기타 구성 추가
)
  1. 필요 시 파일 데이터를 수정하는 메서드를 추가합니다.
public void setDynamicParams(Context context, String value) {
    SharedPreferences sp = context.getSharedPreferences(SP_STORE_DATA, MODE_PRIVATE);
    sp.edit().putString(CUSTOM_DYNAMIC_TAG, value).apply();
}
fun setDynamicParams(context: Context, value: String) {
            val sp = context.getSharedPreferences(SP_STORE_DATA, MODE_PRIVATE)
            sp.edit().putString(CUSTOM_DYNAMIC_TAG, value).apply()

        }
  1. 마지막으로 애플리케이션을 재시작합니다. 자세한 내용은 SDK Demo를 참조하세요.

SDK 런타임 추가

SDK 초기화가 완료된 후 FTSdk.appendGlobalContext(globalContext), FTSdk.appendRUMGlobalContext(globalContext), FTSdk.appendLogGlobalContext(globalContext) 를 사용하여 동적으로 태그를 추가할 수 있으며, 설정 즉시 적용됩니다. 이후 RUM 또는 Log에서 보고하는 데이터에 자동으로 해당 태그가 포함됩니다.

이 사용 방식은 로그인, 인터페이스 요청 또는 로컬 비동기 초기화 후에 태그 데이터를 가져와야 하는 지연 데이터 획득 시나리오에 적합합니다.

!!! warning

SDK 초기화 구성의 `globalContext` 또는 SDK 내장 필드와 동일한 key를 사용하지 마십시오. key가 동일한 경우, 초기화 구성의 정적 태그가 동적으로 추가된 태그보다 우선순위가 높습니다.

사용 방법

/**
 * 전역 태그 동적 설정
 * @param globalContext
 */
public static void appendGlobalContext(HashMap<String,Object> globalContext)

/**
 * RUM 전역 태그 동적 설정
 * @param globalContext
 */
public static void appendRUMGlobalContext(HashMap<String,Object> globalContext)

/**
 * 로그 전역 태그 동적 설정
 * @param globalContext
 */
public static void appendLogGlobalContext(HashMap<String,Object> globalContext)
/**
 * 전역 태그 동적 설정
 * @param globalContext
 */
fun appendGlobalContext(globalContext: HashMap<String, Any>)

/**
 * RUM 전역 태그 동적 설정
 * @param globalContext
 */
fun appendRUMGlobalContext(globalContext: HashMap<String, Any>)

/**
 * 로그 전역 태그 동적 설정
 * @param globalContext
 */
fun appendLogGlobalContext(globalContext: HashMap<String, Any>)
//SDK 초기화 의사 코드, 네트워크에서 파라미터를 가져온 후 태그 설정

FTSdk.init() 

getInfoFromNet(info){
    HashMap<String, Object> globalContext = new HashMap<>();
    globalContext.put("delay_key", info.value);
    FTSdk.appendGlobalContext(globalContext)
}

코드 예제

HashMap<String, Object> globalContext = new HashMap<>();
globalContext.put("global_key", "global_value");
FTSdk.appendGlobalContext(globalContext);

HashMap<String, Object> rumGlobalContext = new HashMap<>();
rumGlobalContext.put("rum_key", "rum_value");
FTSdk.appendRUMGlobalContext(rumGlobalContext);

HashMap<String, Object> logGlobalContext = new HashMap<>();
logGlobalContext.put("log_key", "log_value");
FTSdk.appendLogGlobalContext(logGlobalContext);
val globalContext = hashMapOf<String, Any>(
    "global_key" to "global_value"
)
FTSdk.appendGlobalContext(globalContext)

val rumGlobalContext = hashMapOf<String, Any>(
    "rum_key" to "rum_value"
)
FTSdk.appendRUMGlobalContext(rumGlobalContext)

val logGlobalContext = hashMapOf<String, Any>(
    "log_key" to "log_value"
)
FTSdk.appendLogGlobalContext(logGlobalContext)

문서 평가

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