Vista previa característica
Seguimos desarrollando activamente Session Replay celulares, ¡pero estamos entusiasmados de que pruebes esta nueva y poderosa función! Esta característica se proporciona actualmente como parte de un programa de vista previa de acuerdo con nuestras políticas de prelanzamiento.
¿Por qué pasar horas intentando reproducir errores escurridizos de aplicaciones móviles cuando puedes ver exactamente lo que experimentó tu usuario? Session Replay celular elimina las conjeturas en la resolución de problemas al proporcionar una repetición en video de lo que el usuario finalmente vio en su teléfono o tableta, sincronizada con todos los telemetry data de esa sesión. Esto significa que puedes evaluar rápidamente el impacto real de los errores en tu usuario, identificar puntos de fricción en el rendimiento y la experiencia de usuario, y resolver problemas más rápido sin depender de reportes de errores o reproducción local.

Requisitos y compatibilidad
Antes de configurar Session Replay celulares, cerciorar de que su aplicación cumpla con estos requisitos.
Requisitos técnicos
Para usar Session Replay celulares, necesitas:
- Una cuenta New Relic con monitoreo de celulares habilitado
- Una aplicación móvil activa configurada en New Relic
- Conectividad de red desde tu aplicación móvil al extremo de ingesta de datos de New Relic
Consideraciones de rendimiento
Antes de habilitar Session Replay celulares, considere el siguiente impacto en su aplicación y en el usuario:
- Rendimiento de la aplicación: Session Replay captura y transmite datos de la ventana gráfica, lo que puede afectar al rendimiento de la aplicación en dispositivos más antiguos.
- Consumo de datos: La transmisión de datos de reproducción consumirá datos del usuario, especialmente cuando se capturen imágenes.
- Requisitos de almacenamiento: Los datos capturados requieren una capacidad de almacenamiento adecuada en los dispositivos de usuario entre ciclos de transmisión.
- Optimización de la red: Todos los datos se comprimen en el lado del cliente antes de la transmisión para minimizar el uso de la red.
- Estrategia de ejemplificación: Considere cuidadosamente sus tasas de ejemplificación para equilibrar las necesidades de recopilación de datos con el impacto en el rendimiento.
Marco de UI compatible
Actualmente, Session Replay es compatible con determinados marcos de UI para aplicaciones iOS, Android y React Native. Estamos trabajando activamente para dar soporte a más UI y marcos de trabajo híbridos.
Actualmente compatible:
- iOS UIKit
- iOS SwiftUI
- Diseños XML de Android
- Android Jetpack Compose
- Vistas de React Native
Apoyo previsto:
- Vistas sitio web
- Flutter
- Cordova
- Capacitor
- MAUI
Versiones mínimas del agente
Importante
Esta función se encuentra en desarrollo activo, por lo que se recomienda encarecidamente actualizar a la última versión del agente móvil para obtener la mejor experiencia y las funciones más recientes.
A continuación se muestran las primeras versiones de agente que admitían la captura básica Session Replay :
- Agente iOS v7.5.10 lanzado el 15 de septiembre de 2025
- Android agente v7.6.8 lanzado el 29 de julio de 2025
- React Native agente v1.5.10 lanzado el 15 de septiembre de 2025
Cómo funciona la reproducción de sesiones móviles
Comprender cómo funciona Mobile Session Replay lo ayuda a tomar decisiones informadas sobre la configuración de privacidad y la resolución de problemas.
Cuando un usuario inicia tu aplicación, el agente móvil realiza una llamada a los servidores New Relic para comprobar si Session Replay está habilitado y, en caso afirmativo, cuáles son las tasas de ejemplificación y la configuración de privacidad. El agente resuelve la decisión de ejemplificación y comienza a capturar datos de repetición.
A diferencia de Session Replay Browser, las aplicaciones móviles no tienen un DOM que se pueda capturar y recrear. En cambio, el agente móvil monitorear el ciclo de vida de la vista y transforma el área visible en HTML. Tu configuración de enmascaramiento se aplica a la reproducción HTML del área visible, que luego se serializa a JSON y se almacena en el lado del cliente hasta que se activa la transmisión de datos cada minuto, momento en el que la carga útil se comprime con gzip y se envía a New Relic.
Si la aplicación falla o se bloquea inesperadamente, los datos recopilados entre el último ciclo de transmisión exitoso y la salida inesperada de la aplicación se almacenan en el lado del cliente hasta el próximo lanzamiento de la aplicación, momento en el que el agente móvil intentará restaurar y cargar los datos huérfanos. Debido a la forma en que iOS y Android gestionan las salidas inesperadas, no siempre podemos recuperar todos los datos luego de un cierre inesperado de la aplicación.
Cuando se visualiza una repetición en la UI New Relic, el JSON se obtiene de NRDB y se deserializa para convertirlo en un flujo de actualizaciones HTML que constituye el "video" que se reproduce en su navegador sitio web.
Debido a la transformación del marco de vista de la plataforma nativa a HTML, la reproducción de sesiones móviles suele ser precisa, pero no perfecta a nivel de pixel. Trabajaremos continuamente para mejorar la precisión de las repeticiones.
Configurar la reproducción de sesiones móviles
La habilitación de Session Replay, las tasas de ejemplificación y la mayoría de las configuraciones de privacidad se gestionan del lado del servidor en la página de configuración de la aplicación en New Relic, por lo que las actualizaciones no dependen de la implementación y adopción de una nueva versión de la aplicación. Solo algunos tipos de anulaciones de enmascaramiento deben gestionar en su código.
Configurar tasas de muestreo
Define las frecuencias de ejemplificación para controlar con qué frecuencia se capturan las repeticiones de sesión. Las tasas de ejemplificación pueden ser tan pequeñas como una millonésima de por ciento para aplicaciones de alto rendimiento. Actualmente, hay disponible una frecuencia de ejemplificación:
Sesiones de usuario totales: Registra una muestra aleatoria de todas las sesiones de usuario.
Muy pronto
Las sesiones con ejemplificación de errores estarán disponibles más adelante durante el periodo de vista previa. Esta característica registrará una muestra aleatoria de sesiones en las que se produzca al menos un error, almacenando en búfer una ventana deslizante de datos durante un máximo de 30 segundos en el lado del cliente. Cuando se produce un error, se cargarán los datos almacenados en búfer y se grabará el resto de la sesión.
Configurar ajustes de privacidad
Proteger la privacidad del usuario es fundamental al grabar la reproducción de la sesión. La configuración predeterminada protege la información confidencial ocultando todo el texto y las imágenes, pero puede ajustarla para adaptarla a sus necesidades específicas de privacidad.
Todo el enmascaramiento se realiza del lado del cliente, por lo que la información confidencial nunca sale del dispositivo del usuario final. Esta sección le muestra cómo emplear estrategias de enmascaramiento, modos y reglas de anulación para cumplir con sus estándares de privacidad, manteniendo al mismo tiempo la utilidad de Session Replay para mejorar su experiencia de usuario y diagnosticar problemas.
Privacidad y enmascaramiento
Elija la estrategia de enmascaramiento que mejor se adapte a sus necesidades de privacidad.
Estrategias de enmascaramiento
Mobile Session Replay ofrece dos estrategias de enmascaramiento para equilibrar la protección de la privacidad con la utilidad de reproducción. Su elección determina cómo se manejan los datos confidenciales en las grabaciones de sesión.
Estrategia de enmascaramiento predeterminada
La estrategia de enmascaramiento predeterminada proporciona la máxima protección de la privacidad al enmascarar todo el texto y las imágenes sin excepción. Elige esta estrategia cuando:
- Tu aplicación maneja datos altamente sensibles (sanidad, servicios financieros, etc.).
- El cumplimiento normativo exige una estricta protección de datos.
- Quieres correr cero riesgo de capturar información privada.
Lo que se oculta:
- Todo el texto se reemplaza con asteriscos (por ejemplo, "hola" se convierte en "*****").
- Todas las imágenes se reemplazan con bloques de marcador de posición de las mismas dimensiones.
- Los toques y deslizamientos del usuario se siguen registrando (a menos que los ocultes).
Esto garantiza que, incluso si agrega accidentalmente código de desenmascaramiento, la estrategia predeterminada siempre enmascarará todo.
Limitaciones importantes de la estrategia de enmascaramiento predeterminada:
- Los modos de enmascaramiento no son configurables.
- Las anulaciones de enmascaramiento en línea (como la etiqueta
nr-unmask) se ignoran - Las reglas de enmascaramiento del lado del servidor no tienen efecto.

Estrategia de enmascaramiento personalizada
La estrategia de enmascaramiento personalizada le brinda un control preciso sobre qué se enmascara y qué permanece visible. Emplee esta estrategia cuando:
- Tu aplicación tiene una mezcla de contenido público y contenido sensible.
- Necesitas ver elementos específicos UI para diagnosticar problemas de forma eficaz.
- Desea desenmascarar selectivamente áreas no sensibles
Una estrategia personalizada consiste en:
- Modos de enmascaramiento: línea de reglas base para diferentes tipos de contenido (texto, imágenes, interacción)
- Reglas de anulación: Excepciones para enmascarar o desenmascarar componentes específicos
Para cambiar a enmascaramiento personalizado:
En la interfaz sitio web de New Relic:
- Vaya a Mobile > [su entidad] > Settings > Application > Session Replay
- En la sección Masking strategy, seleccione Custom
- Configure sus modos de enmascaramiento (consulte la siguiente sección).
- Opcionalmente, agregue reglas de anulación para componentes específicos.

Modos de enmascaramiento
Al emplear la estrategia de enmascaramiento personalizada, los modos de enmascaramiento establecen el comportamiento de privacidad base para su Session Replay. Estos modos se aplican globalmente a toda la aplicación a menos que se anulen mediante reglas específicas para componentes individuales.
Para configurar los modos de enmascaramiento:
En la interfaz sitio web de New Relic:
- Vaya a Mobile > [su entidad] > Settings > Application > Session Replay
- Cerciorar de seleccionar la estrategia de enmascaramiento Custom.
- En la sección Masking modes, active o desactive cada modo según sus necesidades.
- Los cambios entrarán en vigor inmediatamente para todas las nuevas grabaciones de sesiones.

Los cuatro modos de enmascaramiento controlan diferentes tipos de contenido:
enmascarar usuario input text
Controla si el texto introducido por el usuario en los campos de entrada es visible en las repeticiones.
Cuando esté habilitado (recomendado):
- Todos los caracteres introducidos por el usuario se reemplazan con asteriscos.
- Ejemplo: El usuario escribe "john.doe@email.com" → aparece como "*******************" en la repetición
- Protege nombres de usuario, direcciones de email, consultas de búsqueda, datos de formularios y otro contenido introducido por el usuario.
Cuando está desactivado:
- El texto introducido por el usuario aparece exactamente como se escribió en la repetición.
- Emplee únicamente cuando los campos de entrada contengan información no confidencial.
- Útil para depurar problemas de validación de formularios o la funcionalidad de búsqueda.
Importante
Los campos de contraseña siempre están ocultos, independientemente de esta configuración. Los campos SecureField (iOS), los tipos de entrada de contraseña (Android) y los campos de entrada de texto seguro nunca mostrarán texto sin formato en las repeticiones.
Configuración predeterminada: Habilitada en la estrategia de enmascaramiento personalizada.
Cuándo podrías desactivar este modo:
- Barras de búsqueda públicas donde las consultas no son personalmente identificables
- Filtros no sensibles o selecciones de categoría
- Solución de problemas de autocompletado o validación de entrada
enmascarar aplicación texto
Controla si el texto mostrado por tu aplicación (etiquetas, botones, encabezados, contenido) es visible en las repeticiones.
Cuando está habilitado:
- Todo el texto estático y dinámico que genera tu aplicación se reemplaza con asteriscos.
- Ejemplo: La etiqueta "Nombre:" se convierte en "***********" en la repetición.
- Protege cualquier texto que pueda contener o revelar información confidencial.
Cuando está desactivado:
- Todo el texto de la aplicación aparece exactamente como lo ve el usuario.
- Las etiquetas, los botones, los encabezados y el contenido son totalmente legibles.
- Hace que las repeticiones sean mucho más fáciles de entender y navegar.
- Esencial para identificar con qué pantallas o características interactuó el usuario.
Configuración predeterminada: Habilitada en la estrategia de enmascaramiento personalizada.
Recomendación para la mayoría de las aplicaciones: Desactive este modo a menos que muestre información altamente sensible. El texto visible UI es crucial para:
- Comprender las rutas de navegación del usuario
- Identificar qué botones o características pulsó el usuario
- Al ver el mensaje de error que apareció
- Diagnóstico de problemas de maquetación o localización
- Correlacionar las repeticiones con características específicas de la aplicación
Mantén este modo activado cuando:
- Aplicaciones de atención médica que muestran información del paciente
- Aplicaciones financieras que muestran detalles de cuentas o transacciones
- Aplicaciones con contenido generado por el usuario que podría ser sensible
- Los requisitos de cumplimiento exigen que se oculte todo el texto mostrado.
Sugerencia
Si desactiva este modo pero necesita ocultar elementos de texto confidenciales específicos, emplee reglas de anulación para ocultar selectivamente solo esos componentes mientras mantiene visible el resto de la UI de usuario.
imágenes de máscara
Importante
Versiones mínimas del agente que admiten la captura de imágenes:
- Agente iOS v7.5.10 (lanzado el 15 de septiembre de 2025)
- Agente Android v7.6.9 (lanzado el 15 de septiembre de 2025)
- Agente React Native v1.5.10 (lanzado el 15 de septiembre de 2025)
Controla si las imágenes de tu aplicación se capturan y se muestran en las repeticiones.
Cuando esté habilitado (recomendado):
- Todas las imágenes se reemplazan con bloques de marcador de posición del mismo tamaño.
- marcador de posición conserva la estructura del diseño para que puedas ver las posiciones de las imágenes
- No se transmiten datos de imagen a New Relic.
- Protege las fotos subidas por el usuario, las fotos de perfil y las imágenes potencialmente sensibles.
Cuando está desactivado:
- Las imágenes se capturan, comprimen, codifican en base64 y se incluyen en la carga útil de reproducción.
- Las imágenes aparecen en las repeticiones, aunque con una calidad inferior a la que vio el usuario.
- Aumenta significativamente los costos de transmisión y almacenamiento de datos
- Ayuda a diagnosticar problemas con la carga, el renderizado o el diseño de imágenes.
Consideraciones importantes al capturar imágenes
Habilitar la captura de imágenes influye significativamente en el uso de datos y el rendimiento:
Uso de datos: Las imágenes aumentan considerablemente el tamaño de la carga útil de reproducción, consumiendo muchos más datos de usuario y su cuota de almacenamiento de New Relic.
Calidad: Las imágenes se comprimen agresivamente en el lado del cliente para minimizar el impacto, lo que resulta en una calidad inferior a la original.
rendimiento: la captura y compresión de imágenes pueden afectar el rendimiento de la aplicación en dispositivos más antiguos
Privacidad: Considere si las imágenes podrían contener información sensible o privada.
Desactive el enmascaramiento de imágenes solo cuando la depuración visual sea esencial para su caso de uso.
Configuración predeterminada: Habilitada en la estrategia de enmascaramiento personalizada.
Cuándo podrías desactivar este modo:
- Diagnóstico de fallos en la carga de imágenes o problemas de renderizado
- Investigación de problemas de diseño relacionados con las dimensiones de la imagen
- Comprender la interacción del usuario con galerías de imágenes o contenido multimedia.
- Tu aplicación solo muestra imágenes públicas y no sensibles (iconos, logotipos, ilustraciones).
Mantén este modo activado cuando:
- Fotos de perfil de usuario o fotos subidas
- Documentos o captura de pantalla capturados dentro de la aplicación
- imágenes médicas o imágenes relacionadas con la atención médica
- Cualquier contenido visual generado por el usuario
Ocultar toques y deslizamientos del usuario
Controla si las interacciones táctiles del usuario se visualizan en las repeticiones.
Cuando está desactivado (recomendado):
- Los toques del usuario aparecen como círculos grises en la repetición.
- Los gestos de deslizamiento aparecen como líneas rojas que muestran la trayectoria del movimiento.
- Esencial para comprender con qué elementos UI interactuó el usuario.
- Ayuda a identificar problemas de usabilidad, toques perdidos o interacciones confusas.
Cuando está habilitado:
- En la repetición no aparecen visualizaciones de toques ni deslizamientos.
- El usuario parece navegar por su aplicación sin ninguna interacción visible.
- Emplear cuando los patrones táctiles puedan revelar información confidencial.
Sugerencia
El teclado del sistema operativo y las pulsaciones y deslizamientos sobre él nunca se capturan en las repeticiones, independientemente de esta configuración. Esto proporciona protección automática para la introducción de contraseñas y textos confidenciales.
Configuración predeterminada: Deshabilitada en la estrategia de enmascaramiento personalizada (los toques y deslizamientos son visibles).
Cuándo ocultar la interacción: Enmascarar el texto suele ser suficiente, pero ocultar los toques/deslizamientos puede ser necesario cuando:
- Tu aplicación tiene un teclado numérico o PIN integrado donde los patrones de pulsación revelan códigos de seguridad
- Los patrones de deslizamiento se emplean para la autenticación (bloqueos por patrón, contraseñas por gestos).
- La interacción táctil en pantallas específicas podría implicar decisiones delicadas (selección de síntomas médicos, decisiones financieras).
Recomendación para la mayoría de las aplicaciones: Mantener la interacción visible para:
- Vea exactamente dónde tocó el usuario, incluidas las áreas omitidas o que no responden.
- Comprende los patrones de navegación y el flujo de usuarios a través de tu aplicación.
- Identificar problemas de usabilidad con botones táctiles pequeños o poco claros
- Diagnosticar características basadas en gestos (deslizar para eliminar, tirar para actualizar, etc.)
Configuración de enmascaramiento avanzada
Emplee anulaciones de enmascaramiento cuando desee que partes específicas de su aplicación tengan configuraciones de enmascaramiento diferentes a los modos de enmascaramiento especificados. Por ejemplo, si la mayor parte de su aplicación no contiene datos confidenciales, puede configurar sus modos para que se desenmascaren y especificar anulaciones para enmascarar únicamente las partes de su aplicación que contienen datos confidenciales.
Métodos de anulación de enmascaramiento
Ofrecemos tres formas de crear reglas de anulación de enmascaramiento:
atributo en línea
Las anulaciones de enmascaramiento en línea se aplican en su código etiquetando el componente que desea enmascarar o desenmascarar. Deberás desplegar una nueva versión de tu aplicación y hacer que el usuario la adopte para que se apliquen las actualizaciones, por lo que se emplean mejor cuando deseas que la supervisión de tu proceso de control de cambios gestione los cambios de enmascaramiento.
SwiftUI
Emplee NRConditionalMaskView para envolver contenido que deba tener un comportamiento de enmascaramiento específico. Este componente SwiftUI proporciona un control preciso sobre el enmascaramiento de datos en Session Replay.
Requisitos:
iOS 16.0+
Swift 5.0+
Importar:
import SwiftUIimport NewRelicUso básico:
// Mask all text content within this viewNRConditionalMaskView(maskApplicationText: true) {VStack {Text("This text will be masked in session replay")Text("This text will also be masked")}}Desvelar el contenido:
// Explicitly unmask content (useful when parent views have masking enabled)NRConditionalMaskView(maskApplicationText: false) {Text("This text will be visible in session replay")}Enmascaramiento basado en identificadores:
// Use an identifier to control masking via API or dashboard settingsNRConditionalMaskView(sessionReplayIdentifier: "unmasked-section") {Text("This text masking is controlled by the identifier")}Parámetro:
maskApplicationText: Cuandotrue, enmascarar todo el contenido de texto dentro de la vista. Cuandofalse, garantiza que el texto sea visible. Cuandonil, hereda del padre.maskUserInputText: Cuandotrue, enmascarar usuarios input fields within the view. Cuandofalse, muestra el contenido de entrada. Cuandonil, hereda del padre.maskAllImages: Cuandotrue, enmascarar todas las imágenes dentro de la vista. Cuandofalse, muestra imágenes. Cuandonil, hereda del padre.maskAllUserTouches: Cuandotrue, enmascarar la interacción del usuario dentro de la vista. Cuandofalse, muestra el evento táctil. Cuandonil, hereda del padre.sessionReplayIdentifier: Identificador opcional para controlar el enmascaramiento a través deaddSessionReplayMaskedAccessibilityIdentifier,addSessionReplayUnmaskedAccessibilityIdentifiero a través del dashboard de la aplicación New Relic.activated: Cuandofalse, deshabilita por completo la funcionalidad de enmascaramiento para esta vista. El valor predeterminado estrue.Ejemplo avanzado: enmascaramiento mixto en un formulario:
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 visibleNRConditionalMaskView(maskApplicationText: false) {Text("Create Your Account").font(.title)}// Personal informationNRConditionalMaskView(sessionReplayIdentifier: "personal-info") {TextField("First Name", text: $firstName)TextField("Email", text: $email)}// Highly sensitive - mask everythingNRConditionalMaskView(sessionReplayIdentifier: "password-section") {SecureField("Password", text: $password)Text("Password must be at least 8 characters")}Button("Sign Up") {// Handle registration}}.padding()}}UIKit
Agregue o añada
nr-maskonr-unmaskalaccessibilityIdentifierdelUIViewque se va a enmascarar o desenmascarar. Agregar un identificador existente es útil si necesita mantener un identificador único para pruebas automatizadas, pero probablemente tendrá que actualizar sus pruebas luego de cambiar los valores.Ejemplo de cómo agregar un
accessibilityIdentifier:let myView = UIView()myView.accessibilityIdentifier = "nr-mask"Ejemplo de cómo agregar a un
accessibilityIdentifierexistente:let myView = UIView()myView.accessibilityIdentifier = "someExistingId.nr-unmask"
Jetpack Compose
Emplee extensiones Modifier para controlar el comportamiento de enmascaramiento en Jetpack Compose.
Ejemplo:
// Mask a composableText( text = "Sensitive information", modifier = Modifier.newRelicMask())
// Unmask a composableText( text = "Public information", modifier = Modifier.newRelicUnmask())diseños XML
Agregue una etiqueta nr-mask o nr-unmask a las vistas o componentes que se van a enmascarar o desenmascarar.
Ejemplo:
<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" />Emplee los componentes <NewRelicMask> y <NewRelicUnMask> para enmascarar o desenmascarar vistas o componentes.
Ejemplo:
<View> <NewRelicMask> <Text>Sensitive information</Text> </NewRelicMask></View>
<View> <NewRelicUnmask> <Text>Non-sensitive information</Text> </NewRelicUnmask></View>Métodos de la API local
Las anulaciones de enmascaramiento de métodos de la API local también se aplican en su código dentro de la configuración del agente de New Relic. Son útiles cuando las vistas objetivo ya tienen un identificador único y se desea gestionarlas en una lista centralizada en lugar de etiquetar cada vista individualmente a lo largo del código.
SwiftUI
Para las vistas de SwiftUI, emplee el parámetro sessionReplayIdentifier en NRConditionalMaskView junto con estos métodos:
addSessionReplayMaskedAccessibilityIdentifieraddSessionReplayUnmaskedAccessibilityIdentifierEjemplo:
// In your app initializationNewRelic.addSessionReplayMaskedAccessibilityIdentifier("sensitive-section")NewRelic.addSessionReplayUnmaskedAccessibilityIdentifier("public-section")// In your SwiftUI viewsNRConditionalMaskView(sessionReplayIdentifier: "sensitive-section") {Text("This will be masked")}NRConditionalMaskView(sessionReplayIdentifier: "public-section") {Text("This will be visible")}UIKit
ocultar o desenmascarar vistas agregando su
classoaccessibilityIdentifiera los siguientes métodos:addSessionReplayMaskViewClassaddSessionReplayUnmaskViewClassaddSessionReplayMaskViewAccessibilityIdentifieraddSessionReplayUnmaskViewAccessibilityIdentifierEjemplo:
NewRelic.addSessionReplayMaskViewClass("SecureLabel")NewRelic.addSessionReplayUnmaskViewClass("UnsecureLabel")NewRelic.addSessionReplayMaskViewAccessibilityIdentifier("login")NewRelic.addSessionReplayUnmaskViewAccessibilityIdentifier("editTextEmail")
Jetpack Compose
Para Jetpack Compose, puedes usar los mismos métodos que para los diseños XML para segmentar los elementos componibles por su etiqueta de prueba o nombres de clase.
Ejemplo:
// In your application initializationNewRelic.addSessionReplayMaskViewTag("sensitive-data")NewRelic.addSessionReplayUnmaskViewTag("public-data")
// In your composablesText( text = "Sensitive information", modifier = Modifier.testTag("sensitive-data"))
Text( text = "Public information", modifier = Modifier.testTag("public-data"))diseños XML
ocultar o desenmascarar vistas agregando su class o android:tag a los siguientes métodos:
addSessionReplayMaskViewClassaddSessionReplayUnmaskViewClassaddSessionReplayMaskViewTagaddSessionReplayUnmaskViewTag
Ejemplo:
NewRelic.addSessionReplayMaskViewTag("login");NewRelic.addSessionReplayUnmaskViewTag("editTextEmail");NewRelic.addSessionReplayUnmaskViewClass("android.widget.Button");NewRelic.addSessionReplayMaskViewClass("android.widget.TextView");NewRelic.addSessionReplayMaskViewClass("com.yourpackagename.CustomView");Reglas del servidor
Importante
Versiones mínimas de agente que admiten reglas del lado del servidor:
- Agente iOS v7.5.10 (lanzado el 15 de septiembre de 2025)
- Agente Android v7.6.9 (lanzado el 15 de septiembre de 2025)
- Agente React Native v1.5.10 (lanzado el 15 de septiembre de 2025)
Las reglas de enmascaramiento del lado del servidor permiten corregir retroactivamente errores de enmascaramiento en versiones de la aplicación que ya se publicaron. Entran en vigor inmediatamente en todos los nuevos inicios de sesión sin necesidad de actualizar la aplicación.
Las reglas constan de tres componentes:
- Tipo: Determina si los componentes coincidentes deben estar enmascarados o no enmascarados.
- identificador: Especifica cómo desea que se identifique el elemento de destino (por ejemplo, por clase, etiqueta, etc.).
- Valor: El valor del identificador seleccionado al que se aplicará la regla.
Por ejemplo, una regla para Mask class android.widget.EditText enmascararía todos los campos de texto editables por el usuario en una aplicación de Android.

Define las anulaciones de enmascaramiento para Session Replay celular en la configuración de la aplicación.
Para crear una nueva regla:
En la interfaz sitio web de New Relic:
- Ve a Mobile > [tu entidad] > Settings > Application > Session Replay.
- Desplazar hasta Override rules y haga clic en Add new override rule.
- Seleccione el tipo de regla (enmascarar o desenmascarar).
- Elige el identificador que quieras usar para los componentes objetivo.
- Ingrese el valor del identificador al que desea que se aplique la regla.
- Haz clic en Add rule.
La nueva regla se agrega a la tabla de Reglas de Anulación y se aplicará en todas las sesiones nuevas.
Para eliminar o editar una regla:
En la interfaz sitio web de New Relic:
- Navega a Mobile > [tu entidad] > Settings > Application > Session Replay.
- Localice la regla que desea modificar en la tabla de Reglas de anulación.
- Haz clic en el menú
...y luego selecciona Delete o Edit.
Prioridad de la regla de enmascaramiento
Cuando varias reglas de enmascaramiento se aplican a una vista o elemento, el siguiente orden de prioridad determina qué regla se aplica:
La estrategia lo supera todo
Si su estrategia de enmascaramiento es
Default, los modos y las anulaciones no se aplican.Ejemplo: Si agregó anulaciones de atributos
nr-unmasken línea en su código, pero la estrategia de enmascaramientoDefaultestá seleccionada en la configuración, todo seguirá enmascarado.Las anulaciones reemplazan los modos
Los modos determinan el comportamiento estándar cuando no hay una anulación, por lo que si hay una anulación, siempre tendrá prioridad sobre el modo.
Ejemplo: Si el modo
Mask application textestá habilitado y agrega una anulación de atributonr-unmasken línea a una vista en su código, esa vista se desenmascarará, pero todas las demás vistas se enmascararán.Las anulaciones de enmascaramiento prevalecen sobre las anulaciones de desenmascaramiento.
Si una misma vista tiene anulaciones tanto de enmascaramiento como de desenmascaramiento, siempre estará enmascarada.
Ejemplo: Si una vista tiene una anulación de atributo
nr-unmasken línea y una regla del lado del servidornr-mask, la vista se enmascarará.
Visualiza y analiza la repetición de la sesión
Una vez que comience a recopilar Session Replay, podrá emplearlos para mejorar sus experiencias digitales identificando patrones comunes y áreas donde se produce fricción en la experiencia del usuario. También son útiles para diagnosticar y resolver problemas rápidamente, al revisar los pasos que siguió el usuario antes de encontrar errores o comportamientos inesperados.
Vea las repeticiones en la página Session Replay.
La página Session Replay proporciona una lista de todas las repeticiones que se recopilaron durante el periodo de tiempo seleccionado. Por defecto, filtramos la lista para mostrar solo las repeticiones que duraron al menos 5 segundos. La tabla proporciona datos útiles como el recuento de errores, y los filtros le permiten acotar la lista a las sesiones que lo ayudarán a resolver su problema.

Visualiza y filtra las repeticiones en Mobile > [tu_aplicación] > Session replay.
Por ejemplo, puede agregar un filtro countryCode para ver repeticiones de una región específica para validar que la localización funciona como se espera, o un filtro deviceModel para ver repeticiones de un modelo de teléfono específico que puede tener problemas de compatibilidad.
Para acceder a la página de repetición de la sesión:
En la interfaz sitio web de New Relic:
- Vaya a one.newrelic.com > All Capabilities > Mobile.
- Selecciona tu aplicación móvil.
- En el menú de la izquierda, desplazar hacia abajo y haga clic en Session replay.
- Haz clic en una fila para ver la repetición.
Vea repeticiones con errores y problemas de rendimiento.
Actualmente, puedes ver las repeticiones desde la página principal Session Replay. La integración con las experiencias de fallos, errores de solicitud, excepciones controladas y ANR llegará más adelante en el periodo de vista previa.
Muy pronto
Cuando esté disponible, si un usuario encuentra algún problema mientras se captura la repetición, una vista previa de la repetición estará disponible en la incidencia del error en las experiencias de Fallos, Errores de solicitud, Excepciones controladas y ANR.
La vista previa mostrará de 5 a 10 segundos antes del problema y, para problemas no fatales, de 5 a 10 segundos después de que ocurra. Se superpondrá un icono en la línea de tiempo para mostrarle exactamente cuándo se produjo el error en la repetición. Esto le permitirá evaluar rápidamente cualquier acción del usuario que pueda causar el problema, así como la gravedad del impacto para el usuario final.
Si la vista previa no es suficiente para resolver su problema, podrá hacer clic en el botón View full session replay para ver toda la sesión sincronizada con los demás telemetry data que se capturaron.

Vista previa: Las repeticiones estarán disponibles en contexto en las experiencias de Fallos, Errores de solicitud, Excepciones controladas y ANR.
Gestionar licencias y acceso
La reproducción de sesiones móviles tiene su propio conjunto de licencias, por lo que puede personalizar con precisión quién puede ver las repeticiones y actualizar su configuración. Los usuarios con cualquier rol estándar pueden ver las repeticiones, pero solo los administradores de producto pueden modificar la configuración Session Replay. Se pueden crear roles personalizados para un mayor control sobre las licencias de usuario.
Descripción general de licencias
Las licencias de usuario se gestionan en la UI usuario de gestión de usuarios, que se encuentra en Administration > Access management > Roles.
Para ver o modificar la configuración Session Replay en la página de Configuración de la aplicación, el usuario necesita tanto las licencias Session Replay como los de Configuración de la aplicación.
Licencia | Descripción | Concedido a: |
|---|---|---|
Celular / Session Replay / Visualización | Vea la repetición de la sesión y la página de la lista. Junto con la configuración de la aplicación / Ver, consulte la configuración actual Session Replay en la página de Configuración de la aplicación. | Administración de todos los productos |
Celular / Session Replay / Modificar | Junto con la configuración de la aplicación / Modificar, actualice la configuración de Session Replay en la página de Configuración de la aplicación. | Todos los administradores de productos |
Configuración de la aplicación móvil / Ver | Consulta la configuración actual en la página de Configuración de la aplicación. El usuario también necesita Session Replay / Ver para ver la sección Session Replay. | Administración de todos los productos |
Configuración móvil / de la aplicación / Modificar | Actualiza la configuración en la página de Configuración de la aplicación. El usuario también necesita Session Replay / Modify para actualizar la sección Session Replay. | Todos los administradores de productos |
