1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
crate::declare_test_v4_2!(
"Inline_Simple",
Vast {
version: Cow::Borrowed("4.2"),
ads: vec![Ad {
id: Some(Cow::Borrowed("20001")),
in_line: Some(InLine {
ad_system: AdSystem {
version: Some(Cow::Borrowed("1")),
name: Cow::Borrowed("iabtechlab"),
},
ad_title: Cow::Borrowed("Inline Simple Ad"),
impressions: vec![Impression {
id: Some(Cow::Borrowed("Impression-ID")),
uri: Cow::Borrowed("https://example.com/track/impression"),
},],
ad_serving_id: Cow::Borrowed("a532d16d-4d7f-4440-bd29-2ec05553fc80"),
categories: vec![Category {
authority: Cow::Borrowed("https://www.iabtechlab.com/categoryauthority"),
code: Cow::Borrowed("AD CONTENT description category")
}],
advertiser: Some(Cow::Borrowed("IAB Sample Company")),
errors: vec![Cow::Borrowed("https://example.com/error"),],
ad_verifications: Some(Default::default()),
creatives: Creatives {
creatives: vec![Creative {
id: Some(Cow::Borrowed("5480")),
ad_id: Some(Cow::Borrowed("2447226")),
sequence: Some(1),
universal_ad_id: vec![UniversalAdId {
id_registry: Cow::Borrowed("Ad-ID"),
id: Cow::Borrowed("8465")
},],
linear: Some(Linear {
duration: Some(Duration::new(0, 0, 16, 0)),
media_files: Some(MediaFiles {
media_files: vec![
MediaFile {
delivery: DeliveryProtocol::Progressive,
mime_type: Cow::Borrowed("video/mp4"),
width: 1280,
height: 720,
codec: Some(Cow::Borrowed("H.264")),
id: Some(Cow::Borrowed("5241")),
bitrate: Some(2000),
min_bitrate: Some(1500),
max_bitrate: Some(2500),
scalable: Some(true),
maintain_aspect_ratio: Some(true),
uri: Cow::Borrowed(
"https://iab-publicfiles.s3.amazonaws.com/vast/VAST-4.0-Short-Intro.mp4"
),
..Default::default()
},
MediaFile {
delivery: DeliveryProtocol::Progressive,
mime_type: Cow::Borrowed("video/mp4"),
width: 854,
height: 480,
codec: Some(Cow::Borrowed("H.264")),
id: Some(Cow::Borrowed("5244")),
bitrate: Some(1000),
min_bitrate: Some(700),
max_bitrate: Some(1500),
scalable: Some(true),
maintain_aspect_ratio: Some(true),
uri: Cow::Borrowed(
"https://iab-publicfiles.s3.amazonaws.com/vast/VAST-4.0-Short-Intro-mid-resolution.mp4"
),
..Default::default()
},
MediaFile {
delivery: DeliveryProtocol::Progressive,
mime_type: Cow::Borrowed("video/mp4"),
width: 640,
height: 360,
codec: Some(Cow::Borrowed("H.264")),
id: Some(Cow::Borrowed("5246")),
bitrate: Some(600),
min_bitrate: Some(500),
max_bitrate: Some(700),
scalable: Some(true),
maintain_aspect_ratio: Some(true),
uri: Cow::Borrowed(
"https://iab-publicfiles.s3.amazonaws.com/vast/VAST-4.0-Short-Intro-low-resolution.mp4"
),
..Default::default()
},
],
..Default::default()
}),
tracking_events: Some(TrackingEvents {
trackings: vec![
Tracking {
event: TrackingEvent::Start,
offset: Default::default(),
uri: Cow::Borrowed("https://example.com/tracking/start"),
},
Tracking {
event: TrackingEvent::Progress,
offset: Some(Offset::Duration(Duration::new(
00, 00, 10, 0
))),
uri: Cow::Borrowed(
"http://example.com/tracking/progress-10"
),
},
Tracking {
event: TrackingEvent::FirstQuartile,
offset: Default::default(),
uri: Cow::Borrowed(
"https://example.com/tracking/firstQuartile"
),
},
Tracking {
event: TrackingEvent::MidPoint,
offset: Default::default(),
uri: Cow::Borrowed("https://example.com/tracking/midpoint"),
},
Tracking {
event: TrackingEvent::ThirdQuartile,
offset: Default::default(),
uri: Cow::Borrowed(
"https://example.com/tracking/thirdQuartile"
),
},
Tracking {
event: TrackingEvent::Complete,
offset: Default::default(),
uri: Cow::Borrowed("https://example.com/tracking/complete"),
},
]
}),
video_clicks: Some(VideoClicks {
click_through: Some(ClickThrough {
id: Some(Cow::Borrowed("blog")),
uri: Cow::Borrowed("https://iabtechlab.com")
}),
..Default::default()
}),
..Default::default()
}),
..Default::default()
},]
},
..Default::default()
}),
..Default::default()
}],
..Default::default()
}
);