Android SDK - 민감한 데이터 정제

Android 트래커에서 녹화 데이터와 네트워크 데이터를 정제하는 방법에 대한 상세 정보

Android SDK ⁠-⁠ 민감한 데이터 정제

정제된 뷰는 결과 리플레이에서 흐리게 처리됩니다. 어떤 UI 컴포넌트든 추가할 수 있으며, 화면에서 사라지면 (메모리를 보존하기 위해) 자동으로 제거됩니다.

import com.openreplay.tracker.OpenReplay

OpenReplay.addIgnoredView(view)
import com.openreplay.tracker.Sanitize

Sanitize {
		Button(
				modifier = Modifier
						.fillMaxWidth()
						.padding(top = 28.dp, bottom = 3.dp)
						.trackTouchEvents("Continue Button"),
				onClick = onSubmit,
		) {
				Text(
						text = "Submit",
						style = MaterialTheme.typography.titleSmall
				)
		}
}

요청/응답 데이터를 자동으로 잘라내기 위해 두 개의 키가 제공됩니다. 본문(body)에는 ignoredKeys, 헤더에는 ignoredHeaders를 사용합니다. 요청과 응답 모두 정제되지만, 본문은 유효한 JSON인 경우에만 영향을 받습니다.

정제하려는 문자열 목록을 간단히 지정하면 됩니다.

val networkListener = NetworkListener()
networkListener.ignoredHeaders = ["mySecretToken"]
networkListener.ignoredKeys = ["password"]

응답 데이터를 리스너에 전달하기 전에 변경하는 것도 가능합니다.

// ... request

var sanitizedData: Any? = null
data?.let {
    try {
        val json = JSONTokener(it).nextValue()
        sanitizedData = customSanitizeFunction(it)
        println(json)
    } catch (error: JSONException) {
        println("Error deserializing JSON: $error")
    }
}

networkListener.finish(response, sanitizedData)

궁금한 점이 있으신가요?

Section titled 궁금한 점이 있으신가요?

이 과정에 대해 궁금한 점이 있다면 언제든지 Slack으로 문의해 주세요.