• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Regra de ofuscação do Android

As regras de ofuscação permitem mascarar dados confidenciais antes que o agente os transmita para a New Relic. Cada regra é um padrão regex emparelhado com uma string de substituição. O agente aplica as regras em ordem a cada valor de atributo de string em cada evento de saída — incluindo QoE events e eventos recuperados de falhas.

Como funciona

  1. Você define uma lista de objetos ObfuscationRule, cada um com um padrão de regex e uma string de substituição.
  2. Passe a lista para .withObfuscationRules() no construtor de configuração.
  3. Logo antes de cada transmissão HTTP, ObfuscationEngine itera cada atributo de string de cada evento no lote e aplica as regras em ordem.
  4. Apenas valores de string são processados — inteiros, longs, booleanos e nulos são passados inalterados.
  5. Os objetos de evento originais nunca sofrem mutação, portanto, lotes com falha podem ser repetidos de forma limpa sem dupla ofuscação.

Configuração

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

Descrição

pattern

String

Uma string de padrão de regex Java. Compilado antecipadamente — um padrão inválido lança IllegalArgumentException no momento da construção.

replacement

String

A string a ser substituída para cada correspondência. Use "" para excluir correspondências. $ e \ são tratados como caracteres simples, não como referências retroativas.

obfuscationRules

Uma lista de objetos ObfuscationRule aplicados a cada atributo de string de cada evento de saída imediatamente antes da transmissão HTTP. As regras são executadas na ordem em que são declaradas — a saída de uma regra alimenta a próxima. Padrão: lista vazia (sem ofuscação).

Padrões comuns

O que mascarar

Padrão

Substituição

IDs numéricos da conta

account-\\d+

ACCOUNT_ID

Token de autenticação/bearer

token=[^&\"]+

token=REDACTED

Segmentos de caminho do usuário

/users/[^\"/]+

/users/USER_ID

Endereço de e-mail

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

EMAIL_REDACTED

UUIDs

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

UUID_REDACTED

Ordenação de regras

As regras são aplicadas da esquerda para a direita. A saída da regra N se torna a entrada da regra N + 1. A ordem importa quando a substituição de uma regra pode corresponder ao padrão de uma regra 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

Situação

Comportamento

Nenhuma regra configurada

No-op — zero sobrecarga, lista original retornada como está.

O padrão não corresponde a nada

O valor é passado inalterado.

Substituição vazia ""

O conteúdo correspondente é excluído.

$ ou \ na substituição

Tratados como caracteres simples (não referências anteriores de regex).

Valor Integer/Long/Boolean

Ignorado — apenas valores String são processados.

null valor

Ignorado — sem NullPointerException.

Padrão regex inválido

IllegalArgumentException lançado na construção de new ObfuscationRule(...) — falha rapidamente na inicialização, não silenciosamente no momento da coleta.

null substituição

IllegalArgumentException lançado na construção.

O envio HTTP falha → nova tentativa de dead-letter

Os eventos originais (não ofuscados) são tentados novamente; a ofuscação é reaplicada corretamente na passagem de nova tentativa.

Copyright © 2026 New Relic Inc.

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