Android SDK - Очистка конфиденциальных данных

Подробности об очистке записей и сетевых данных в трекере Android

Android SDK ⁠-⁠ Очистка конфиденциальных данных

Компоненты интерфейса

Section titled Компоненты интерфейса

Очищенные представления будут размыты в итоговом воспроизведении. Вы можете добавить любой компонент интерфейса, и он будет автоматически удалён (для экономии памяти), как только перестанет отображаться на экране.

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
				)
		}
}

Экспортируются два ключа для автоматической обрезки данных запроса/ответа: 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 или загляните на наш Форум.