• /
  • 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

Session Replaymóvel

Pré-visualização do recurso

Ainda estamos desenvolvendo ativamente o Mobile Session Replay, mas estamos animados para que você experimente este novo e poderoso recurso! Este recurso está sendo fornecido atualmente como parte de um programa de pré-visualização, de acordo com nossas políticas de pré-lançamento.

Por que gastar horas tentando reproduzir bugs difíceis de encontrar em aplicativos móveis quando você pode ver exatamente o que o usuário experimentou? O recurso Mobile Session Replay elimina as suposições na resolução de problemas, fornecendo uma reprodução em vídeo do que o usuário final viu em seu telefone ou tablet, sincronizada com todos os dados de telemetria daquela sessão. Isso significa que você pode avaliar rapidamente o impacto real dos erros no seu usuário, identificar gargalos de desempenho e pontos de atrito na experiência do usuário, e resolver problemas mais rapidamente sem depender de relatórios de bugs ou reprodução local.

Mobile Session Replay player interface showing a mobile app session with timeline controls, device frame displaying app screens, and synchronized telemetry data panel

Requisitos e compatibilidade

Antes de configurar Session Replay móvel, certifique-se de que seu aplicativo atenda a esses requisitos.

Pré-requisitos técnicos

Para usar o Mobile Session Replay, você precisa de:

  • Uma conta New Relic com o aplicativo Mobile ativado
  • Um aplicativo móvel ativo configurado no New Relic.
  • Conectividade de rede do seu aplicativo móvel ao endpoint de ingestão de dados da New Relic

Considerações de desempenho

Antes de ativar Session Replay móvel, considere o seguinte impacto em seu aplicativo e no usuário:

  • Desempenho do aplicativo: Session Replay captura e transmite dados da área de visualização, o que pode afetar o desempenho do aplicativo em dispositivos mais antigos.
  • Consumo de dados: A transmissão de dados de reprodução consumirá dados do usuário, especialmente ao capturar imagens.
  • Requisitos de armazenamento: Os dados capturados exigem capacidade de armazenamento adequada nos dispositivos do usuário entre os ciclos de transmissão.
  • Otimização de rede: Todos os dados são comprimidos no lado do cliente antes da transmissão para minimizar o uso da rede.
  • Estratégia de amostragem: Considere cuidadosamente suas taxas de amostragem para equilibrar as necessidades de coleta de dados com o impacto no desempenho.

Estrutura de interface suportada

Session Replay é atualmente compatível com frameworks de interface selecionados para aplicativos iOS, Android e React Native. Estamos trabalhando ativamente para oferecer suporte a mais soluções híbridas de interface e framework.

Atualmente suportado:

  • UIKit do iOS
  • iOS SwiftUI
  • Layouts XML do Android
  • Android Jetpack Compose
  • Visualizações do React Native

Apoio planeado:

  • WebViews
  • Flutter
  • Cordova
  • Capacitor
  • MAUI

Versões mínimas do agente

Importante

Este recurso está em desenvolvimento ativo, portanto, é altamente recomendável atualizar para a versão mais recente do agente móvel para obter a melhor experiência e o recurso mais recente.

Abaixo estão as primeiras versões do agente que suportavam a captura básica Session Replay :

Como funciona a reprodução de sessão em dispositivos móveis

Entender como funciona o Mobile Session Replay ajuda você a tomar decisões informadas sobre configurações de privacidade e resolução de problemas.

Quando um usuário inicia seu aplicativo, o agente móvel faz uma chamada aos servidores New Relic para verificar se Session Replay está ativada e, em caso afirmativo, quais são as taxas de amostragem e as configurações de privacidade. O agente resolve a decisão de amostragem e começa a capturar dados de reprodução.

Diferentemente Session Replay Browser, os aplicativos móveis não possuem um DOM que possa ser capturado e recriado. Em vez disso, o agente Mobile monitora o ciclo de vida da visualização e transforma a área visível em HTML. Suas configurações de mascaramento são aplicadas à reprodução HTML da área visível, que é então serializada em JSON e armazenada no lado do cliente até que a transmissão de dados seja acionada a cada 1 minuto, quando a carga útil é compactada em gzip e enviada para o New Relic.

Caso o aplicativo falhe ou trave inesperadamente, os dados coletados entre o último ciclo de transmissão bem-sucedido e o encerramento inesperado do aplicativo serão armazenados no lado do cliente até a próxima inicialização do aplicativo, quando o agente móvel tentará restaurar e carregar os dados perdidos. Devido à forma como o iOS e o Android lidam com encerramentos inesperados, nem sempre é possível recuperar todos os dados após o encerramento inesperado de um aplicativo.

Quando uma reprodução é visualizada na interface do usuário do New Relic, o JSON é obtido do NRDB e desserializado de volta para um fluxo de atualizações HTML que constituem o "vídeo" sendo reproduzido no seu navegador.

Devido à transformação da estrutura de visualização da plataforma nativa para HTML, a reprodução de sessão em dispositivos móveis geralmente é precisa, mas não perfeita em termos de pixels. Continuaremos trabalhando para melhorar a precisão das repetições.

Configurar a reprodução de sessão no celular

A ativação da Session Replay, as taxas de amostragem e a maioria das configurações de privacidade são gerenciadas no servidor, na página de Configurações do aplicativo no New Relic, portanto, as atualizações não dependem da implantação e adoção de uma nova versão do aplicativo. Apenas alguns tipos de sobrescrita de máscaras precisam ser gerenciados em seu código.

Configurar taxas de amostragem

Defina as taxas de amostragem para controlar a frequência com que as reproduções de sessão são capturadas. As taxas de amostragem podem ser tão pequenas quanto um milionésimo de um por cento para aplicativos com altas taxas de transferência. Atualmente, está disponível apenas uma taxa de amostragem:

  • Total de sessões do usuário: registra uma amostra aleatória de todas as sessões do usuário.

    Em breve

    Sessões com amostragem de erros estarão disponíveis posteriormente no período de pré-visualização. Este recurso irá registrar uma amostra aleatória de sessões onde ocorre pelo menos um erro, armazenando em buffer uma janela deslizante de dados por até 30 segundos no lado do cliente. Quando ocorre um erro, os dados armazenados em buffer serão carregados e o restante da sessão será gravado.

Definir configurações de privacidade

Proteger a privacidade do usuário é fundamental ao gravar a reprodução da sessão. As configurações padrão protegem informações confidenciais ocultando todo o texto e as imagens, mas você pode ajustá-las para atender às suas necessidades específicas de privacidade.

Todo o mascaramento é feito no lado do cliente, portanto, as informações confidenciais nunca saem do dispositivo do usuário final. Esta seção mostra como usar estratégias de mascaramento, modos e regras de substituição para respeitar seus padrões de privacidade, mantendo a Reprodução de Sessão útil para melhorar a experiência do usuário e diagnosticar problemas.

Privacidade e mascaramento

Escolha a estratégia de mascaramento que melhor se adapte às suas necessidades de privacidade.

estratégias de mascaramento

O Mobile Session Replay oferece duas estratégias de mascaramento para equilibrar a proteção da privacidade com a utilidade da reprodução. Sua escolha determina como os dados sensíveis são tratados nas gravações de sessão.

estratégia de mascaramento padrão

A estratégia de mascaramento padrão oferece proteção máxima à privacidade, ocultando todo o texto e as imagens sem exceção. Escolha esta estratégia quando:

  • Seu aplicativo lida com dados altamente sensíveis (saúde, serviços financeiros, etc.).
  • A conformidade regulamentar exige proteção de dados rigorosa.
  • Você quer risco zero de que informações privadas sejam capturadas.

O que fica mascarado:

  • Todo o texto é substituído por asteriscos (por exemplo, "olá" torna-se "*****").
  • Todas as imagens foram substituídas por blocos de espaço reservado com as mesmas dimensões.
  • Os toques e gestos de deslizar do usuário ainda são capturados (a menos que você os oculte).

Isso garante que, mesmo se você adicionar acidentalmente um código de desmascaramento, a estratégia padrão sempre mascarará tudo.

Limitações importantes da estratégia de mascaramento padrão:

  • Os modos de mascaramento não são configuráveis.
  • As sobreposições de máscara embutidas (como a tag nr-unmask ) são ignoradas.
  • As regras de mascaramento do lado do servidor não têm efeito.
Mobile Session Replay default masking strategy showing all text and images masked

Estratégia de mascaramento personalizada

A estratégia de mascaramento personalizada oferece controle preciso sobre o que será mascarado e o que permanecerá visível. Utilize esta estratégia quando:

  • Seu aplicativo contém uma mistura de conteúdo público e conteúdo sensível.
  • Você precisa visualizar elementos específicos da interface do usuário para diagnosticar problemas com eficácia.
  • Você deseja revelar seletivamente áreas não sensíveis.

Uma estratégia personalizada consiste em:

  1. Modos de mascaramento: regras básicas para diferentes tipos de conteúdo (texto, imagens, interatividade)
  2. Regras de sobreposição: Exceções para mascarar ou desmascarar componentes específicos.

Para alternar para máscara personalizada:

Na interface web do New Relic:

  1. Acesse Mobile > [sua entidade] > Settings > Application > Session Replay
  2. Na seção Masking strategy, selecione Custom
  3. Configure seus modos de mascaramento (consulte a próxima seção)
  4. Opcionalmente, adicione regras de sobreposição para componentes específicos.
Mobile Session Replay masking strategy selection with Default and Custom options

Modos de mascaramento

Ao usar a estratégia de mascaramento personalizada, os modos de mascaramento estabelecem o comportamento baseline de privacidade para a reprodução da sua sessão. Esses modos se aplicam globalmente em todo o seu aplicativo, a menos que sejam substituídos por regras específicas para componentes individuais.

Para configurar os modos de mascaramento:

Na interface web do New Relic:

  1. Acesse Mobile > [sua entidade] > Settings > Application > Session Replay
  2. Certifique-se de que a estratégia de mascaramento Custom esteja selecionada.
  3. Na seção Masking modes, ative ou desative cada modo de acordo com suas necessidades.
  4. As alterações entram em vigor imediatamente para todas as novas gravações de sessão.
Mobile Session Replay masking modes configuration panel

Os quatro modos de mascaramento controlam diferentes tipos de conteúdo:

texto de entrada do usuário mascarar

Controla se o texto inserido pelo usuário nos campos de entrada fica visível nas reproduções.

Quando ativado (recomendado):

  • Todos os caracteres digitados pelo usuário são substituídos por asteriscos.
  • Exemplo: O usuário digita "john.doe@email.com" → aparece como "*******************" na repetição
  • Protege nomes de usuário, endereços de e-mail, consultas de pesquisa, dados de formulários e outros conteúdos inseridos pelo usuário.

Quando desativado:

  • O texto inserido pelo usuário aparece exatamente como digitado na reprodução.
  • Utilize somente quando os campos de entrada contiverem informações não sensíveis.
  • Útil para depurar problemas de validação de formulários ou funcionalidades de pesquisa.

Importante

Os campos de senha são sempre ocultados, independentemente dessa configuração. Os campos SecureField (iOS), os tipos de entrada de senha (Android) e os campos de entrada de texto seguros nunca exibirão texto simples nas reproduções.

Configuração padrão: Ativada na estratégia de mascaramento personalizada.

Quando você pode desativar este modo:

  • Barras de pesquisa públicas onde os consultados não são pessoalmente identificáveis
  • Filtros não sensíveis ou seleções de categoria
  • Depurando problemas de preenchimento automático ou validação de entrada

aplicativo mascarar texto

Controla se o texto exibido pelo seu aplicativo (rótulos, botões, cabeçalhos, conteúdo) fica visível nas reproduções.

Quando ativado:

  • Todo o texto estático e dinâmico renderizado pelo seu aplicativo é substituído por asteriscos.
  • Exemplo: o rótulo "Nome:" torna-se "***********" na repetição.
  • Protege qualquer texto que possa conter ou revelar informações sensíveis.

Quando desativado:

  • Todo o texto do aplicativo aparece exatamente como o usuário o vê
  • Rótulos, botões, títulos e conteúdo são totalmente legíveis.
  • Torna as repetições muito mais fáceis de entender e navegar.
  • Essencial para identificar com quais telas ou recursos o usuário interagiu.

Configuração padrão: Ativada na estratégia de mascaramento personalizada.

Recomendação para a maioria dos aplicativos: desative este modo, a menos que esteja exibindo informações altamente confidenciais. O texto visível na interface do usuário é crucial para:

  • Entendendo os caminhos de navegação do usuário
  • Identificar quais botões ou recursos o usuário clicou.
  • Vendo mensagem de erro que apareceu
  • Diagnóstico de problemas de layout ou localização
  • Correlação entre replays e recursos específicos do aplicativo

Mantenha este modo ativado quando:

  • Aplicativos de saúde que exibem informações do paciente
  • Aplicativos financeiros que exibem detalhes da conta ou transações.
  • Aplicativos com conteúdo gerado pelo usuário que pode ser sensível.
  • Os requisitos de conformidade exigem que todo o texto exibido seja ocultado.

Dica

Se você desativar esse modo, mas precisar mascarar elementos de texto sensíveis específicos, use regras de substituição para mascarar seletivamente apenas esses componentes, mantendo o restante da interface do usuário visível.

imagens de rímel

Importante

Versões mínimas do agente que suportam captura de imagem:

  • Agente iOS v7.5.10 (lançado em 15 de setembro de 2025)
  • Agente Android v7.6.9 (lançado em 15 de setembro de 2025)
  • Agente React Native v1.5.10 (lançado em 15 de setembro de 2025)

Controla se as imagens do seu aplicativo são capturadas e exibidas nas reproduções.

Quando ativado (recomendado):

  • Todas as imagens foram substituídas por blocos de espaço reservado do mesmo tamanho.
  • pt reservado preservar estrutura de layout para que você possa ver as posições das imagens
  • Nenhum dado de imagem é transmitido para o New Relic.
  • Protege fotos enviadas pelo usuário, fotos de perfil e imagens potencialmente sensíveis.

Quando desativado:

  • As imagens são capturadas, compactadas, codificadas em base64 e incluídas na carga útil de reprodução.
  • As imagens aparecem nas reprises, embora com qualidade inferior à vista pelo usuário.
  • Aumenta significativamente os custos de transmissão e armazenamento de dados.
  • Ajuda a diagnosticar problemas com o carregamento, renderização ou layout de imagens.

Considerações importantes ao capturar imagens

Habilitar a captura de imagens impacta significativamente o uso de dados e o desempenho:

  • Uso de dados: As imagens aumentam drasticamente o tamanho da carga útil da reprodução, consumindo substancialmente mais dados do usuário e sua cota de armazenamento do New Relic.

  • Qualidade: As imagens são comprimidas agressivamente no lado do cliente para minimizar o impacto, resultando em qualidade inferior à original.

  • desempenho: a captura e compactação de imagens podem afetar o desempenho do aplicativo em dispositivos mais antigos

  • Privacidade: Considere se as imagens podem conter informações sensíveis ou privadas.

    Desative a máscara de imagem somente quando a depuração visual for essencial para o seu caso de uso.

Configuração padrão: Ativada na estratégia de mascaramento personalizada.

Quando você pode desativar este modo:

  • Diagnóstico de falhas no carregamento de imagens ou problemas de renderização
  • Investigando problemas de layout relacionados às dimensões da imagem.
  • Compreender a interação do usuário com galerias de imagens ou conteúdo de mídia
  • Seu aplicativo exibe apenas imagens públicas e não confidenciais (ícones, logotipos, ilustrações).

Mantenha este modo ativado quando:

  • Fotos de perfil do usuário ou fotos enviadas
  • Documentos ou captura de tela capturados dentro do aplicativo
  • Imagens médicas ou imagens relacionadas à saúde
  • Qualquer conteúdo visual gerado pelo usuário

Ocultar toques e gestos de deslizar do usuário

Controla se a interação de toque do usuário é visualizada nos replays.

Quando desativado (recomendado):

  • Os toques do usuário aparecem como círculos cinza na reprodução.
  • Os gestos de deslizar aparecem como linhas vermelhas que mostram o caminho do movimento.
  • Essencial para entender com quais elementos da interface do usuário os usuários interagiram.
  • Ajuda a identificar problemas de usabilidade, toques perdidos ou interações confusas.

Quando ativado:

  • Nenhuma visualização por toque ou deslize aparece na reprodução.
  • O usuário parece navegar pelo seu aplicativo sem nenhuma interação visível.
  • Utilize quando os padrões de toque puderem revelar informações sensíveis.

Dica

O teclado do sistema operacional, bem como os toques e gestos de deslizar nele, nunca são capturados nas reproduções, independentemente dessa configuração. Isso proporciona proteção automática para a entrada de senhas e textos sensíveis.

Configuração padrão: Desativada na estratégia de mascaramento personalizada (toques e gestos de deslizar são visíveis).

Quando ocultar interações: Mascarar o texto geralmente é suficiente, mas ocultar toques/deslizamentos pode ser necessário quando:

  • Seu aplicativo possui um teclado PIN ou numérico integrado, onde padrões de toque revelam códigos de segurança.
  • Os padrões de deslizar são usados para autenticação (bloqueios por padrão, senhas por gestos).
  • A interação por toque em telas específicas pode sugerir escolhas sensíveis (seleção de sintomas médicos, decisões financeiras).

Recomendação para a maioria dos aplicativos: Mantenha a interação visível para:

  • Veja exatamente onde o usuário clicou, incluindo áreas não tocadas ou que não responderam.
  • Compreenda os padrões de navegação e o fluxo do usuário em seu aplicativo.
  • Identifique problemas de usabilidade com botões de toque pequenos ou pouco claros.
  • Diagnosticar recursos baseados em gestos (deslizar para excluir, puxar para atualizar, etc.)

Configuração avançada de mascaramento

Utilize substituições de mascaramento quando desejar que partes específicas do seu aplicativo tenham configurações de mascaramento diferentes dos modos de mascaramento especificados. Por exemplo, se a maior parte do seu aplicativo não contém dados sensíveis, você pode configurar seus modos para revelar e especificar substituições para ocultar apenas as partes do seu aplicativo que contêm dados sensíveis.

Métodos de sobreposição de mascaramento

Oferecemos três maneiras de criar regras de sobreposição de mascaramento:

Atributo em linha

As sobreposições de mascaramento embutidas são aplicadas no seu código ao marcar o componente que você deseja mascarar ou exibir. Você precisará implantar uma nova versão do seu aplicativo e que o usuário a adote para que as atualizações sejam aplicadas; portanto, elas são mais adequadas quando você deseja que o controle do seu processo de controle de alterações gerencie as mudanças de mascaramento.

SwiftUI

Use NRConditionalMaskView para envolver conteúdo que deve ter um comportamento de mascaramento específico. Este componente SwiftUI fornece controle preciso sobre a manipulação de dados no Session Replay.

Requisitos:

  • iOS 16.0+

  • Swift 5.0+

    Importar:

    import SwiftUI
    import NewRelic

    Uso básico:

    // Mask all text content within this view
    NRConditionalMaskView(maskApplicationText: true) {
    VStack {
    Text("This text will be masked in session replay")
    Text("This text will also be masked")
    }
    }

    Revelar conteúdo:

    // Explicitly unmask content (useful when parent views have masking enabled)
    NRConditionalMaskView(maskApplicationText: false) {
    Text("This text will be visible in session replay")
    }

    mascaramento baseado em identificadores:

    // Use an identifier to control masking via API or dashboard settings
    NRConditionalMaskView(sessionReplayIdentifier: "unmasked-section") {
    Text("This text masking is controlled by the identifier")
    }

    Parâmetro:

  • maskApplicationText: Quando true, mascara todo o conteúdo de texto dentro da visualização. Quando false, garante que o texto esteja visível. Quando nil, herda do pai.

  • maskUserInputText: Quando true, mascara os campos de entrada do usuário dentro da visualização. Quando false, mostra o conteúdo de entrada. Quando nil, herda do pai.

  • maskAllImages: Quando true, mascarar todas as imagens dentro da visualização. Quando false, mostra imagens. Quando nil, herda do pai.

  • maskAllUserTouches: Quando true, mascarar interação de toque do usuário dentro da visualização. Quando false, mostra o evento de toque. Quando nil, herda do pai.

  • sessionReplayIdentifier: Identificador opcional para controlar a máscara via addSessionReplayMaskedAccessibilityIdentifier, addSessionReplayUnmaskedAccessibilityIdentifier ou através do dashboard do aplicativo New Relic.

  • activatedQuando false, desativa completamente a funcionalidade de mascaramento para esta visualização. O valor padrão é true.

    Exemplo avançado - Mascaramento misto em um formulário:

    struct RegistrationForm: View {
    @State private var firstName = ""
    @State private var email = ""
    @State private var password = ""
    var body: some View {
    VStack(alignment: .leading, spacing: 16) {
    // Public form labels remain visible
    NRConditionalMaskView(maskApplicationText: false) {
    Text("Create Your Account")
    .font(.title)
    }
    // Personal information
    NRConditionalMaskView(sessionReplayIdentifier: "personal-info") {
    TextField("First Name", text: $firstName)
    TextField("Email", text: $email)
    }
    // Highly sensitive - mask everything
    NRConditionalMaskView(sessionReplayIdentifier: "password-section") {
    SecureField("Password", text: $password)
    Text("Password must be at least 8 characters")
    }
    Button("Sign Up") {
    // Handle registration
    }
    }
    .padding()
    }
    }

    UIKit

    Adicione ou anexe nr-mask ou nr-unmask ao accessibilityIdentifier do UIView a ser mascarado ou desmascarado. Adicionar um identificador existente é útil se você precisar manter identificadores exclusivos para testes automatizados, mas provavelmente precisará atualizar seus testes após alterar os valores.

    Exemplo de adição de um accessibilityIdentifier:

    let myView = UIView()
    myView.accessibilityIdentifier = "nr-mask"

    Exemplo de adição a um accessibilityIdentifier existente:

    let myView = UIView()
    myView.accessibilityIdentifier = "someExistingId.nr-unmask"

Jetpack Compose

Use extensões de modificadores para controlar o comportamento de mascaramento no Jetpack Compose.

Exemplo:

// Mask a composable
Text(
text = "Sensitive information",
modifier = Modifier.newRelicMask()
)
// Unmask a composable
Text(
text = "Public information",
modifier = Modifier.newRelicUnmask()
)

layouts XML

Adicione uma tag nr-mask ou nr-unmask às visualizações ou componentes que devem ser mascarados ou desmascarados.

Exemplo:

<EditText
android:id="@+id/editTextEmail"
android:layout_width="390dp"
android:inputType="text"
android:tag="nr-mask"
android:importantForAutofill="no" />
<EditText
android:id="@+id/editTextEmail"
android:layout_width="390dp"
android:inputType="text"
android:tag="nr-unmask"
android:importantForAutofill="no" />

Use os componentes <NewRelicMask> e <NewRelicUnMask> para mascarar ou revelar visualizações ou componentes.

Exemplo:

<View>
<NewRelicMask>
<Text>Sensitive information</Text>
</NewRelicMask>
</View>
<View>
<NewRelicUnmask>
<Text>Non-sensitive information</Text>
</NewRelicUnmask>
</View>

Métodos da API local

As substituições de mascaramento de métodos da API local também são aplicadas no seu código dentro da configuração do agente New Relic. São úteis quando as visualizações de destino já possuem um identificador único e você deseja gerenciá-las em uma lista centralizada, em vez de marcar cada visualização individualmente em todo o seu código.

SwiftUI

Para visualizações SwiftUI, use o parâmetro sessionReplayIdentifier em NRConditionalMaskView juntamente com estes métodos:

  • addSessionReplayMaskedAccessibilityIdentifier

  • addSessionReplayUnmaskedAccessibilityIdentifier

    Exemplo:

    // In your app initialization
    NewRelic.addSessionReplayMaskedAccessibilityIdentifier("sensitive-section")
    NewRelic.addSessionReplayUnmaskedAccessibilityIdentifier("public-section")
    // In your SwiftUI views
    NRConditionalMaskView(sessionReplayIdentifier: "sensitive-section") {
    Text("This will be masked")
    }
    NRConditionalMaskView(sessionReplayIdentifier: "public-section") {
    Text("This will be visible")
    }

    UIKit

    mascarar ou desmascarar visualizações adicionando seus class ou accessibilityIdentifier aos seguintes métodos:

  • addSessionReplayMaskViewClass

  • addSessionReplayUnmaskViewClass

  • addSessionReplayMaskViewAccessibilityIdentifier

  • addSessionReplayUnmaskViewAccessibilityIdentifier

    Exemplo:

    NewRelic.addSessionReplayMaskViewClass("SecureLabel")
    NewRelic.addSessionReplayUnmaskViewClass("UnsecureLabel")
    NewRelic.addSessionReplayMaskViewAccessibilityIdentifier("login")
    NewRelic.addSessionReplayUnmaskViewAccessibilityIdentifier("editTextEmail")

Jetpack Compose

Para o Jetpack Compose, você pode usar os mesmos métodos que os layouts XML para composables do Destino por meio de suas tags de teste ou nomes de classe.

Exemplo:

// In your application initialization
NewRelic.addSessionReplayMaskViewTag("sensitive-data")
NewRelic.addSessionReplayUnmaskViewTag("public-data")
// In your composables
Text(
text = "Sensitive information",
modifier = Modifier.testTag("sensitive-data")
)
Text(
text = "Public information",
modifier = Modifier.testTag("public-data")
)

layouts XML

mascarar ou desmascarar visualizações adicionando seus class ou android:tag aos seguintes métodos:

  • addSessionReplayMaskViewClass
  • addSessionReplayUnmaskViewClass
  • addSessionReplayMaskViewTag
  • addSessionReplayUnmaskViewTag

Exemplo:

NewRelic.addSessionReplayMaskViewTag("login");
NewRelic.addSessionReplayUnmaskViewTag("editTextEmail");
NewRelic.addSessionReplayUnmaskViewClass("android.widget.Button");
NewRelic.addSessionReplayMaskViewClass("android.widget.TextView");
NewRelic.addSessionReplayMaskViewClass("com.yourpackagename.CustomView");

Regras do lado do servidor

Importante

Versões mínimas do agente que suportam regras do lado do servidor:

  • Agente iOS v7.5.10 (lançado em 15 de setembro de 2025)
  • Agente Android v7.6.9 (lançado em 15 de setembro de 2025)
  • Agente React Native v1.5.10 (lançado em 15 de setembro de 2025)

As regras de mascaramento do lado do servidor permitem corrigir retroativamente erros de mascaramento em versões de aplicativos que já foram lançadas. Elas entram em vigor imediatamente em todas as novas sessões, sem necessidade de atualização do aplicativo.

As regras são compostas por três componentes:

  • Tipo: Determina se os componentes correspondentes devem ser mascarados ou não mascarados.
  • identificador: Especifica como você deseja que o elemento alvo seja identificado (por exemplo, por classe, tag, etc.)
  • Valor: O valor do identificador selecionado ao qual a regra será aplicada.

Por exemplo, uma regra para Mask class android.widget.EditText mascararia todos os campos de texto editáveis pelo usuário em um aplicativo Android.

Mobile Session Replay masking override

Defina as opções de mascaramento para Session Replay móvel nas configurações do aplicativo.

Para criar uma nova regra:

Na interface web do New Relic:

  1. Acesse Mobile > [sua entidade] > Settings > Application > Session Replay.
  2. Desloque-se até Override rules e clique em Add new override rule.
  3. Selecione o tipo de regra (mascarar ou revelar).
  4. Escolha o identificador que deseja usar para os componentes de destino.
  5. Insira o valor do identificador ao qual você deseja que a regra seja aplicada.
  6. Clique em Add rule.

A nova regra foi adicionada à tabela de Regras de Substituição e será aplicada a todas as novas sessões.

Para excluir ou editar uma regra:

Na interface web do New Relic:

  1. Navegue até Mobile > [sua entidade] > Settings > Application > Session Replay.
  2. Localize a regra que deseja modificar na tabela "Substituir regras".
  3. Clique no menu ... e selecione Delete ou Edit.

prioridade da regra de mascaramento

Quando várias regras de mascaramento se aplicam a uma mesma visualização ou elemento, a seguinte ordem de prioridade determina qual regra será aplicada:

  1. A estratégia está acima de tudo.

    Se sua estratégia de mascaramento for Default, os modos e substituições não serão aplicados.

    Exemplo: Se você adicionou substituições de atributos nr-unmask embutidas em seu código, mas a estratégia de mascaramento Default está selecionada nas configurações, tudo ainda será mascarado.

  2. Substitui os modos anteriores.

    Os modos determinam o comportamento padrão quando não há uma configuração de substituição; portanto, se houver uma configuração de substituição, ela sempre terá precedência sobre o modo.

    Exemplo: Se o modo Mask application text estiver ativado e você adicionar uma substituição de atributo nr-unmask embutida a uma visualização em seu código, essa visualização será desmascarada, mas todas as outras visualizações serão mascaradas.

  3. As configurações de mascaramento têm precedência sobre as configurações de desmascaramento.

    Se uma única visualização tiver configurações de mascaramento e desmascaramento definidas, ela estará sempre mascarada.

    Exemplo: Se uma visualização tiver uma substituição de atributo inline nr-unmask e uma regra do lado do servidor nr-mask, a visualização será mascarada.

Veja e analise a reprodução da sessão.

Depois de começar a coletar gravações de sessão, você poderá usá-las para melhorar suas experiências digitais, identificando padrões comuns e áreas onde há atrito na experiência do usuário. Eles também são úteis para diagnosticar e resolver problemas rapidamente, revisando as etapas que o usuário executou antes de encontrar erros ou comportamentos inesperados.

Veja as gravações na página Session Replay.

A página Session Replay fornece uma lista de todas as reproduções coletadas durante o período selecionado. Por padrão, filtramos a lista para exibir apenas as repetições que duraram pelo menos 5 segundos. A tabela fornece dados úteis, como a contagem de erros, e os filtros permitem restringir a lista às sessões que ajudarão a resolver o seu problema.

Mobile Session Replay listing page

Veja e filtre as reproduções em Mobile > [seu_aplicativo] > Session replay.

Por exemplo, você pode adicionar um filtro countryCode para ver replays de uma região específica para validar se a localização está funcionando como esperado, ou um filtro deviceModel para ver replays de um modelo específico de telefone que pode ter problemas de compatibilidade.

Para acessar a página de reprodução da sessão:

Na interface web do New Relic:

  1. Acesse one.newrelic.com > All Capabilities > Mobile.
  2. Selecione seu aplicativo móvel.
  3. No menu à esquerda, role para baixo e clique em Session replay.
  4. Clique em uma linha para ver a repetição.

Veja replays com erros e problemas de desempenho.

Atualmente, você pode visualizar as gravações na página principal Session Replay. A integração com as experiências de falhas, erros de solicitação, exceções tratadas e ANRs (Application Not Responding - Respostas Não Disponível) estará disponível posteriormente no período de pré-visualização.

Em breve

Quando disponível, se um usuário encontrar um problema durante a captura da reprodução, uma pré-visualização da reprodução estará disponível na ocorrência do erro nas experiências de falhas, erros de solicitação, exceções tratadas e ANRs.

A pré-visualização mostrará de 5 a 10 segundos antes do problema e, para problemas não fatais, de 5 a 10 segundos depois de sua ocorrência. Um ícone será sobreposto na linha do tempo para mostrar exatamente quando o erro ocorreu na reprodução. Isso permitirá que você avalie rapidamente quaisquer ações do usuário que possam ter causado o problema, bem como a gravidade do impacto para o usuário final.

Se a pré-visualização não for suficiente para resolver o seu problema, você poderá clicar no botão View full session replay para visualizar toda a sessão sincronizada com os demais dados de telemetria capturados.

Preview of Mobile Session Replay integration with error experiences showing a replay timeline with error markers

Pré-visualização: As reprises estarão disponíveis no contexto das experiências de falhas, erros de solicitação, exceções tratadas e ANR (Application Not Responding).

Gerenciar permissões e acesso

O recurso de reprodução de sessões em dispositivos móveis possui seu próprio conjunto de permissões, permitindo que você controle quem pode visualizar as gravações e atualizar as configurações. Usuários com qualquer função padrão podem visualizar replays, mas somente administradores com a função "Todos os administradores do produto" podem modificar as configurações Session Replay. É possível criar funções personalizadas para maior controle sobre as permissões do usuário.

Visão geral das permissões

As permissões de usuário são gerenciadas na interface de Gerenciamento de Usuário, que pode ser encontrada em Administration > Access management > Roles.

Para visualizar ou modificar as configurações Session Replay na página Configurações do aplicativo, o usuário precisa das permissões Session Replay e de Configurações do aplicativo.

Permissão

Descrição

Concedido a:

Dispositivos móveis / Session Replay / Visualizar

Veja a reprodução da sessão e a página com a programação. Em conjunto com as configurações do aplicativo / Visualizar, veja as configurações atuais Session Replay na página Configurações do aplicativo.

Todos os administradores de produtos
Usuário padrão
Somente leitura

Dispositivos móveis / Session Replay / Modificar

Em conjunto com as configurações do aplicativo / Modificar, atualize as configurações de Session Replay na página Configurações do Aplicativo.

Todos administradores de produtos

Dispositivos móveis / Configurações do aplicativo / Visualizar

Veja as configurações atuais na página Configurações do aplicativo. O usuário também precisa Session Replay para ver a seção Session Replay.

Todos os administradores de produtos
Usuário padrão
Somente leitura

Dispositivo móvel / Configurações do aplicativo / Modificar

Atualize as configurações na página Configurações do aplicativo. O usuário também precisa acessar a seção de Session Replay Session Replay / Modificar para atualizá-la.

Todos administradores de produtos

Copyright © 2025 New Relic Inc.

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