This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project,
feel free to reach out to us!Real User Monitoring (RUM) te permite monitorizar vistas web y eliminar puntos ciegos en tus aplicaciones móviles híbridas.
Puedes hacer lo siguiente:
- Rastrear los recorridos de los usuarios en todos los componentes web y nativos en aplicaciones móviles.
- Determinar la causa de la latencia de las páginas web o los componentes nativos de las aplicaciones móviles.
- Prestar asistencia a los usuarios que tienen dificultades para cargar páginas web en dispositivos móviles
También puedes grabar todo el recorrido del usuario en vistas web y nativas en iOS o Android y verlo en una única Repetición de sesión. Más información en Instrumentar vistas consolidadas del navegador y web móviles.
Configuración
Requisitos previos
Configura el SDK de RUM Browser en la página web que desees que se represente en tu aplicación móvil. Para obtener más información, consulta Monitorización de RUM Browser.
iOS
Para activar Web View Tracking, asegúrate de activar también RUM o Logs. A continuación, añade el paquete según tu administrador de dependencias y actualiza tu fragmento de inicialización.
Configura el SDK de RUM Browser para la página web que desees que se represente en tu aplicación móvil. Para obtener más información, consulta RUM Browser Monitoring.
Configura el SDK de RUM Browser en la página web que desees que se represente en tu aplicación móvil. Para obtener más información, consulta RUM Browser Monitoring.
Para activar Crash Reporting:
- Asegúrate de activar también RUM o Logs.
- Añade el paquete según tu gestor de dependencias.
- Actualiza tu fragmento de inicialización declarando
DatadogWebViewTracking
como dependencia, como se muestra a continuación.
Puedes utilizar CocoaPods para instalar dd-sdk-ios
:
pod 'DatadogWebViewTracking'
Para una integración utilizando Swift Package Manager de Apple, añade lo siguiente como una dependencia a tu Package.swift
:
.package(url: "https://github.com/Datadog/dd-sdk-ios.git", .upToNextMajor(from: "2.0.0"))
En tu proyecto, vincula las siguientes bibliotecas:
DatadogCore
DatadogWebViewTracking
Puedes utilizar Carthage para instalar dd-sdk-ios
:
github "DataDog/dd-sdk-ios"
En Xcode, vincula los siguientes marcos:
DatadogWebViewTracking.xcframework
Configura el SDK de RUM Browser en la página web que desees que se represente en tu aplicación móvil. Para obtener más información, consulta RUM Browser Monitoring.
Configura el SDK de RUM Browser en la página web que desees que se represente en tu aplicación móvil. Para obtener más información, consulta RUM Browser Monitoring.
Añade la biblioteca DatadogWebViewTracking
a tu aplicación siguiendo la guía aquí.
Instrumentar tus vistas web
Si deseas reenviar eventos de RUM desde páginas web, descarga la última versión del SDK de RUM Android y configura la función RUM siguiendo la guía dedicada.
Si deseas reenviar eventos de logs desde páginas web, descarga la última versión del SDK de Logs Android y configura la función Logs siguiendo la guía dedicada.
Añade la dependencia de Gradle declarando la biblioteca dd-sdk-android-webview
como dependencia en el archivo build.gradle
a nivel del módulo:
dependencies {
implementation "com.datadoghq:dd-sdk-android-webview:x.x.x"
}
Activa el rastreo de las vistas web con el siguiente fragmento de código:
WebViewTracking.enable(webView, allowedHosts)
allowedHosts
coincide con los hosts determinados y su subdominio. No se permite ninguna expresión regular.
Nota:
Para que la instrumentación funcione en el componente WebView, es muy importante que JavaScript esté habilitado en el WebView. Para habilitarlo, puedes utilizar el siguiente fragmento de código:
webView.settings.javaScriptEnabled = true
El SDK de RUM iOS proporciona las API para controlar el rastreo de vistas web. Para activar el rastreo de vistas web, proporciona la instancia WKWebView
.
import WebKit
import DatadogWebViewTracking
let webView = WKWebView(...)
WebViewTracking.enable(webView: webView, hosts: ["example.com"])
Para desactivar el rastreo de vistas web:
WebViewTracking.disable(webView: webView)
allowedHosts
coincide con los hosts determinados y su subdominio. No se permite ninguna expresión regular.
El SDK de RUM Flutter proporciona APIs para que puedas controlar el seguimiento de la vista web con el paquete webview_flutter
o flutter_inappwebview
.
Paquete Web view Flutter
Para añadir Web View Tracking cuando utilices webview_flutter
, añade lo siguiente a tu pubspec.yaml
con la versión más reciente del complemento datadog_webview_tracking
:
dependencies:
datadog_webview_tracking: ^x.x.x
A continuación, llama al método de extensión trackDatadogEvents
en WebViewController
, proporcionando la lista de hosts permitidos.
Por ejemplo:
import 'package:datadog_flutter_plugin/datadog_flutter_plugin.dart';
webViewController = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..trackDatadogEvents(
DatadogSdk.instance,
['myapp.example'],
)
..loadRequest(Uri.parse('myapp.example'));
Ten en cuenta que JavaScriptMode.unrestricted
es necesario para que el rastreo funcione en Android.
allowedHosts
coincide con los hosts determinados y su subdominio. No se permite ninguna expresión regular.
Paquete Flutter InAppWebView
Para añadir Web View Tracking cuando utilices flutter_inappwebview
, añade lo siguiente a tu pubspec.yaml
con la versión más reciente del complemento datadog_inappwebview_tracking
:
dependencies:
datadog_webview_tracking: ^x.x.x
Para instrumentar un InAppWebView
, añade el DatadogInAppWebViewUserScript
a tus initialUserScripts
y llama al método de extensión trackDatadogEvents
durante la devolución de llamada onWebViewCreated
:
InAppWebView(
// Other settings...
initialUserScripts: UnmodifiableListView([
DatadogInAppWebViewUserScript(
datadog: DatadogSdk.instance,
allowedHosts: {'shopist.io'},
),
]),
onWebViewCreated: (controller) async {
controller.trackDatadogEvents(DatadogSdk.instance);
},
)
Para instrumentar un InAppBrowser
, añade una anulación para onBrowserCreated
y llama al método de extensión trackDatadogEvents
en webViewController
, luego añade un DatadogInAppWebViewUserScript
al initialUserScripts
cuando crees tu InAppBrowser
personalizado:
class MyInAppBrowser extends InAppBrowser {
MyInAppBrowser({super.windowId, super.initialUserScripts});
@override
void onBrowserCreated() {
webViewController?.trackDatadogEvents(DatadogSdk.instance);
super.onBrowserCreated();
}
}
// Browser creation
_browser = MyInAppBrowser(
initialUserScripts: UnmodifiableListView(
[
DatadogInAppWebViewUserScript(
datadog: DatadogSdk.instance,
allowedHosts: {'shopist.io'},
),
],
),
);
El parámetro allowedHosts
de DatadogInAppWebViewUserScript
coincide con los hosts dados y su subdominio. No se permite ninguna expresión regular.
Añade react-native-webview
a tu aplicación siguiendo la documentación oficial de instalación.
Importa WebView
desde @datadog/mobile-react-native-webview
en lugar de react-native-webview
:
import { WebView } from '@datadog/mobile-react-native-webview';
// or
import WebView from '@datadog/mobile-react-native-webview';
Puedes utilizar todas las funcionalidades existentes de react-native-webview
, ya que el componente WebView
de @datadog/mobile-react-native-webview
encapsula el componente react-native-webview
.
Proporciona la lista de hosts que Datadog va a rastrear en la vista web utilizando el prop allowedHosts
de tu componente WebView
:
<WebView
source={{ uri: 'https://www.example.com' }}
allowedHosts={['example.com']}
/>
allowedHosts
coincide con los hosts determinados y su subdominio. No se permite ninguna expresión regular.
Si deseas reenviar eventos RUM desde páginas web, descarga la última versión del SDK RUM Kotlin Multiplataforma y configura RUM siguiendo la guía dedicada.
Si deseas reenviar eventos de log procedentes de páginas web, descarga la última versión del SDK Kotlin Multiplataforma de logs y configura logs siguiendo la guía dedicada.
Añade la dependencia Gradle para el conjunto de fuentes comunes declarando la biblioteca dd-sdk-kotlin-multiplatform-webview
como dependencia en el archivo build.gradle.kts
a nivel de módulo:
kotlin {
// ...
sourceSets {
commonMain.dependencies {
implementation("com.datadoghq:dd-sdk-kotlin-multiplatform-webview:x.x.x")
}
}
}
Activa el rastreo de las vistas web con el siguiente fragmento de código:
// call it in Android or iOS source set, not in the common one
WebViewTracking.enable(webView, allowedHosts)
Desactiva el seguimiento de vistas web una vez que la instancia de vista web puede ser lanzada (sólo iOS):
// call it in iOS source set, not in the common one
WebViewTracking.disable(webView, allowedHosts)
allowedHosts
coincide con los hosts dados y su subdominio. No se permiten expresiones regulares.
Accede a tus vistas web
Tus vistas web aparecen en RUM Explorer con los atributos service
y source
asociados. El atributo service
indica el componente web desde el que se genera la vista web y el atributo source
indica la plataforma de la aplicación móvil, como Android.
Para acceder a tus vistas web:
Navega a Digital Experiences > Real User Monitoring > (Sessions) Explorer (Experiencias digitales > Sessions Explorer).
Crea una consulta para filtrar lo siguiente:
- Tus aplicaciones Android y Android TV utilizando
application.id
o application.name
- El componente web que utiliza
service
- La plataforma que utiliza
source
Nota: Si ves números de versión no reconocidos que informan en tu aplicación móvil, es posible que pertenezcan a la versión del SDK Browser. En ese caso, puedes filtrar la sesión de la plataforma del navegador. Por ejemplo, source: react-native
.
Haz clic en una sesión. Aparece un panel lateral con una lista de eventos en la sesión.
Cualquier servicio con el icono web indica una vista web.
Desde aquí, puedes pasar el ratón por encima de un evento de sesión y hacer clic en Open View waterfall (Abrir vista de cascada) para navegar desde la sesión a una visualización de cascada de recursos en la pestaña Performance (Rendimiento) de la vista.
Implicaciones de facturación
Consulta Facturación de RUM & Session Replay para más detalles sobre cómo afectan las vistas web en aplicaciones móviles a las grabaciones de las sesiones y a la facturación.
Referencias adicionales
Más enlaces, artículos y documentación útiles: