Añade la dependencia a tu proyecto utilizando ROPM, o descarga el último archivo zip y extráelo en tu proyecto.
ropm install datadog-roku
Inicializa la biblioteca con tu token de cliente de Datadog y el ID de aplicación generado al crear una nueva aplicación RUM en la interfaz de usuario de Datadog (consulta Empezando con la recopilación de Roku RUM para obtener más información). Por razones de seguridad, debes usar un token de cliente: no puedes usar claves de API de Datadog para configurar la biblioteca dd-sdk-roku, ya que estarían expuestas del lado del cliente en el paquete del canal de Roku.
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
(Opcional) Cuando escribas tu aplicación, puedes habilitar el desarrollo de logs estableciendo el atributo datadogVerbosity en el nodo global. Todos los mensajes internos en la biblioteca con una prioridad igual o superior al nivel proporcionado se registran en la salida telnet de tu dispositivo de Roku:
(Opcional) Proporciona una matriz asociativa (AssocArray) junto a tu mensaje de log para añadir atributos al log emitido. Cada entrada de la AssocArray se añade como un atributo.
Todos los logs se almacenan primero en el dispositivo local por lotes. Cada lote sigue la especificación de admisión. Se envían en cuanto la red está disponible. Si la red no está disponible mientras la aplicación está abierta, o si falla una carga de datos, el lote se guarda hasta que pueda enviarse correctamente.
Para garantizar que el SDK no utilice demasiado espacio en disco, los datos del disco se descartan automáticamente si son demasiado antiguos.
Nota: Antes de que los datos se carguen en Datadog, son almacenados en texto claro en el directorio de cache de tu canal, lo que significa que estos datos no pueden ser leídos por otras aplicaciones. El sistema operativo puede desalojar los datos en cualquier momento, lo que podría causar pérdida de datos en algunos casos poco frecuentes.