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.brs
Usage
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 Function
Où 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
.