vast 0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|