L'agent vidéo Roku fournit monitoring des événements publicitaires via deux API publicitaires différentes :
Installer le framework publicitaire Roku (RAF)
Pour RAF, aucune étape supplémentaire n'est requise car le tracker est intégré au NRAgent.
Installer Google IMA
Pour IMA, assurez-vous que les fichiers suivants sont inclus dans le répertoire du projet :
components/NewRelicAgent/trackers IMATracker.brs IMATracker.xmlsource/ IMATrackerInterface.brsUsage
Utilisation de la RAF
Transmettez l’objet NRAgent (créé avec l’appel à NewRelic(accountId, apiKey)) à la tâche Annonces à l’aide d’un champ. Dans la tâche Annonces, effectuez les opérations suivantes :
adIface = Roku_Ads()
' Ad Iface setup code...
logFunc = Function(obj = Invalid as Dynamic, evtType = invalid as Dynamic, ctx = invalid as Dynamic) 'Call RAF tracker, passing the event and context nrTrackRAF(obj, evtType, ctx)End Function
' m.top.nr is the reference to the field where we have the NRAgent objectadIface.setTrackingCallback(logFunc, m.top.nr)Pour un exemple d'utilisation complet, consultez les fichiers VideoScene.brs (fonction setupVideoWithAds()) et AdsTask.brs dans le présent référentiel (repository).
Utilisation de l'IMA
Créez l’objet IMA Tracker :
tracker = IMATracker(m.nr)Où m.nr est l'objet NRAgent.
Transmettez l'objet de suivi à la tâche IMA SDK à l'aide d'un champ et incluez le script IMATrackerInterface.brs dans le XML de la tâche. Dans la tâche, effectuez les opérations suivantes :
m.player.adBreakStarted = Function(adBreakInfo as Object) ' Ad break start code... ' Send AD_BREAK_START nrSendIMAAdBreakStart(m.top.tracker, adBreakInfo) End Function
m.player.adBreakEnded = Function(adBreakInfo as Object) ' Ad break end code...
' Send AD_BREAK_END nrSendIMAAdBreakEnd(m.top.tracker, adBreakInfo) End Function
' ...
m.streamManager.addEventListener(m.sdk.AdEvent.START, startCallback) m.streamManager.addEventListener(m.sdk.AdEvent.FIRST_QUARTILE, firstQuartileCallback) m.streamManager.addEventListener(m.sdk.AdEvent.MIDPOINT, midpointCallback) m.streamManager.addEventListener(m.sdk.AdEvent.THIRD_QUARTILE, thirdQuartileCallback) m.streamManager.addEventListener(m.sdk.AdEvent.COMPLETE, completeCallback)
Function startCallback(ad as Object) as Void ' Send AD_START nrSendIMAAdStart(m.top.tracker, ad) End Function
Function firstQuartileCallback(ad as Object) as Void ' Send AD_QUARTILE (first) nrSendIMAAdFirstQuartile(m.top.tracker, ad) End Function
Function midpointCallback(ad as Object) as Void ' Send AD_QUARTILE (midpoint) nrSendIMAAdMidpoint(m.top.tracker, ad) End Function
Function thirdQuartileCallback(ad as Object) as Void ' Send AD_QUARTILE (third) nrSendIMAAdThirdQuartile(m.top.tracker, ad) End Function
Function completeCallback(ad as Object) as Void ' Send AD_END nrSendIMAAdEnd(m.top.tracker, ad) End FunctionOù m.top.tracker est l’objet de suivi transmis à la tâche.
Pour un exemple d'utilisation complet, consultez les fichiers VideoScene.brs (fonction setupVideoWithIMA()) et imasdk.brs.