IRoad
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-25-2012
04:11 PM
Banner ADS
Hi developers.
I have a question about the Banner ADS, I follow your script on the forum and few works very well but I have a problem to up to date the graphic, for example if today I want to have Adidas as sponsor and tomorrow i would like have Nike as sponsor I can't.
I changed the jpeg from my URL directory but Roku NOT automatically change the graphic still again on the old graphic, someone do you know why?
thank you in advance
I have a question about the Banner ADS, I follow your script on the forum and few works very well but I have a problem to up to date the graphic, for example if today I want to have Adidas as sponsor and tomorrow i would like have Nike as sponsor I can't.
I changed the jpeg from my URL directory but Roku NOT automatically change the graphic still again on the old graphic, someone do you know why?
thank you in advance
7 REPLIES 7

RokuJoel
Binge Watcher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-26-2012
11:53 AM
Re: Banner ADS
add a random string to your url kinda like this:
this should "bust" the cache and force download of the new image. You might want to use a flag file on your server to turn this on and off:
so you don't waste bandwidth reloading the same graphic over and over, until you actually need to change the image.
- Joel
url="http://myserver.com/image.jpg"
imgurl=url+"?rand="+rnd(10000).tostr()
this should "bust" the cache and force download of the new image. You might want to use a flag file on your server to turn this on and off:
xfer=createobject("rourltransfer")
flagfile=("http://myserver.com/flag.txt")
xfer.seturl(flagfile)
flag=xfer.gettostring()
if flag="true" then
imgurl=url+"?rand="+rnd(10000).tostr()
else if flagfile="false"
imgurl=url
end if
so you don't waste bandwidth reloading the same graphic over and over, until you actually need to change the image.
- Joel
IRoad
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2012
11:38 AM
Re: Banner ADS
Hi Joel,
I tried for suggestion but I am confuse about where put your script, I believe on POSTER SCREEN, but not it appear.
Follow a part of the script were i put it
'******************************************************
'** Display the home screen and wait for events from
'** the screen. The screen will show retreiving while
'** we fetch and parse the feeds for the game posters
'******************************************************
Function showPosterScreen(screen As Object, category As Object) As Integer
if validateParam(screen, "roPosterScreen", "showPosterScreen") = false return -1
if validateParam(category, "roAssociativeArray", "showPosterScreen") = false return -1
m.curCategory = 0
m.curShow = 0
temp=getcategorylist(category)
xfer=createobject("rourltransfer")
flagfile=("http://xxxxxxxxxxxx.cloudfront.net/vodrokubanner/540x60.jpg")
xfer.seturl(flagfile)
flag=xfer.gettostring()
if flag="true" then
imgurl=url+"?rand="+rnd(10000).tostr()
else if flagfile="false"
imgurl=url
end if
if temp.count() > 1 then
screen.SetListNames(temp)
?temp.count();" categories"
else
?"only ";temp.count();" category"
end if
screen.SetContentList(getShowsForCategoryItem(category, m.curCategory))
screen.Show()
while true
msg = wait(0, screen.GetMessagePort())
if type(msg) = "roPosterScreenEvent" then
print "showPosterScreen | msg = "; msg.GetMessage() " | index = "; msg.GetIndex()
if msg.isListFocused() then
m.curCategory = msg.GetIndex()
m.curShow = 0
screen.setcontentlist([])
screen.SetFocusedListItem(m.curShow)
screen.showmessage("Retrieving")
screen.SetContentList(getShowsForCategoryItem(category, m.curCategory))
screen.clearmessage()
print "list focused | current category = "; m.curCategory
else if msg.isListItemSelected() then
m.curShow = msg.GetIndex()
print "list item selected | current show = "; m.curShow
m.curShow = displayShowDetailScreen(category, m.curShow)
screen.SetFocusedListItem(m.curShow)
print "list item updated | new show = "; m.curShow
else if msg.isScreenClosed() then
return -1
end if
end If
end while
End Function
I tried for suggestion but I am confuse about where put your script, I believe on POSTER SCREEN, but not it appear.
Follow a part of the script were i put it
'******************************************************
'** Display the home screen and wait for events from
'** the screen. The screen will show retreiving while
'** we fetch and parse the feeds for the game posters
'******************************************************
Function showPosterScreen(screen As Object, category As Object) As Integer
if validateParam(screen, "roPosterScreen", "showPosterScreen") = false return -1
if validateParam(category, "roAssociativeArray", "showPosterScreen") = false return -1
m.curCategory = 0
m.curShow = 0
temp=getcategorylist(category)
xfer=createobject("rourltransfer")
flagfile=("http://xxxxxxxxxxxx.cloudfront.net/vodrokubanner/540x60.jpg")
xfer.seturl(flagfile)
flag=xfer.gettostring()
if flag="true" then
imgurl=url+"?rand="+rnd(10000).tostr()
else if flagfile="false"
imgurl=url
end if
if temp.count() > 1 then
screen.SetListNames(temp)
?temp.count();" categories"
else
?"only ";temp.count();" category"
end if
screen.SetContentList(getShowsForCategoryItem(category, m.curCategory))
screen.Show()
while true
msg = wait(0, screen.GetMessagePort())
if type(msg) = "roPosterScreenEvent" then
print "showPosterScreen | msg = "; msg.GetMessage() " | index = "; msg.GetIndex()
if msg.isListFocused() then
m.curCategory = msg.GetIndex()
m.curShow = 0
screen.setcontentlist([])
screen.SetFocusedListItem(m.curShow)
screen.showmessage("Retrieving")
screen.SetContentList(getShowsForCategoryItem(category, m.curCategory))
screen.clearmessage()
print "list focused | current category = "; m.curCategory
else if msg.isListItemSelected() then
m.curShow = msg.GetIndex()
print "list item selected | current show = "; m.curShow
m.curShow = displayShowDetailScreen(category, m.curShow)
screen.SetFocusedListItem(m.curShow)
print "list item updated | new show = "; m.curShow
else if msg.isScreenClosed() then
return -1
end if
end If
end while
End Function

RokuJoel
Binge Watcher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2012
01:01 PM
Re: Banner ADS
Hi,
the flagfile is just a text file you would set to "true" or "false" to force an update of your image on the devices.
you need also to have an SD sized ad and an HD sized ad, and you use SetAdURL(SDAdURL,HDAdURL).
so:
By the way, if when you post code to the forum, please select the code and click the Code button to format it as code.
- Joel
the flagfile is just a text file you would set to "true" or "false" to force an update of your image on the devices.
you need also to have an SD sized ad and an HD sized ad, and you use SetAdURL(SDAdURL,HDAdURL).
so:
'******************************************************
'** Display the home screen and wait for events from
'** the screen. The screen will show retreiving while
'** we fetch and parse the feeds for the game posters
'******************************************************
Function showPosterScreen(screen As Object, category As Object) As Integer
if validateParam(screen, "roPosterScreen", "showPosterScreen") = false return -1
if validateParam(category, "roAssociativeArray", "showPosterScreen") = false return -1
m.curCategory = 0
m.curShow = 0
temp=getcategorylist(category)
xfer=createobject("rourltransfer")
flagfile=("http://xxxxxxxxxxxx.cloudfront.net/vodrokubanner/flag.txt")
SDURL="http://xxxxxxxxxxxx.cloudfront.net/vodrokubanner/540x60.jpg"
HDURL="http://xxxxxxxxxxxx.cloudfront.net/vodrokubanner/728x90.jpg"
xfer.seturl(flagfile)
flag=xfer.gettostring()
if flag="true" then
SDAdURL=SDURL+"?rand="+rnd(10000).tostr()
HDAdURL=HDURL+"?rand="+rnd(10000).tostr()
else if flagfile="false"
SDAdURL=SDURL
HDAdURL=HDURL
end if
if temp.count() > 1 then
screen.SetListNames(temp)
?temp.count();" categories"
else
?"only ";temp.count();" category"
end if
screen.SetContentList(getShowsForCategoryItem(category, m.curCategory))
screen.SetAdURL(SDAdURL,HDAdURL)
screen.Show()
while true
msg = wait(0, screen.GetMessagePort())
if type(msg) = "roPosterScreenEvent" then
print "showPosterScreen | msg = "; msg.GetMessage() " | index = "; msg.GetIndex()
if msg.isListFocused() then
m.curCategory = msg.GetIndex()
m.curShow = 0
screen.setcontentlist([])
screen.SetFocusedListItem(m.curShow)
screen.showmessage("Retrieving")
screen.SetContentList(getShowsForCategoryItem(category, m.curCategory))
screen.clearmessage()
print "list focused | current category = "; m.curCategory
else if msg.isListItemSelected() then
m.curShow = msg.GetIndex()
print "list item selected | current show = "; m.curShow
m.curShow = displayShowDetailScreen(category, m.curShow)
screen.SetFocusedListItem(m.curShow)
print "list item updated | new show = "; m.curShow
else if msg.isScreenClosed() then
return -1
end if
end If
end while
By the way, if when you post code to the forum, please select the code and click the Code button to format it as code.
- Joel

TheEndless
Channel Surfer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2012
03:31 PM
Re: Banner ADS
"RokuJoel" wrote:
the flagfile is just a text file you would set to "true" or "false" to force an update of your image on the devices.
How would he know when to change the flag file back to false? It'd probably make more sense to set the date of the last update in that file, then store that date on the box to compare against. Or, better yet, if he's loading that file anyway, why not just put the url of the images in that file, and update that when a new ad is available.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)

RokuJoel
Binge Watcher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2012
05:10 PM
Re: Banner ADS
Those are probably better solutions.
- Joel
- Joel
IRoad
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2012
05:45 PM
Re: Banner ADS
Thanks RokuJoel
IRoad
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-28-2012
07:27 AM
Re: Banner ADS
Hi,
in the flag.txt i need just to write "true" or I need write more information inside the .txt file....
in the flag.txt i need just to write "true" or I need write more information inside the .txt file....