001package com.intentsoftware.addapptr.ad.vast;
002
003import com.intentsoftware.addapptr.AdNetwork;
004import com.intentsoftware.addapptr.VASTRequestParameters;
005
006import java.util.HashMap;
007
008
009/**
010 * Allows to define request parameters. For more details about parameters names, refer to the
011 * <a href="https://developer.spotxchange.com/content/local/docs/publisher-resources/Supported-Parameters.md">SpotX VAST documentation available online.</a>
012 */
013@SuppressWarnings({"WeakerAccess", "unused"})
014public class SpotXVASTRequestParameters extends VASTRequestParameters {
015
016    /**
017     * Defines the 'app[cat]' request parameter.
018     */
019    public String appCat;
020
021    /**
022     * Defines the 'app[domain]' request parameter.
023     */
024    public String appDomain;
025
026    /**
027     * Defines the 'app[qagmediarating]' request parameter.
028     */
029    public String appQagmediarating;
030
031    /**
032     * Defines the 'app[name]' request parameter.
033     */
034    public String appName;
035
036    /**
037     * Defines the 'app[privacypolicy]' request parameter.
038     */
039    public String appPrivacypolicy;
040
041    /**
042     * Defines the 'app[storeurl]' request parameter.
043     */
044    public String appStoreUrl;
045
046    /**
047     * Defines the 'app[ver]' request parameter.
048     */
049    public String appVersion;
050
051    /**
052     * Defines the 'app[uid]' request parameter.
053     */
054    public String appUId;
055
056    /**
057     * Defines the 'max_bitrate' request parameter.
058     */
059    public Integer maxBitrate;
060
061    /**
062     * Defines the 'max_height' request parameter.
063     */
064    public Integer maxHeight;
065
066    /**
067     * Defines the 'max_width' request parameter.
068     */
069    public Integer maxWidth;
070
071    /**
072     * Defines the 'min_bitrate' request parameter.
073     */
074    public Integer minBitrate;
075
076    /**
077     * Defines the 'min_height' request parameter.
078     */
079    public Integer minHeight;
080
081    /**
082     * Defines the 'min_width' request parameter.
083     */
084    public Integer minWidth;
085
086    /**
087     * Defines the 'player_height' request parameter.
088     */
089    public Integer playerHeight;
090
091    /**
092     * Defines the 'player_width' request parameter.
093     */
094    public Integer playerWidth;
095
096    /**
097     * Defines the 'playtime' request parameter.
098     */
099    public Float playTime;
100
101    /**
102     * Defines the 'regs[coppa]' request parameter.
103     */
104    public Boolean coppa;
105
106    /**
107     * Defines the 'vpix' request parameter.
108     */
109    public String vpix;
110
111    /**
112     * Defines the 'VPAID' request parameter.
113     */
114    public String VPAID;
115
116    /**
117     * Defines the 'content[all_rating]' request parameter.
118     */
119    public String contentAllRating;
120
121    /**
122     * Defines the 'content[cat]' request parameter.
123     */
124    public String contentCat;
125
126    /**
127     * Defines the 'content[company_url]' request parameter.
128     */
129    public String contentCompanyUrl;
130
131    /**
132     * Defines the 'content[qagmediarating]' request parameter.
133     */
134    public String contentQagmediarating;
135
136    /**
137     * Defines the 'content[id]' request parameter.
138     */
139    public String contentId;
140
141    /**
142     * Defines the 'content[series]' request parameter.
143     */
144    public String contentSeries;
145
146    /**
147     * Defines the 'content[title]' request parameter.
148     */
149    public String contentTitle;
150
151    @Override
152    public HashMap<String, String> getRequestParameters() {
153
154        HashMap<String, String> map = new HashMap<>();
155
156        addParameterToRequestMap("app[cat]", appCat, map);
157        addParameterToRequestMap("app[domain]", appDomain, map);
158        addParameterToRequestMap("app[qagmediarating]", appQagmediarating, map);
159        addParameterToRequestMap("app[name]", appName, map);
160        addParameterToRequestMap("app[privacypolicy]", appPrivacypolicy, map);
161        addParameterToRequestMap("app[storeurl]", appStoreUrl, map);
162        addParameterToRequestMap("app[ver]", appVersion, map);
163        addParameterToRequestMap("app[uid]", appUId, map);
164        addParameterToRequestMap("max_bitrate", maxBitrate, map);
165        addParameterToRequestMap("max_height", maxHeight, map);
166        addParameterToRequestMap("max_width", maxWidth, map);
167        addParameterToRequestMap("min_bitrate", minBitrate, map);
168        addParameterToRequestMap("min_height", minHeight, map);
169        addParameterToRequestMap("min_width", minWidth, map);
170        addParameterToRequestMap("player_height", playerHeight, map);
171        addParameterToRequestMap("player_width", playerWidth, map);
172        addParameterToRequestMap("playtime", playTime, map);
173        addParameterToRequestMap("regs[coppa]", coppa, map);
174        addParameterToRequestMap("vpix", vpix, map);
175        addParameterToRequestMap("VPAID", VPAID, map);
176
177        addParameterToRequestMap("content[all_rating]", contentAllRating, map);
178        addParameterToRequestMap("content[cat]", contentCat, map);
179        addParameterToRequestMap("content[company_url]", contentCompanyUrl, map);
180        addParameterToRequestMap("content[qagmediarating]", contentQagmediarating, map);
181        addParameterToRequestMap("content[id]", contentId, map);
182        addParameterToRequestMap("content[series]", contentSeries, map);
183        addParameterToRequestMap("content[title]", contentTitle, map);
184
185        return map;
186    }
187
188    @Override
189    public AdNetwork getAdNetwork() {
190        return AdNetwork.SPOTX;
191    }
192}