L'agent Roku de New Relic est conçu pour monitorer le comportement des applications Roku, en se concentrant sur les événements liés au niveau système et à la vidéo. Il utilise l'API d'événement pour envoyer des données via une interface REST, prenant en charge cinq types d'événements :
- ConnectedDeviceSystem: système événement
- VideoAction: Vidéo événement
- VideoErrorAction: Erreur événement
- VideoAdAction: Annonce événement
- VideoCustomAction: événement personnalisé
Prérequis
Avant d'installer l'agent Streaming Video & Ads pour Roku, assurez-vous d'avoir :
- Votre identifiant de compteNew Relic
- Votre New Relic
- Passé en revue les exigences de compatibilité de l'agent Streaming Video & Ads
Installer l'agent Roku
Télécharger et extraire le paquet
Téléchargez le package Roku Video Agent et décompressez-le pour accéder à la structure de fichiers suivante :
components/NewRelicAgent/ NRAgent.brs NRAgent.xml NRTask.brs NRTask.xmlsource/ NewRelicAgent.brsCopier les fichiers dans votre projet
Copiez le dossier NewRelicAgent dans le répertoire components et le fichier NewRelicAgent.brs dans le répertoire source de votre projet d'application Roku.
Initialiser l'agent
Initialisez l'agent New Relic dans votre fichier BrightScript principal (par exemple, Main.brs) :
m.nr = NewRelic("ACCOUNT ID", "LICENSE KEY")Conseil
Configuration avancée: vous pouvez éventuellement spécifier le nom de l'application, le token d'application, la région du endpoint et du logging :
m.nr = NewRelic("ACCOUNT ID", "LICENSE KEY", "APP NAME", "APPLICATION TOKEN", "US", true)Le point de terminaison par défaut est US. Pour les centres de données de l'UE, utilisez EU.
Activer les captures d'événements
L'agent multimédia New Relic pour les appareils Roku capture les événements qui se produisent lors de la lecture de contenu vidéo. Pour activer la capture automatique d'événements, ajoutez ces appels à votre application :
Enregistrer le démarrage de l'application
Après avoir initialisé l'agent, enregistrez l'événement de démarrage de l'application :
nrAppStarted(m.nr, aa)Activer le suivi système et vidéo
Activer le suivi des événements système et vidéo :
m.syslog = NewRelicSystemStart(m.port)Pour le suivi vidéo, appelez NewRelicVideoStart(m.nr, m.video) dans votre composant de scène.
Traiter les messages dans la boucle d'attente
Gérez les événements système dans votre boucle d'attente principale :
if nrProcessMessage(m.nr, msg) = false ' Process other messagesend ifExemple complet
Vous trouverez ci-dessous un exemple complet d'intégration de l'agent New Relic dans une application Roku :
Main.brs
sub Main(aa as Object) screen = CreateObject("roSGScreen") m.port = CreateObject("roMessagePort") screen.setMessagePort(m.port)
'Create the main scene that contains a video player scene = screen.CreateScene("VideoScene") screen.show()
'Init New Relic Agent m.nr = NewRelic("ACCOUNT ID", "LICENSE KEY")
'Send APP_STARTED event nrAppStarted(m.nr, aa)
'Pass NewRelicAgent object to the main scene scene.setField("nr", m.nr)
'Activate system tracking m.syslog = NewRelicSystemStart(m.port)
while (true) msg = wait(0, m.port) if nrProcessMessage(m.nr, msg) = false 'It is not a system message captured by New Relic Agent if type(msg) = "roPosterScreenEvent" if msg.isScreenClosed() exit while end if end if end if end whileend subVideoScene.xml
<?xml version="1.0" encoding="utf-8" ?><component name="VideoScene" extends="Scene"> <interface> <!-- Field used to pass the NewRelicAgent object to the scene --> <field id="nr" type="node" onChange="nrRefUpdated" /> </interface>
<children> <Video id="myVideo" translation="[0,0]" /> </children>
<!-- New Relic Agent Interface --> <script type="text/brightscript" uri="pkg:/source/NewRelicAgent.brs"/>
<script type="text/brightscript" uri="pkg:/components/VideoScene.brs"/></component>VideoScene.brs
sub init() m.top.setFocus(true) setupVideoPlayer()end sub
function nrRefUpdated() m.nr = m.top.nr
'Activate video tracking NewRelicVideoStart(m.nr, m.video)end function
function setupVideoPlayer() videoUrl = "http://..." videoContent = createObject("RoSGNode", "ContentNode") videoContent.url = videoUrl videoContent.title = "Any Video" m.video = m.top.findNode("myVideo") m.video.content = videoContent m.video.control = "play"end functionQuelle est la prochaine étape ?
Après avoir installé l'agent Roku, explorez ces ressources pour tirer le meilleur parti de votre monitoring de vidéo en streaming :
- Référence de l'API de l'Agent Roku: explorez l'API complète pour les événements personnalisés, les métriques et la configuration avancée
- Suivi des publicités pour Roku: configurez le monitoring des événements publicitaires RAF et Google IMA
- Consultez vos données dans New Relic: explorez la télémétrie de lecture des vidéos et des publicités sur toutes les plateformes