[
{
duration:30,
pod_index:0,
rendersequence:"preroll",
rendertime:0,
tracking:[
{
adSystems:"fw",
event:"PodStart",
time:0,
url:"http://1-PODTRACK.FAKEURL.COM"
},
{
adSystems:"Auditude",
event:"PodStart",
time:0,
url:"http://2-PODTRACK.FAKEURL.COM"
}
],
"viewed":false,
ads:[
{
adid:"20234435",
advertiser:"",
duration:30,
rendertime:0,
streamformat:"hls",
streams:[],
companionads: [
{
height: 720,
mimetype: "application/json",
tracking: [
{
event: "Impression",
time: 0,
triggered: false,
url: "http://a.brightline.tv/?track=companion_impression&ad_id=001"
},
{
event: "AcceptInvitation",
triggered: false,
url: "http://a.brightline.tv/?track=companion_accept_invitation&ad_id=001"
}
],
url: "https://a.brightline.tv/?id=ROKU_RAF_1&ver=%%SDK_VER%%&cb=%%CACHEBUSTER%%&mblist=2450X,2500X",
width: 1280
}],
tracking:[
{
event:"Impression",
time:0,
triggered:false,
url:"http://1-ADTRACK.FAKEURL.COM"
},
{
event:"Impression",
time:0,
triggered:false,
url:"http://2-ADTRACK.FAKEURL.COM"
}
]
}
]
}
]
BrightScript Micro Debugger.
Enter any BrightScript statement, debug commands, or HELP.
Suspending threads...
Thread selected: 1* roku_ads_lib:/Roku_Ads.brs(3646) ??
Current Function:
3646:* ??
3647: ??
3648: ??
3649: ??
3650: ??
Type Mismatch. (runtime error &h18) in roku_ads_lib:/Roku_Ads.brs(3646)
3646: ??
Backtrace:
#1 Function roku_ads_stitchedadsinit(adpodarray_ As Object) As Void
file/line: roku_ads_lib:/Roku_Ads.brs(3647)
#0 Function onmediaurlchange(obj As Dynamic) As Void
file/line: pkg:/components/cpc/tasks/raf.brs(54)
Local Variables:
No variable info.
Threads:
ID Location Source Code
0 pkg:/source/main.brs(16) msg = wait(0, m.port)
1* roku_ads_lib:/Roku_Ads.brs(3646) ??
2[u] ??
*selected [u]unattached(not debuggable)
ads:[
{
adid:"20234435",
advertiser:"",
duration:30,
rendertime:0,
streamformat: "brightline",
streams: [
{
mimetype: "application/json",
url: "https://a.brightline.tv/?id=ROKU_RAF_1&ver=%%SDK_VER%%&cb=%%CACHEBUSTER%%&mblist=2450X,2500X"
}
],
companionads: [
{
height: 720,
mimetype: "application/json",
tracking: [
{
event: "Impression",
time: 0,
triggered: false,
url: "http://a.brightline.tv/?track=companion_impression&ad_id=001"
},
{
event: "AcceptInvitation",
triggered: false,
url: "http://a.brightline.tv/?track=companion_accept_invitation&ad_id=001"
}
],
url: "https://a.brightline.tv/?id=ROKU_RAF_1&ver=%%SDK_VER%%&cb=%%CACHEBUSTER%%&mblist=2450X,2500X",
width: 1280
}],
tracking:[
{
event:"Impression",
time:0,
triggered:false,
url:"http://1-ADTRACK.FAKEURL.COM"
},
{
event:"Impression",
time:0,
triggered:false,
url:"http://2-ADTRACK.FAKEURL.COM"
}
]
}
]
rafrndr-renderTypeChanged() - server-stitched
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~ BRIGHTLINE.TV SG RENDERER for RAF ~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Roku_Ads library version: 2.0215
added child: Rectangle id: 1 subtype: Rectangle
while m.playing
msg = wait(0, port)
curAd = invalid
curAd = m.raf.stitchedAdHandledEvent(msg, {sgNode:m.videoplayer,port : port})
'? "RAF cur ad >",curAd
if curAd <> invalid
'detect ad exit and nuke loop
if curAd.adExited
m.videoplayer.control="STOP"
m.playing = false
exit while
else if curAd.adCompleted
m.videoplayer.setFocus(true)
end if
else if msg.getField()="keypressed" and msg.getData()=0
m.playing = false
m.videoplayer.control="STOP"
exit while
end if
end while
Added a native RSG renderer for Brightline interactive ads
"tim_beynart" wrote:
Well that explains it. I am using Video node in RSG.
But that contradicts the release notes here: https://sdkdocs.roku.com/display/sdkdoc/Roku+Advertising+Framework#RokuAdvertisingFramework-Version2.2–07/2017Added a native RSG renderer for Brightline interactive ads