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

Session Replaycelular

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.

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

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 :

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.
Mobile Session Replay default masking strategy showing all text and images masked

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:

  1. Modos de enmascaramiento: línea de reglas base para diferentes tipos de contenido (texto, imágenes, interacción)
  2. 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:

  1. Vaya a Mobile > [su entidad] > Settings > Application > Session Replay
  2. En la sección Masking strategy, seleccione Custom
  3. Configure sus modos de enmascaramiento (consulte la siguiente sección).
  4. Opcionalmente, agregue reglas de anulación para componentes específicos.
Mobile Session Replay masking strategy selection with Default and Custom options

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:

  1. Vaya a Mobile > [su entidad] > Settings > Application > Session Replay
  2. Cerciorar de seleccionar la estrategia de enmascaramiento Custom.
  3. En la sección Masking modes, active o desactive cada modo según sus necesidades.
  4. Los cambios entrarán en vigor inmediatamente para todas las nuevas grabaciones de sesiones.
Mobile Session Replay masking modes configuration panel

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 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")
    }
    }

    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 settings
    NRConditionalMaskView(sessionReplayIdentifier: "unmasked-section") {
    Text("This text masking is controlled by the identifier")
    }

    Parámetro:

  • maskApplicationText: Cuando true, enmascarar todo el contenido de texto dentro de la vista. Cuando false, garantiza que el texto sea visible. Cuando nil, hereda del padre.

  • maskUserInputText: Cuando true, enmascarar usuarios input fields within the view. Cuando false, muestra el contenido de entrada. Cuando nil, hereda del padre.

  • maskAllImages: Cuando true, enmascarar todas las imágenes dentro de la vista. Cuando false, muestra imágenes. Cuando nil, hereda del padre.

  • maskAllUserTouches: Cuando true, enmascarar la interacción del usuario dentro de la vista. Cuando false, muestra el evento táctil. Cuando nil, hereda del padre.

  • sessionReplayIdentifier: Identificador opcional para controlar el enmascaramiento a través de addSessionReplayMaskedAccessibilityIdentifier, addSessionReplayUnmaskedAccessibilityIdentifier o a través del dashboard de la aplicación New Relic.

  • activated: Cuando false, deshabilita por completo la funcionalidad de enmascaramiento para esta vista. El valor predeterminado es true.

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

    Agregue o añada nr-mask o nr-unmask al accessibilityIdentifier del UIView que 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 accessibilityIdentifier existente:

    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 composable
Text(
text = "Sensitive information",
modifier = Modifier.newRelicMask()
)
// Unmask a composable
Text(
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:

  • addSessionReplayMaskedAccessibilityIdentifier

  • addSessionReplayUnmaskedAccessibilityIdentifier

    Ejemplo:

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

    ocultar o desenmascarar vistas agregando su class o accessibilityIdentifier a los siguientes métodos:

  • addSessionReplayMaskViewClass

  • addSessionReplayUnmaskViewClass

  • addSessionReplayMaskViewAccessibilityIdentifier

  • addSessionReplayUnmaskViewAccessibilityIdentifier

    Ejemplo:

    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 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")
)

diseños XML

ocultar o desenmascarar vistas agregando su class o android:tag a los siguientes métodos:

  • addSessionReplayMaskViewClass
  • addSessionReplayUnmaskViewClass
  • addSessionReplayMaskViewTag
  • addSessionReplayUnmaskViewTag

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.

Mobile Session Replay masking override

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:

  1. Ve a Mobile > [tu entidad] > Settings > Application > Session Replay.
  2. Desplazar hasta Override rules y haga clic en Add new override rule.
  3. Seleccione el tipo de regla (enmascarar o desenmascarar).
  4. Elige el identificador que quieras usar para los componentes objetivo.
  5. Ingrese el valor del identificador al que desea que se aplique la regla.
  6. 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:

  1. Navega a Mobile > [tu entidad] > Settings > Application > Session Replay.
  2. Localice la regla que desea modificar en la tabla de Reglas de anulación.
  3. 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:

  1. 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-unmask en línea en su código, pero la estrategia de enmascaramiento Default está seleccionada en la configuración, todo seguirá enmascarado.

  2. 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 text está habilitado y agrega una anulación de atributo nr-unmask en línea a una vista en su código, esa vista se desenmascarará, pero todas las demás vistas se enmascararán.

  3. 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-unmask en línea y una regla del lado del servidor nr-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.

Mobile Session Replay listing page

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:

  1. Vaya a one.newrelic.com > All Capabilities > Mobile.
  2. Selecciona tu aplicación móvil.
  3. En el menú de la izquierda, desplazar hacia abajo y haga clic en Session replay.
  4. 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.

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

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
Usuario estándar
Solo lectura

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
Usuario estándar
Solo lectura

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

Copyright © 2025 New Relic Inc.

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