vast 0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +20 -0
- data/README.md +45 -0
- data/README.rdoc +43 -0
- data/lib/vast.rb +22 -0
- data/lib/vast/ad.rb +78 -0
- data/lib/vast/creative.rb +59 -0
- data/lib/vast/document.rb +40 -0
- data/lib/vast/inline_ad.rb +15 -0
- data/lib/vast/linear_creative.rb +39 -0
- data/lib/vast/mediafile.rb +54 -0
- data/lib/vast_2.0.1.xsd +643 -0
- data/test/ad_test.rb +103 -0
- data/test/creative_test.rb +35 -0
- data/test/document_test.rb +72 -0
- data/test/examples/document_with_no_ads.xml +3 -0
- data/test/examples/document_with_one_inline_ad.xml +80 -0
- data/test/examples/document_with_one_inline_and_one_wrapper_ad.xml +89 -0
- data/test/examples/document_with_one_wrapper_ad.xml +38 -0
- data/test/examples/document_with_two_inline_ads.xml +111 -0
- data/test/examples/invalid_document.xml +3 -0
- data/test/examples/invalid_document_with_missing_ad_type.xml +58 -0
- data/test/examples/invalid_document_with_missing_creative_type.xml +39 -0
- data/test/inline_ad_test.rb +14 -0
- data/test/linear_creative_test.rb +26 -0
- data/test/mediafile_test.rb +19 -0
- data/test/test_helper.rb +13 -0
- metadata +100 -0
data/test/ad_test.rb
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class AdTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_should_initialize_from_document_ad_node
|
6
|
+
document_with_ad = example_file('document_with_one_inline_ad.xml')
|
7
|
+
document = VAST::Document.parse!(document_with_ad)
|
8
|
+
|
9
|
+
ad_node = document.root.xpath('.//Ad').first
|
10
|
+
ad = VAST::Ad.create(ad_node)
|
11
|
+
assert ad.kind_of?(VAST::Ad), "Ad should be kind of Ad"
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_should_initialize_inline_ad
|
15
|
+
document_with_inline_ad = example_file('document_with_one_inline_ad.xml')
|
16
|
+
document = VAST::Document.parse!(document_with_inline_ad)
|
17
|
+
|
18
|
+
ad_node = document.root.xpath('.//Ad').first
|
19
|
+
ad = VAST::Ad.create(ad_node)
|
20
|
+
assert ad.kind_of?(VAST::InlineAd), "Ad should be kind of InLineAd"
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_should_initialize_wrapper_ad
|
24
|
+
document_with_wrapper_ad = example_file('document_with_one_wrapper_ad.xml')
|
25
|
+
document = VAST::Document.parse!(document_with_wrapper_ad)
|
26
|
+
|
27
|
+
ad_node = document.root.xpath('.//Ad').first
|
28
|
+
ad = VAST::Ad.create(ad_node)
|
29
|
+
assert ad.kind_of?(VAST::WrapperAd), "Ad should be kind of WrapperAd"
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_should_raise_error_if_no_ad_type_specified
|
33
|
+
document_with_ad_missing_type = example_file('invalid_document_with_missing_ad_type.xml')
|
34
|
+
document = VAST::Document.parse(document_with_ad_missing_type)
|
35
|
+
|
36
|
+
ad_node = document.root.xpath('.//Ad').first
|
37
|
+
assert_raise VAST::InvalidAdError, "should raise error" do
|
38
|
+
ad = VAST::Ad.create(ad_node)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_ad_should_know_attributes
|
43
|
+
document_file = example_file('document_with_one_inline_ad.xml')
|
44
|
+
document = VAST::Document.parse!(document_file)
|
45
|
+
ad = document.inline_ads.first
|
46
|
+
|
47
|
+
assert_equal "601364", ad.id
|
48
|
+
assert_equal "Acudeo Compatible", ad.ad_system
|
49
|
+
assert_equal URI.parse('http://myErrorURL/error'), ad.error_url
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_ad_should_know_linear_creatives
|
53
|
+
document_file = example_file('document_with_one_inline_ad.xml')
|
54
|
+
document = VAST::Document.parse!(document_file)
|
55
|
+
ad = document.inline_ads.first
|
56
|
+
|
57
|
+
assert_equal 1, ad.linear_creatives.count
|
58
|
+
ad.linear_creatives.each do |creative|
|
59
|
+
assert creative.kind_of?(VAST::LinearCreative)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_ad_should_know_non_linear_creatives
|
64
|
+
document_file = example_file('document_with_one_inline_ad.xml')
|
65
|
+
document = VAST::Document.parse!(document_file)
|
66
|
+
ad = document.inline_ads.first
|
67
|
+
|
68
|
+
assert_equal 1, ad.non_linear_creatives.count
|
69
|
+
ad.non_linear_creatives.each do |creative|
|
70
|
+
assert creative.kind_of?(VAST::NonLinearCreative)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_ad_should_know_companion_creatives
|
75
|
+
document_file = example_file('document_with_one_inline_ad.xml')
|
76
|
+
document = VAST::Document.parse!(document_file)
|
77
|
+
ad = document.inline_ads.first
|
78
|
+
|
79
|
+
assert_equal 2, ad.companion_creatives.count
|
80
|
+
ad.companion_creatives.each do |creative|
|
81
|
+
assert creative.kind_of?(VAST::CompanionCreative)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_ad_should_know_its_main_impression
|
86
|
+
document_file = example_file('document_with_one_inline_ad.xml')
|
87
|
+
document = VAST::Document.parse!(document_file)
|
88
|
+
ad = document.inline_ads.first
|
89
|
+
|
90
|
+
assert ad.impression.kind_of?(URI)
|
91
|
+
assert_equal "http://myTrackingURL/impression", ad.impression.to_s
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_ad_should_know_its_impressions
|
95
|
+
document_with_two_impressions = example_file('document_with_one_inline_ad.xml')
|
96
|
+
document = VAST::Document.parse!(document_with_two_impressions)
|
97
|
+
ad = document.inline_ads.first
|
98
|
+
|
99
|
+
assert_equal 2, ad.impressions.count
|
100
|
+
assert_equal "http://myTrackingURL/impression", ad.impressions.first.to_s
|
101
|
+
assert_equal "http://myTrackingURL/anotherImpression", ad.impressions.last.to_s
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class CreativeTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_should_know_attributes
|
6
|
+
document_with_creative = example_file('document_with_one_inline_ad.xml')
|
7
|
+
document = VAST::Document.parse!(document_with_creative)
|
8
|
+
creative = VAST::Creative.new(document.root.at('Linear'))
|
9
|
+
|
10
|
+
assert_equal "6012", creative.id
|
11
|
+
assert_equal "601364", creative.ad_id
|
12
|
+
assert_equal "1", creative.sequence
|
13
|
+
assert_equal "params=for&request=gohere", creative.ad_parameters
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_should_know_its_ad
|
17
|
+
document_with_creative = example_file('document_with_one_inline_ad.xml')
|
18
|
+
document = VAST::Document.parse!(document_with_creative)
|
19
|
+
creative = VAST::Creative.new(document.root.at('Linear'))
|
20
|
+
|
21
|
+
assert creative.ad.kind_of?(VAST::Ad), "Creative should know it's Ad"
|
22
|
+
assert_equal creative.source_node.ancestors('Ad').first[:id], creative.ad.id
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_should_know_tracking_urls_for_all_events
|
26
|
+
document_with_creative = example_file('document_with_one_inline_ad.xml')
|
27
|
+
document = VAST::Document.parse!(document_with_creative)
|
28
|
+
creative = document.ads.first.linear_creatives.first
|
29
|
+
|
30
|
+
assert_equal "http://myTrackingURL/creativeView", creative.tracking_urls[:creative_view].to_s
|
31
|
+
assert_equal "http://myTrackingURL/start", creative.tracking_urls[:start].to_s
|
32
|
+
## There are more tracking urls, refer to spec for complete list
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class DocumentTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_should_wrap_nokogiri_xml_document
|
6
|
+
document = VAST::Document.new
|
7
|
+
assert document.kind_of?(Nokogiri::XML::Document)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_should_create_valid_document_from_valid_xml_file
|
11
|
+
valid_vast_document_file = example_file('document_with_no_ads.xml')
|
12
|
+
document = VAST::Document.parse(valid_vast_document_file)
|
13
|
+
assert document.valid?
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_should_create_invalid_document_from_invalid_xml_file
|
17
|
+
invalid_vast_document_file = example_file('invalid_document.xml')
|
18
|
+
document = VAST::Document.parse(invalid_vast_document_file)
|
19
|
+
assert !document.valid?
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_should_raise_error_when_bang_parsing_invalid_document
|
23
|
+
invalid_vast_document_file = example_file('invalid_document.xml')
|
24
|
+
assert_raise VAST::InvalidDocumentError do
|
25
|
+
document = VAST::Document.parse!(invalid_vast_document_file)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_empty_document_should_have_no_ads
|
30
|
+
document_with_no_ads = example_file('document_with_no_ads.xml')
|
31
|
+
document = VAST::Document.parse!(document_with_no_ads)
|
32
|
+
assert_equal [], document.ads
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_document_with_one_ad
|
36
|
+
document_with_one_ad = example_file('document_with_one_inline_ad.xml')
|
37
|
+
document = VAST::Document.parse!(document_with_one_ad)
|
38
|
+
|
39
|
+
assert_equal 1, document.ads.count
|
40
|
+
assert document.ads.first.kind_of?(VAST::InlineAd)
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_document_with_more_than_one_ads
|
44
|
+
document_with_two_ads = example_file('document_with_two_inline_ads.xml')
|
45
|
+
document = VAST::Document.parse!(document_with_two_ads)
|
46
|
+
|
47
|
+
assert_equal 2, document.ads.count
|
48
|
+
document.ads.each do |ad|
|
49
|
+
assert ad.kind_of?(VAST::Ad)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_document_should_know_inline_ads
|
54
|
+
document_file = example_file('document_with_one_inline_and_one_wrapper_ad.xml')
|
55
|
+
document = VAST::Document.parse!(document_file)
|
56
|
+
|
57
|
+
assert_equal 1, document.inline_ads.count
|
58
|
+
document.inline_ads.each do |ad|
|
59
|
+
assert ad.kind_of?(VAST::InlineAd)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_document_should_know_wrapper_ads
|
64
|
+
document_file = example_file('document_with_one_inline_and_one_wrapper_ad.xml')
|
65
|
+
document = VAST::Document.parse!(document_file)
|
66
|
+
|
67
|
+
assert_equal 1, document.wrapper_ads.count
|
68
|
+
document.wrapper_ads.each do |ad|
|
69
|
+
assert ad.kind_of?(VAST::WrapperAd)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<!-- VAST document with one InLine ad -->
|
2
|
+
<VAST version="2.0">
|
3
|
+
|
4
|
+
<Ad id="601364">
|
5
|
+
<InLine>
|
6
|
+
<AdSystem>Acudeo Compatible</AdSystem>
|
7
|
+
<AdTitle>VAST 2.0 Instream Test 1</AdTitle>
|
8
|
+
<Description>VAST 2.0 Instream Test 1</Description>
|
9
|
+
<Survey><![CDATA[http://mySurveyURL/survey]]></Survey>
|
10
|
+
<Error><![CDATA[http://myErrorURL/error]]></Error>
|
11
|
+
|
12
|
+
<Impression id="first"><![CDATA[http://myTrackingURL/impression]]></Impression>
|
13
|
+
<Impression id="second"><![CDATA[http://myTrackingURL/anotherImpression]]></Impression>
|
14
|
+
<Creatives>
|
15
|
+
<Creative id="6012" AdID="601364" sequence="1">
|
16
|
+
<Linear>
|
17
|
+
<Duration>00:00:30</Duration>
|
18
|
+
<TrackingEvents>
|
19
|
+
<Tracking event="creativeView"><![CDATA[http://myTrackingURL/creativeView]]></Tracking>
|
20
|
+
|
21
|
+
<Tracking event="start"><![CDATA[http://myTrackingURL/start]]></Tracking>
|
22
|
+
<Tracking event="midpoint"><![CDATA[http://myTrackingURL/midpoint]]></Tracking>
|
23
|
+
<Tracking event="firstQuartile"><![CDATA[http://myTrackingURL/firstQuartile]]></Tracking>
|
24
|
+
<Tracking event="thirdQuartile"><![CDATA[http://myTrackingURL/thirdQuartile]]></Tracking>
|
25
|
+
<Tracking event="complete"><![CDATA[http://myTrackingURL/complete]]></Tracking>
|
26
|
+
<Tracking event="mute"><![CDATA[http://myTrackingURL/mute]]></Tracking>
|
27
|
+
<Tracking event="unmute"><![CDATA[http://myTrackingURL/unmute]]></Tracking>
|
28
|
+
<Tracking event="pause"><![CDATA[http://myTrackingURL/pause]]></Tracking>
|
29
|
+
<Tracking event="rewind"><![CDATA[http://myTrackingURL/rewind]]></Tracking>
|
30
|
+
<Tracking event="resume"><![CDATA[http://myTrackingURL/resume]]></Tracking>
|
31
|
+
<Tracking event="fullscreen"><![CDATA[http://myTrackingURL/fullscreen]]></Tracking>
|
32
|
+
<Tracking event="expand"><![CDATA[http://myTrackingURL/expand]]></Tracking>
|
33
|
+
<Tracking event="collapse"><![CDATA[http://myTrackingURL/collapse]]></Tracking>
|
34
|
+
<Tracking event="acceptInvitation"><![CDATA[http://myTrackingURL/acceptInvitation]]></Tracking>
|
35
|
+
<Tracking event="close"><![CDATA[http://myTrackingURL/close]]></Tracking>
|
36
|
+
</TrackingEvents>
|
37
|
+
<AdParameters><![CDATA[params=for&request=gohere]]></AdParameters>
|
38
|
+
<VideoClicks>
|
39
|
+
<ClickThrough><![CDATA[http://www.tremormedia.com]]></ClickThrough>
|
40
|
+
<ClickTracking id="first"><![CDATA[http://myTrackingURL/click1]]></ClickTracking>
|
41
|
+
<ClickTracking id="second"><![CDATA[http://myTrackingURL/click2]]></ClickTracking>
|
42
|
+
<CustomClick id="customOne"><![CDATA[http://myTrackingURL/custom1]]></CustomClick>
|
43
|
+
<CustomClick id="customTwo"><![CDATA[http://myTrackingURL/custom2]]></CustomClick>
|
44
|
+
</VideoClicks>
|
45
|
+
<MediaFiles>
|
46
|
+
<MediaFile id="firstFile" delivery="progressive" type="video/x-flv" bitrate="500" width="400" height="300" scalable="true" maintainAspectRatio="true"><![CDATA[http://cdnp.tremormedia.com/video/acudeo/Carrot_400x300_500kb.flv]]></MediaFile>
|
47
|
+
</MediaFiles>
|
48
|
+
</Linear>
|
49
|
+
</Creative>
|
50
|
+
<Creative AdID="601364-Companion">
|
51
|
+
<CompanionAds>
|
52
|
+
<Companion width="300" height="250">
|
53
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/Blistex1.jpg</StaticResource>
|
54
|
+
<TrackingEvents>
|
55
|
+
<Tracking event="creativeView">http://myTrackingURL/firstCompanionCreativeView</Tracking>
|
56
|
+
|
57
|
+
</TrackingEvents>
|
58
|
+
|
59
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
60
|
+
</Companion>
|
61
|
+
<Companion width="728" height="90">
|
62
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/728x90_banner1.jpg</StaticResource>
|
63
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
64
|
+
</Companion>
|
65
|
+
|
66
|
+
</CompanionAds>
|
67
|
+
</Creative>
|
68
|
+
<Creative AdID="601365">
|
69
|
+
<NonLinearAds>
|
70
|
+
<NonLinear width="300" height="50">
|
71
|
+
<StaticResource creativeType="image/jpeg"><![CDATA[http://cdn.liverail.com/adasset/228/330/overlay.jpg]]></StaticResource>
|
72
|
+
<NonLinearClickThrough><![CDATA[http://t3.liverail.com/?metric=clickthru&pos=1&pid=1331&coid=135&nid=0&cid=330&kid=228&vid=&amid=&cc=default&pp=&url=&cb=9185&x=&y=&xy=&redirect=http%3A%2F%2Fliverail.com%2F]]></NonLinearClickThrough>
|
73
|
+
</NonLinear>
|
74
|
+
</NonLinearAds>
|
75
|
+
</Creative>
|
76
|
+
</Creatives>
|
77
|
+
</InLine>
|
78
|
+
</Ad>
|
79
|
+
|
80
|
+
</VAST>
|
@@ -0,0 +1,89 @@
|
|
1
|
+
<!-- VAST document with one InLine ad and one Wrapper ad-->
|
2
|
+
<VAST version="2.0">
|
3
|
+
<Ad id="601364">
|
4
|
+
<InLine>
|
5
|
+
<AdSystem>Acudeo Compatible</AdSystem>
|
6
|
+
<AdTitle>VAST 2.0 Instream Test 1</AdTitle>
|
7
|
+
<Description>VAST 2.0 Instream Test 1</Description>
|
8
|
+
<Error>http://myErrorURL/error</Error>
|
9
|
+
|
10
|
+
<Impression>http://myTrackingURL/impression</Impression>
|
11
|
+
<Creatives>
|
12
|
+
<Creative AdID="601364">
|
13
|
+
<Linear>
|
14
|
+
<Duration>00:00:30</Duration>
|
15
|
+
<TrackingEvents>
|
16
|
+
<Tracking event="creativeView">http://myTrackingURL/creativeView</Tracking>
|
17
|
+
|
18
|
+
<Tracking event="start">http://myTrackingURL/start</Tracking>
|
19
|
+
<Tracking event="midpoint">http://myTrackingURL/midpoint</Tracking>
|
20
|
+
<Tracking event="firstQuartile">http://myTrackingURL/firstQuartile</Tracking>
|
21
|
+
<Tracking event="thirdQuartile">http://myTrackingURL/thirdQuartile</Tracking>
|
22
|
+
<Tracking event="complete">http://myTrackingURL/complete</Tracking>
|
23
|
+
</TrackingEvents>
|
24
|
+
|
25
|
+
<VideoClicks>
|
26
|
+
<ClickThrough>http://www.tremormedia.com</ClickThrough>
|
27
|
+
<ClickTracking>http://myTrackingURL/click</ClickTracking>
|
28
|
+
</VideoClicks>
|
29
|
+
<MediaFiles>
|
30
|
+
<MediaFile delivery="progressive" type="video/x-flv" bitrate="500" width="400" height="300" scalable="true" maintainAspectRatio="true">http://cdnp.tremormedia.com/video/acudeo/Carrot_400x300_500kb.flv</MediaFile>
|
31
|
+
</MediaFiles>
|
32
|
+
|
33
|
+
</Linear>
|
34
|
+
</Creative>
|
35
|
+
<Creative AdID="601364-Companion">
|
36
|
+
<CompanionAds>
|
37
|
+
<Companion width="300" height="250">
|
38
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/Blistex1.jpg</StaticResource>
|
39
|
+
<TrackingEvents>
|
40
|
+
<Tracking event="creativeView">http://myTrackingURL/firstCompanionCreativeView</Tracking>
|
41
|
+
|
42
|
+
</TrackingEvents>
|
43
|
+
|
44
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
45
|
+
</Companion>
|
46
|
+
<Companion width="728" height="90">
|
47
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/728x90_banner1.jpg</StaticResource>
|
48
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
49
|
+
</Companion>
|
50
|
+
|
51
|
+
</CompanionAds>
|
52
|
+
</Creative>
|
53
|
+
</Creatives>
|
54
|
+
</InLine>
|
55
|
+
</Ad>
|
56
|
+
<Ad id="602833">
|
57
|
+
<Wrapper>
|
58
|
+
<AdSystem>Acudeo Compatible</AdSystem>
|
59
|
+
<VASTAdTagURI>http://demo.tremormedia.com/proddev/vast/vast_inline_linear.xml</VASTAdTagURI>
|
60
|
+
<Impression>http://myTrackingURL/wrapper/impression</Impression>
|
61
|
+
<Creatives>
|
62
|
+
|
63
|
+
<Creative AdID="602833">
|
64
|
+
<Linear>
|
65
|
+
<TrackingEvents>
|
66
|
+
</TrackingEvents>
|
67
|
+
</Linear>
|
68
|
+
</Creative>
|
69
|
+
<Creative AdID="602833-Companion">
|
70
|
+
<CompanionAds>
|
71
|
+
<Companion width="300" height="250">
|
72
|
+
|
73
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/300x250_banner1.jpg</StaticResource>
|
74
|
+
<TrackingEvents>
|
75
|
+
<Tracking event="creativeView">http://myTrackingURL/wrapper/firstCompanionCreativeView</Tracking>
|
76
|
+
</TrackingEvents>
|
77
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
78
|
+
</Companion>
|
79
|
+
<Companion width="728" height="90">
|
80
|
+
|
81
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/728x90_banner1.jpg</StaticResource>
|
82
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
83
|
+
</Companion>
|
84
|
+
</CompanionAds>
|
85
|
+
</Creative>
|
86
|
+
</Creatives>
|
87
|
+
</Wrapper>
|
88
|
+
</Ad>
|
89
|
+
</VAST>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<!-- VAST document with one Wrapper ad -->
|
2
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
3
|
+
<VAST version="2.0">
|
4
|
+
<Ad id="602833">
|
5
|
+
<Wrapper>
|
6
|
+
<AdSystem>Acudeo Compatible</AdSystem>
|
7
|
+
<VASTAdTagURI>http://demo.tremormedia.com/proddev/vast/vast_inline_linear.xml</VASTAdTagURI>
|
8
|
+
<Impression>http://myTrackingURL/wrapper/impression</Impression>
|
9
|
+
<Creatives>
|
10
|
+
|
11
|
+
<Creative AdID="602833">
|
12
|
+
<Linear>
|
13
|
+
<TrackingEvents>
|
14
|
+
</TrackingEvents>
|
15
|
+
</Linear>
|
16
|
+
</Creative>
|
17
|
+
<Creative AdID="602833-Companion">
|
18
|
+
<CompanionAds>
|
19
|
+
<Companion width="300" height="250">
|
20
|
+
|
21
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/300x250_banner1.jpg</StaticResource>
|
22
|
+
<TrackingEvents>
|
23
|
+
<Tracking event="creativeView">http://myTrackingURL/wrapper/firstCompanionCreativeView</Tracking>
|
24
|
+
</TrackingEvents>
|
25
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
26
|
+
</Companion>
|
27
|
+
<Companion width="728" height="90">
|
28
|
+
|
29
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/728x90_banner1.jpg</StaticResource>
|
30
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
31
|
+
</Companion>
|
32
|
+
</CompanionAds>
|
33
|
+
</Creative>
|
34
|
+
</Creatives>
|
35
|
+
</Wrapper>
|
36
|
+
</Ad>
|
37
|
+
|
38
|
+
</VAST>
|
@@ -0,0 +1,111 @@
|
|
1
|
+
<!-- VAST document with two InLine ads -->
|
2
|
+
<VAST version="2.0">
|
3
|
+
<Ad id="601364">
|
4
|
+
<InLine>
|
5
|
+
<AdSystem>Acudeo Compatible</AdSystem>
|
6
|
+
<AdTitle>VAST 2.0 Instream Test 1</AdTitle>
|
7
|
+
<Description>VAST 2.0 Instream Test 1</Description>
|
8
|
+
<Error>http://myErrorURL/error</Error>
|
9
|
+
|
10
|
+
<Impression>http://myTrackingURL/impression</Impression>
|
11
|
+
<Creatives>
|
12
|
+
<Creative AdID="601364">
|
13
|
+
<Linear>
|
14
|
+
<Duration>00:00:30</Duration>
|
15
|
+
<TrackingEvents>
|
16
|
+
<Tracking event="creativeView">http://myTrackingURL/creativeView</Tracking>
|
17
|
+
|
18
|
+
<Tracking event="start">http://myTrackingURL/start</Tracking>
|
19
|
+
<Tracking event="midpoint">http://myTrackingURL/midpoint</Tracking>
|
20
|
+
<Tracking event="firstQuartile">http://myTrackingURL/firstQuartile</Tracking>
|
21
|
+
<Tracking event="thirdQuartile">http://myTrackingURL/thirdQuartile</Tracking>
|
22
|
+
<Tracking event="complete">http://myTrackingURL/complete</Tracking>
|
23
|
+
</TrackingEvents>
|
24
|
+
|
25
|
+
<VideoClicks>
|
26
|
+
<ClickThrough>http://www.tremormedia.com</ClickThrough>
|
27
|
+
<ClickTracking>http://myTrackingURL/click</ClickTracking>
|
28
|
+
</VideoClicks>
|
29
|
+
<MediaFiles>
|
30
|
+
<MediaFile delivery="progressive" type="video/x-flv" bitrate="500" width="400" height="300" scalable="true" maintainAspectRatio="true">http://cdnp.tremormedia.com/video/acudeo/Carrot_400x300_500kb.flv</MediaFile>
|
31
|
+
</MediaFiles>
|
32
|
+
|
33
|
+
</Linear>
|
34
|
+
</Creative>
|
35
|
+
<Creative AdID="601364-Companion">
|
36
|
+
<CompanionAds>
|
37
|
+
<Companion width="300" height="250">
|
38
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/Blistex1.jpg</StaticResource>
|
39
|
+
<TrackingEvents>
|
40
|
+
<Tracking event="creativeView">http://myTrackingURL/firstCompanionCreativeView</Tracking>
|
41
|
+
|
42
|
+
</TrackingEvents>
|
43
|
+
|
44
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
45
|
+
</Companion>
|
46
|
+
<Companion width="728" height="90">
|
47
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/728x90_banner1.jpg</StaticResource>
|
48
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
49
|
+
</Companion>
|
50
|
+
|
51
|
+
</CompanionAds>
|
52
|
+
</Creative>
|
53
|
+
</Creatives>
|
54
|
+
</InLine>
|
55
|
+
</Ad>
|
56
|
+
|
57
|
+
<Ad id="601365">
|
58
|
+
<InLine>
|
59
|
+
<AdSystem>Acudeo Compatible</AdSystem>
|
60
|
+
<AdTitle>VAST 2.0 Instream Test 1</AdTitle>
|
61
|
+
<Description>VAST 2.0 Instream Test 1</Description>
|
62
|
+
<Error>http://myErrorURL/error</Error>
|
63
|
+
|
64
|
+
<Impression>http://myTrackingURL/impression</Impression>
|
65
|
+
<Creatives>
|
66
|
+
<Creative AdID="601365">
|
67
|
+
<Linear>
|
68
|
+
<Duration>00:00:30</Duration>
|
69
|
+
<TrackingEvents>
|
70
|
+
<Tracking event="creativeView">http://myTrackingURL/creativeView</Tracking>
|
71
|
+
|
72
|
+
<Tracking event="start">http://myTrackingURL/start</Tracking>
|
73
|
+
<Tracking event="midpoint">http://myTrackingURL/midpoint</Tracking>
|
74
|
+
<Tracking event="firstQuartile">http://myTrackingURL/firstQuartile</Tracking>
|
75
|
+
<Tracking event="thirdQuartile">http://myTrackingURL/thirdQuartile</Tracking>
|
76
|
+
<Tracking event="complete">http://myTrackingURL/complete</Tracking>
|
77
|
+
</TrackingEvents>
|
78
|
+
|
79
|
+
<VideoClicks>
|
80
|
+
<ClickThrough>http://www.tremormedia.com</ClickThrough>
|
81
|
+
<ClickTracking>http://myTrackingURL/click</ClickTracking>
|
82
|
+
</VideoClicks>
|
83
|
+
<MediaFiles>
|
84
|
+
<MediaFile delivery="progressive" type="video/x-flv" bitrate="500" width="400" height="300" scalable="true" maintainAspectRatio="true">http://cdnp.tremormedia.com/video/acudeo/Carrot_400x300_500kb.flv</MediaFile>
|
85
|
+
</MediaFiles>
|
86
|
+
|
87
|
+
</Linear>
|
88
|
+
</Creative>
|
89
|
+
<Creative AdID="601365-Companion">
|
90
|
+
<CompanionAds>
|
91
|
+
<Companion width="300" height="250">
|
92
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/Blistex1.jpg</StaticResource>
|
93
|
+
<TrackingEvents>
|
94
|
+
<Tracking event="creativeView">http://myTrackingURL/firstCompanionCreativeView</Tracking>
|
95
|
+
|
96
|
+
</TrackingEvents>
|
97
|
+
|
98
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
99
|
+
</Companion>
|
100
|
+
<Companion width="728" height="90">
|
101
|
+
<StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/728x90_banner1.jpg</StaticResource>
|
102
|
+
<CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
|
103
|
+
</Companion>
|
104
|
+
|
105
|
+
</CompanionAds>
|
106
|
+
</Creative>
|
107
|
+
</Creatives>
|
108
|
+
</InLine>
|
109
|
+
</Ad>
|
110
|
+
|
111
|
+
</VAST>
|