DFP VMAP中轴广告使用Roku广告框架(RAF)



我从Roku网站获得的RAF样本代码中运行midroll广告url。我测试了url在谷歌IMA视频套件检查员,它有一个前卷,中卷和后卷广告。该代码适用于没有任何中滚动广告的预滚动url(单个VAST标签)。但是VAMP url的广告都没有在下面的代码中播放。当我打印'adPods.count()'时,我总是得到结果为0。适用于:单,内联,线性广告- http://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=

不适用于VMAP前,中,后滚动,单个广告:http://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpost&cmsid=496&vid=short_onecue&correlator=

代码如下:

Sub PlayContentWithAds(videoContent as Object)
    canvas = CreateObject("roImageCanvas")
    canvas.SetLayer(1, {color: "#000000"})
    canvas.SetLayer(2, {text: "Loading..."})
    canvas.Show()
    adIface = Roku_Ads()
    print "Roku_Ads library version: " + adIface.getLibVersion()
    ' Normally, would set publisher's ad URL here.  Otherwise uses default Roku ad server (with single preroll placeholder ad)
    adIface.setAdUrl("http://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpost&cmsid=496&vid=short_onecue&correlator=")
    adPods = adIface.getAds()
    print "printing adpods count here.."
    print adPods.count()
    playContent = adIface.showAds(adPods) ' show preroll ad pod (if any)

    curPos = 0
    if playContent
        videoScreen = PlayVideoContent(videoContent)
    end if
    while playContent 
        videoMsg = wait(0, videoScreen.GetMessagePort())
        if type(videoMsg) = "roVideoScreenEvent" 
            if videoMsg.isStreamStarted()
                canvas.ClearLayer(2)
            end if
            if videoMsg.isPlaybackPosition()
                ' cache current playback position for resume after midroll ads
                curPos = videoMsg.GetIndex()
            end if
            'check for midroll/postroll ad pods
            adPods = adIface.getAds(videoMsg)
            if adPods <> invalid and adPods.Count() > 0
                ' stop video playback to prepare for midroll ad render
                videoScreen.Close()
                playContent = adIface.showAds(adPods)
                if playContent
                    ' resume video playback after midroll ads
                    videoContent.PlayStart = curPos
                    videoScreen = PlayVideoContent(videoContent)
                end if
                ' if !playContent, User exited ad view, returning to content selection
            end if ' adPods <> invalid
            if videoMsg.isFullResult() or videoMsg.isRequestFailed() or videoMsg.isPartialResult() or videoMsg.isScreenClosed()
                playContent = false
            end if
        end if ' roVideoScreenEvent
    end while
    if type(videoScreen) = "roVideoScreen" then videoScreen.Close()
End Sub

尝试在您的机器上更新固件。软件更新也将更新RAF。旧版本的RAF可能无法正确解析此XML

为子孙后代链接-似乎这个问题在http://forums.roku.com/viewtopic.php?f=34&t=89457

相关内容

  • 没有找到相关文章

最新更新