Android SDK - Sanitizar datos sensibles
Componentes de la interfaz
Section titled Componentes de la interfazLas vistas sanitizadas aparecerán difuminadas en la repetición resultante. Puedes añadir cualquier componente de la interfaz y se eliminará automáticamente (para ahorrar memoria) tan pronto como deje de estar en pantalla.
import com.openreplay.tracker.OpenReplay
OpenReplay.addIgnoredView(view)
Jetpack Compose
Section titled Jetpack Composeimport 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
)
}
}
Solicitudes de red
Section titled Solicitudes de redSe exportan dos claves para recortar automáticamente los datos de solicitud/respuesta: ignoredKeys para el cuerpo e ignoredHeaders para las cabeceras. Tanto la solicitud como la respuesta se sanitizarán, pero el cuerpo solo se verá afectado si es un JSON válido.
Simplemente asigna una lista de cadenas que quieras sanitizar:
val networkListener = NetworkListener()
networkListener.ignoredHeaders = ["mySecretToken"]
networkListener.ignoredKeys = ["password"]
También es posible modificar los datos de la respuesta antes de pasarlos al listener:
// ... 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)
¿Tienes preguntas?
Section titled ¿Tienes preguntas?Si tienes alguna pregunta sobre este proceso, no dudes en contactarnos en nuestro Slack o visita nuestro Foro.