Configuración de monitorización de canal de RUM Roku
RUM para Roku no está disponible en el sitio US1-FED de Datadog.
Datadog Real User Monitoring (RUM) te permite visualizar y analizar el rendimiento en tiempo real y los recorridos de los usuarios individuales de tu canal.
El SDK de Datadog Roku admite canales de BrightScript para Roku OS 10 y posterior.
Configuración
- Declarar el SDK como dependencia.
- Especificar los detalles de la aplicación en Datadog.
- Inicializar la biblioteca.
- Instrumentar el canal.
Declarar el SDK como dependencia
Utilización de ROPM (recomendado)
ROPM
es un gestor de paquetes para la plataforma Roku (basado en NPM). Si aún no estás usando ROPM
en tu proyecto de Roku, lee tu Guía Empezando. Una vez que tu proyecto esté configurado para usar ROPM
, puedes usar el siguiente comando para instalar la dependencia de Datadog:
ropm install datadog-roku
Configuración manual
Si tu proyecto no utiliza ROPM
, instala la biblioteca manualmente al descargar el archivo zip del SDK de Roku
y descomprimirlo en la carpeta raíz de tu proyecto.
Asegúrate de que tienes una subcarpeta roku_modules/datadogroku
en las carpetas components
y source
de tu proyecto.
Especificar los detalles de la aplicación en Datadog
Ve a Digital Experience > Add an Application (Experiencia digital > Añadir una aplicación).
Selecciona Roku como tipo de aplicación e introduce un nombre de aplicación para generar un ID de aplicación de Datadog y un token de cliente únicos.
Para deshabilitar la recopilación automática de datos del usuario, ya sea para la IP del cliente o los datos de geolocalización, desmarca las casillas para esas configuraciones. Para obtener más información, consulta Datos recopilados de RUM Roku.
Para asegurar la seguridad de tus datos, debes utilizar un token de cliente. Si solo utilizaras claves de API de Datadog para configurar la biblioteca dd-sdk-roku
, estarían expuestos del lado del cliente en el código BrightScript del canal de Roku.
Para obtener más información sobre cómo configurar un token de cliente, consulta la Documentación sobre el token de cliente.
Inicializar la biblioteca
En el fragmento de inicialización, establece un nombre de entorno. Para obtener más información, consulta Uso de etiquetas.
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "us1",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "eu1",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "us3",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "us5",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "ap1",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
Muestrear sesiones de RUM
Para controlar los datos que tu aplicación envía a Datadog RUM, puedes especificar una tasa de muestreo para las sesiones de RUM mientras inicializas el SDK de RUM Roku como un porcentaje entre 0 y 100. Puedes especificar la tasa con el parámetro sessionSampleRate
.
Instrumentar el canal
Consulta Rastreo de recursos de RUM para activar el rastreo automático de todos tus recursos, y Mejorar sesiones de usuario para añadir información personalizada global o del usuario a tus eventos.
Rastrear vistas de RUM
Para dividir sesiones de usuario en pasos lógicos, inicia manualmente una Vista con el siguiente código. Cada navegación a una nueva pantalla dentro de tu canal debe corresponder a una nueva Vista de RUM.
viewName = "VideoDetails"
viewUrl = "components/screens/VideoDetails.xml"
m.global.datadogRumAgent.callfunc("startView", viewName, viewUrl)
Rastreo de las acciones de RUM
Las acciones de RUM representan las interacciones que tus usuarios tienen con tu canal. Puedes enviar acciones a Datadog de la siguiente manera:
targetName = "playButton" ' the name of the SG Node the user interacted with
actionType = "click" ' the type of interaction, should be one of "click", "back", or "custom"
m.global.datadogRumAgent.callfunc("addAction", { target: targetName, type: actionType})
Rastreo de errores de RUM
Siempre que realices una operación que pueda lanzar una excepción, puedes reenviar el error a Datadog de la siguiente manera:
try
doSomethingThatMightThrowAnException()
catch error
m.global.datadogRumAgent.callfunc("addError", error)
end try
Referencias adicionales
Más enlaces, artículos y documentación útiles:
[10]: