O agente Roku Video fornece monitoramento de eventos por meio de duas APIs de anúncios diferentes:
Pré-requisitos
Antes de ativar o rastreamento de anúncios:
- Conclua a instalação do agente Roku
- Inicialize o New Relic Agent (referenciado como
m.nrnos exemplos abaixo)
Estrutura de publicidade Roku (RAF)
O RAF está integrado ao NRAgent. Nenhum arquivo adicional é necessário.
Ativar rastreamento de RAF
Passe o objeto NRAgent (criado com NewRelic("ACCOUNT ID", "LICENSE KEY")) para a tarefa Ads usando um campo. Dentro da tarefa Ads, execute o seguinte:
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)Para um exemplo completo de uso, consulte os arquivos VideoScene.brs (função setupVideoWithAds()) e AdsTask.brs no pacote do agente Roku.
Google IMA
Copiar arquivos necessários
Certifique-se de que os seguintes arquivos estejam incluídos no diretório do seu projeto:
components/NewRelicAgent/trackers IMATracker.brs IMATracker.xmlsource/ IMATrackerInterface.brsCriar rastreador IMA
Crie o objeto IMA Tracker:
tracker = IMATracker(m.nr)Onde m.nr é o objeto NRAgent.
Configurar rastreamento de anúncios
Passe o objeto tracker para a Tarefa do SDK do IMA usando um campo e inclua o script IMATrackerInterface.brs no XML da tarefa. Dentro da tarefa, configure o seguinte rastreamento:
Rastrear intervalos de anúncios:
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 FunctionRastrear eventos de anúncios:
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 FunctionOnde m.top.tracker é o objeto rastreador passado para a tarefa.
Para um exemplo completo de uso, consulte os arquivos VideoScene.brs (função setupVideoWithIMA()) e imasdk.brs no pacote do agente Roku.