• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Regla de ofuscación de Android

|View as Markdown (English)

Las reglas de ofuscación le permiten enmascarar datos confidenciales antes de que el agente los transmita a New Relic. Cada regla es un patrón regex emparejado con una cadena de reemplazo. El agente aplica las reglas en orden a cada valor de atributo de cadena en cada evento saliente — incluyendo QoE events y eventos recuperados de fallas.

Cómo funciona

  1. Define una lista de objetos ObfuscationRule, cada uno con un patrón de expresión regular y una cadena de reemplazo.
  2. Pase la lista a .withObfuscationRules() en el generador de configuración.
  3. Justo antes de cada transmisión HTTP, ObfuscationEngine itera cada atributo de cadena de cada evento en el lote y aplica las reglas en orden.
  4. Solo se procesan los valores de cadena — los enteros, largos, booleanos y nulos se pasan sin cambios.
  5. Los objetos de evento originales nunca se mutan, por lo que los lotes fallidos se pueden reintentar limpiamente sin doble ofuscación.

Configuración

import com.newrelic.videoagent.core.ObfuscationRule;
import java.util.Arrays;
import java.util.List;
// Define rules — each rule is a regex pattern and a replacement string.
// Rules are applied in order on every string attribute of every outgoing event.
List<ObfuscationRule> obfuscationRules = Arrays.asList(
// Mask account IDs: "account-83729" → "ACCOUNT_ID"
new ObfuscationRule("account-\\d+", "ACCOUNT_ID"),
// Mask auth tokens: "token=abc123xyz" → "token=REDACTED"
new ObfuscationRule("token=[^&\"]+", "token=REDACTED"),
// Mask user path segments: "/users/john_doe" → "/users/USER_ID"
new ObfuscationRule("/users/[^\"/]+", "/users/USER_ID")
);
NRVideoConfiguration config = new NRVideoConfiguration.Builder("application-token")
.autoDetectPlatform(getApplicationContext())
.withHarvestCycle(5 * 60)
.withObfuscationRules(obfuscationRules)
.build();
NRVideo.newBuilder(getApplicationContext()).withConfiguration(config).build();

ObfuscationRule

new ObfuscationRule(String pattern, String replacement)

Parámetro

Tipo

Descripción

pattern

String

Una cadena de patrón regex de Java. Compilado de forma anticipada — un patrón inválido arroja IllegalArgumentException en el momento de la construcción.

replacement

String

La cadena a sustituir para cada coincidencia. Usa "" para eliminar coincidencias. $ y \ se tratan como caracteres simples, no como referencias inversas.

obfuscationRules

Una lista de objetos ObfuscationRule aplicados a cada atributo de cadena de cada evento saliente inmediatamente antes de la transmisión HTTP. Las reglas se ejecutan en el orden en que se declaran — la salida de una regla alimenta a la siguiente. Predeterminado: lista vacía (sin ofuscación).

Patrones comunes

Qué enmascarar

Patrón

Reemplazo

ID de cuenta numéricos

account-\\d+

ACCOUNT_ID

Tokens de autenticación/portador

token=[^&\"]+

token=REDACTED

Segmentos de ruta de usuario

/users/[^\"/]+

/users/USER_ID

Correos electrónicos

[a-zA-Z0-9._%+\\-]+@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]{2,}

EMAIL_REDACTED

UUID

[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

UUID_REDACTED

Ordenamiento de reglas

Las reglas se aplican de izquierda a derecha. La salida de la regla N se convierte en la entrada de la regla N + 1. El orden importa cuando el reemplazo de una regla podría coincidir con el patrón de una regla posterior.

// Rule 1 turns "/john" into "/USER", then Rule 2 sees "/USER_profile" and masks it.
new ObfuscationRule("john", "USER"),
new ObfuscationRule("USER_profile", "PROFILE")
// Result: "/john_profile" → "/USER_profile" → "/PROFILE"

Casos extremos

Situación

Comportamiento

Sin reglas configuradas

No-op — cero sobrecarga, la lista original se devuelve tal cual.

El patrón no coincide con nada

El valor se transmite sin cambios.

Reemplazo vacío ""

El contenido coincidente se elimina.

$ o \ en el reemplazo

Tratados como caracteres simples (no como referencias inversas de expresiones regulares).

Valor Integer / Long / Boolean

Omitido — solo se procesan los valores String.

null valor

Omitido — sin NullPointerException.

Patrón regex inválido

IllegalArgumentException arrojado en la construcción de new ObfuscationRule(...) — falla rápido en el inicio, no silenciosamente en el momento de la recolección.

null reemplazo

IllegalArgumentException lanzado en la construcción.

Falla el envío HTTP → reintento de dead-letter

Los eventos originales (sin ofuscar) se reintentan; la ofuscación se vuelve a aplicar correctamente en la pasada de reintento.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.