Android-VAST协议解析-xml实现方案(基于Smaato)

smaato的vast解析处理,有点长.

<?xml version="1.0" encoding="utf-8"?>
<VAST version="2.0">
    <Ad id="223626102">
        <AdSystem version="2.0">Smaato</AdSystem>
        // 标题
        <AdTitle>Smaato Mobile Video</AdTitle>
        // 描述
        <Description>Press Play on Mobile Video Advertising</Description>
        <Survey />
        <InLine>
            <Impression><![CDATA[http://ets-eu-west-1.smaato.net/v1/view?sessionId=5124d8ff-eda5-4da0-81ac-0987886b0d8d&adSourceId=85979a9c-7aee-48c2-8cfb-9eb4e25a6fca&originalRequestTime=1523542253549&expires=1523543153549&winurl=lR01FIl5HBPqUGcVDsFK1V8COQwE30Wo7CYapFW6sDycVCRT4jZ-CIsQijfuors1wvCEsqAKp7V1J2_oqWBzU0S5DtP1vvh0sxudsDoT4melTtBi8Po66GA4FZcUYn5IojsAapnNcFZS0-Bj_RdzFLL9wwIxGwlZAGR2qoAVj9Kjv4fBQAdRMKrItcEad96WWwHNpYOm_Nr9Y6asqNh1-vMYD4e9wA6aew1Fx-BsI-Xl9BuWpwvhDS22Eu-Hqz_MmStVI_gYE8emjfe6lIhRmw%3D%3D%7C8CV4DG05IMa2TbSAPnH9rQ%3D%3D]]></Impression>
            <Creatives>
                <Creative AdID="" sequence="1">
                    <Linear>
// 播放时间
                        <Duration>00:00:15</Duration>
// 触发意图
                        <TrackingEvents>
                            <Tracking event="start">
                                <![CDATA[ https://soma.smaato.net/videoStart ]]></Tracking>
                            <Tracking event="midpoint">
                                <![CDATA[ https://soma.smaato.net/midPoint ]]></Tracking>
                            <Tracking event="midpoint">
                                <![CDATA[ https://soma.smaato.net/midPoint2 ]]></Tracking>
                            <Tracking event="firstQuartile">
                                <![CDATA[ https://soma.smaato.net/firstQuartile ]]></Tracking>
                            <Tracking event="firstQuartile">
                                <![CDATA[ https://soma.smaato.net/firstQuartile2 ]]></Tracking>
                            <Tracking event="thirdQuartile">
                                <![CDATA[ https://soma.smaato.net/thirdQuartile ]]></Tracking>
                            <Tracking event="thirdQuartile">
                                <![CDATA[ https://soma.smaato.net/thirdQuartile ]]></Tracking>
                            <Tracking event="complete">
                                <![CDATA[ https://soma.smaato.net/complete ]]></Tracking>
                            <Tracking event="complete">
                                <![CDATA[ https://soma.smaato.net/complete2 ]]></Tracking>
                            <Tracking event="mute">
                                <![CDATA[ https://soma.smaato.net/mute ]]></Tracking>
                            <Tracking event="pause">
                                <![CDATA[ https://soma.smaato.net/pause ]]></Tracking>
                            <Tracking event="fullscreen">
                                <![CDATA[ https://soma.smaato.net/fullscreen ]]></Tracking>
                            <Tracking event="fullscreen">
                                <![CDATA[ https://soma.smaato.net/fullscreen2 ]]></Tracking>
                        </TrackingEvents>
                        <AdParameters />
// 视频点击事件触发链接
                        <VideoClicks>
                            <ClickThrough><![CDATA[ https://www.smaato.com ]]></ClickThrough>
                            <ClickTracking id="DART">
                                <![CDATA[ https://soma.smaato.net/clickTracking ]]></ClickTracking>
                            <ClickTracking id="ThirdParty">
                                <![CDATA[ https://soma.smaato.net/clickTracking2 ]]></ClickTracking>
                            <ClickTracking><![CDATA[
    http://ets-eu-west-1.smaato.net/v1/click?sessionId=5124d8ff-eda5-4da0-81ac-0987886b0d8d&adSourceId=85979a9c-7aee-48c2-8cfb-9eb4e25a6fca&originalRequestTime=1523542253549
    ]]></ClickTracking>
                        </VideoClicks>
// 视频地址
                        <MediaFiles>
                            <MediaFile bitrate="457" delivery="progressive" height="720" id="1"
                                type="video/mp4" width="1280"><![CDATA[
    https://demofiles.smaato.com/creatives/assets/video/Outstream%20Demo%20Asset%20Mockup.mp4?test=true
    ]]></MediaFile>
                        </MediaFiles>
                    </Linear>
                </Creative>
                <Creative AdID="" sequence="1">
// 完成后触发
                    <CompanionAds>
                        <Companion height="250" width="300">
                            <HTMLResource><![CDATA[
    <a href="https://www.smaato.com/resources/adformats/#section1" target="_blank"><img src="https://smt-demofiles.s3.amazonaws.com/creatives/assets/images/600x500.png" alt="" /></a>
    ]]></HTMLResource>
                            <TrackingEvents>
                                <Tracking event="creativeView">
                                    https://myTrackingURL/secondCompanion
                                </Tracking>
                            </TrackingEvents>
                            <CompanionClickTracking><![CDATA[
    http://vet.smaatolabs.net/companionClickTracking?sessionId=5124d8ff-eda5-4da0-81ac-0987886b0d8d&adSourceId=85979a9c-7aee-48c2-8cfb-9eb4e25a6fca&originalRequestTime=1523542253549
    ]]></CompanionClickTracking>
                        </Companion>
                    </CompanionAds>
                </Creative>
            </Creatives>
        </InLine>
    </Ad>
</VAST>

这一段...特别长,我解析都花了2小时.写了一个解析工具类,一直想去优化,这段代码,目前没有什么好的方案.只能先放出来了

public class VASTHelper {

    private static VASTHelper sVastHelper;
    private VAST mVAST;

    private VASTHelper() {
    }

    public static VASTHelper getInstance() {
        if (sVastHelper == null) {
            sVastHelper = new VASTHelper();
        }
        return sVastHelper;
    }

    public VAST getVAST() {
        return mVAST;
    }

    public void parseVAST(final InputStream open) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    XmlPullParser xmlPullParser = Xml.newPullParser();
                    xmlPullParser.setInput(open, "utf-8");
                    VAST                                        vast         = null;
                    List<VAST.AdBean.InLine.Creatives.Creative> creativeList = null;
                    int                                         count        = 0;
                    int                                         type         = xmlPullParser.getEventType();
                    while (type != XmlPullParser.END_DOCUMENT) {
                        switch (type) {
                            case XmlPullParser.START_DOCUMENT:
                                vast = new VAST();
                                count = 0;
                                creativeList = new ArrayList<>();
                                break;
                            case XmlPullParser.START_TAG:
                                //获取开始标签的名字
                                String starttgname = xmlPullParser.getName();
                                creativeList = parseVAST(xmlPullParser, vast, creativeList, count, starttgname);

                                break;
                            case XmlPullParser.END_TAG:
                                if ("vast".equalsIgnoreCase(xmlPullParser.getName())) {
                                    mVAST = vast;
                                } else if (equalsName("TrackingEvents", xmlPullParser.getName())) {
                                    count++;
                                }
                                break;
                        }//细节:
                        type = xmlPullParser.next();
                    }
                } catch (XmlPullParserException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();


    }

    private List<VAST.AdBean.InLine.Creatives.Creative> parseVAST(XmlPullParser xmlPullParser, VAST vast, List<VAST.AdBean.InLine.Creatives.Creative> creativeList, int count, String starttgname) throws IOException, XmlPullParserException {
        if (equalsName(starttgname, "vast")) {
            vast.setVASTVersion(xmlPullParser.getAttributeValue(0));
        } else if (equalsName(starttgname, "ad")) {
            VAST.AdBean adBean = new VAST.AdBean();
            adBean.setId(xmlPullParser.getAttributeValue(0));
            vast.setAd(adBean);
        } else if (equalsName(starttgname, "AdSystem")) {
            VAST.AdBean          ad       = getAdBean(vast);
            VAST.AdBean.AdSystem adSystem = new VAST.AdBean.AdSystem();
            adSystem.setVersion(xmlPullParser.getAttributeValue(0));
            adSystem.setAdTitle(xmlPullParser.nextText());
            ad.setAdSystem(adSystem);
        } else if (equalsName(starttgname, "AdTitle")) {
            VAST.AdBean ad = getAdBean(vast);
            ad.setAdTilte(xmlPullParser.nextText());
        } else if (equalsName(starttgname, "InLine")) {
            VAST.AdBean ad = getAdBean(vast);
            ad.setInLine(new VAST.AdBean.InLine());
        } else if (equalsName(starttgname, "Impression")) {
            VAST.AdBean.InLine inLine = getInLine(vast);
            inLine.setImpression(xmlPullParser.nextText());
        } else if (equalsName(starttgname, "Creatives")) {
            VAST.AdBean.InLine inLine = getInLine(vast);
            inLine.setCreatives(new VAST.AdBean.InLine.Creatives());
        } else if (equalsName(starttgname, "Creative")) {
            VAST.AdBean.InLine.Creatives          creatives = getCreatives(vast);
            VAST.AdBean.InLine.Creatives.Creative creative  = new VAST.AdBean.InLine.Creatives.Creative();
            creative.setAdID(xmlPullParser.getAttributeValue(0));
            creative.setSequence(xmlPullParser.getAttributeValue(1));
            creativeList.add(creative);
            creatives.setCreativeList(creativeList);
        } else if (equalsName(starttgname, "Linear")) {
            VAST.AdBean.InLine.Creatives.Creative        creative = getFristCreative(vast);
            VAST.AdBean.InLine.Creatives.Creative.Linear linear   = new VAST.AdBean.InLine.Creatives.Creative.Linear();
            creative.setLinear(linear);
        } else if (equalsName(starttgname, "Duration")) {
            VAST.AdBean.InLine.Creatives.Creative.Linear linear = getLinear(vast);
            linear.setDuration(xmlPullParser.nextText());
        } else if (equalsName(starttgname, "TrackingEvents")) {
            if (count == 0) {
                VAST.AdBean.InLine.Creatives.Creative.Linear                linear         = getLinear(vast);
                VAST.AdBean.InLine.Creatives.Creative.Linear.TrackingEvents trackingEvents = new VAST.AdBean.InLine.Creatives.Creative.Linear.TrackingEvents();
                trackingEvents.setTrackingList(new ArrayList<VAST.AdBean.InLine.Creatives.Creative.Linear.TrackingEvents.Tracking>());
                linear.setTrackingEvents(trackingEvents);
            } else {
                VAST.AdBean.InLine.Creatives                                                creatives      = getCreatives(vast);
                VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion.TrackingEvents trackingEvents = new VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion.TrackingEvents();
                creativeList = creatives.getCreativeList();
                VAST.AdBean.InLine.Creatives.Creative                        creative     = creativeList.get(count);
                VAST.AdBean.InLine.Creatives.Creative.CompanionAds           companionAds = creative.getCompanionAds();
                VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion companion    = companionAds.getCompanion();

                trackingEvents.setTrackingList(new ArrayList<VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion.TrackingEvents.Tracking>());
                companion.setTrackingEvents(trackingEvents);
            }

        } else if (equalsName(starttgname, "Tracking")) {
            if (count == 0) {
                VAST.AdBean.InLine.Creatives.Creative.Linear                               linear         = getLinear(vast);
                VAST.AdBean.InLine.Creatives.Creative.Linear.TrackingEvents                trackingEvents = linear.getTrackingEvents();
                List<VAST.AdBean.InLine.Creatives.Creative.Linear.TrackingEvents.Tracking> trackingList   = trackingEvents.getTrackingList();
                VAST.AdBean.InLine.Creatives.Creative.Linear.TrackingEvents.Tracking       tracking       = new VAST.AdBean.InLine.Creatives.Creative.Linear.TrackingEvents.Tracking();
                tracking.setEvent(xmlPullParser.getAttributeValue(0));
                tracking.setUrl(xmlPullParser.nextText());
                trackingList.add(tracking);
            } else {
                VAST.AdBean.InLine.Creatives creatives = getCreatives(vast);
                creativeList = creatives.getCreativeList();
                VAST.AdBean.InLine.Creatives.Creative                                                      creative       = creativeList.get(count);
                VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion.TrackingEvents                trackingEvents = creative.getCompanionAds().getCompanion().getTrackingEvents();
                List<VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion.TrackingEvents.Tracking> trackingList   = trackingEvents.getTrackingList();
                VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion.TrackingEvents.Tracking       tracking       = new VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion.TrackingEvents.Tracking();
                tracking.setEvent(xmlPullParser.getAttributeValue(0));
                tracking.setUrl(xmlPullParser.nextText());
                trackingList.add(tracking);
            }

        } else if (equalsName(starttgname, "VideoClicks")) {
            VAST.AdBean.InLine.Creatives.Creative.Linear             linear      = getLinear(vast);
            VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks videoClicks = new VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks();
            videoClicks.setClickTrackings(new ArrayList<VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks.ClickTracking>());
            linear.setVideoClicks(videoClicks);
        } else if (equalsName(starttgname, "ClickThrough")) {
            VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks videoClicks = getVideoClicks(vast);
            videoClicks.setClickThrough(xmlPullParser.nextText());
        } else if (equalsName(starttgname, "ClickTracking")) {
            VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks                     videoClicks    = getVideoClicks(vast);
            List<VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks.ClickTracking> clickTrackings = videoClicks.getClickTrackings();
            VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks.ClickTracking       clickTracking  = new VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks.ClickTracking();
            try {
                clickTracking.setId(xmlPullParser.getAttributeValue(0));
            } catch (Exception e) {
                e.printStackTrace();
            }
            clickTracking.setUrl(xmlPullParser.nextText());
            clickTrackings.add(clickTracking);
        } else if (equalsName(starttgname, "MediaFiles")) {
            VAST.AdBean.InLine.Creatives.Creative.Linear                            linear         = getLinear(vast);
            VAST.AdBean.InLine.Creatives.Creative.Linear.MediaFiles                 mediaFiles     = new VAST.AdBean.InLine.Creatives.Creative.Linear.MediaFiles();
            List<VAST.AdBean.InLine.Creatives.Creative.Linear.MediaFiles.MediaFile> mediaFilesList = new ArrayList<>();
            mediaFilesList.add(new VAST.AdBean.InLine.Creatives.Creative.Linear.MediaFiles.MediaFile());
            mediaFiles.setMediaFiles(mediaFilesList);
            linear.setMediaFiles(mediaFiles);
        } else if (equalsName(starttgname, "MediaFile")) {
            VAST.AdBean.InLine.Creatives.Creative.Linear                            linear        = getLinear(vast);
            VAST.AdBean.InLine.Creatives.Creative.Linear.MediaFiles                 mediaFiles    = linear.getMediaFiles();
            List<VAST.AdBean.InLine.Creatives.Creative.Linear.MediaFiles.MediaFile> mediaFileList = mediaFiles.getMediaFiles();
            VAST.AdBean.InLine.Creatives.Creative.Linear.MediaFiles.MediaFile       mediaFile     = mediaFileList.get(0);
            mediaFile.setBitrate(xmlPullParser.getAttributeValue(0));
            mediaFile.setDelivery(xmlPullParser.getAttributeValue(1));
            mediaFile.setHeight(xmlPullParser.getAttributeValue(2));
            mediaFile.setId(xmlPullParser.getAttributeValue(3));
            mediaFile.setType(xmlPullParser.getAttributeValue(4));
            mediaFile.setWidth(xmlPullParser.getAttributeValue(5));
            mediaFile.setVideoUrl(xmlPullParser.nextText());
        } else if (equalsName(starttgname, "CompanionAds")) {
            VAST.AdBean.InLine.Creatives creatives = getCreatives(vast);
            creativeList = creatives.getCreativeList();
            VAST.AdBean.InLine.Creatives.Creative              creative     = creativeList.get(1);
            VAST.AdBean.InLine.Creatives.Creative.CompanionAds companionAds = new VAST.AdBean.InLine.Creatives.Creative.CompanionAds();
            creative.setCompanionAds(companionAds);
        } else if (equalsName(starttgname, "Companion")) {
            VAST.AdBean.InLine.Creatives creatives = getCreatives(vast);
            creativeList = creatives.getCreativeList();
            VAST.AdBean.InLine.Creatives.Creative                        creative     = creativeList.get(1);
            VAST.AdBean.InLine.Creatives.Creative.CompanionAds           companionAds = creative.getCompanionAds();
            VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion companion    = new VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion();
            companion.setHeight(xmlPullParser.getAttributeValue(0));
            companion.setWidth(xmlPullParser.getAttributeValue(1));
            companionAds.setCompanion(companion);
        } else if (equalsName(starttgname, "HTMLResource")) {
            VAST.AdBean.InLine.Creatives creatives = getCreatives(vast);
            creativeList = creatives.getCreativeList();
            VAST.AdBean.InLine.Creatives.Creative                        creative     = creativeList.get(1);
            VAST.AdBean.InLine.Creatives.Creative.CompanionAds           companionAds = creative.getCompanionAds();
            VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion companion    = companionAds.getCompanion();
            companion.setHTMLResource(xmlPullParser.nextText());
        } else if (equalsName(starttgname, "CompanionClickTracking")) {
            VAST.AdBean.InLine.Creatives creatives = getCreatives(vast);
            creativeList = creatives.getCreativeList();
            VAST.AdBean.InLine.Creatives.Creative                        creative     = creativeList.get(1);
            VAST.AdBean.InLine.Creatives.Creative.CompanionAds           companionAds = creative.getCompanionAds();
            VAST.AdBean.InLine.Creatives.Creative.CompanionAds.Companion companion    = companionAds.getCompanion();
            companion.setCompanionClickTracking(xmlPullParser.nextText());
        }
        return creativeList;
    }

    private VAST.AdBean.InLine.Creatives.Creative.Linear.VideoClicks getVideoClicks(VAST vast) {
        VAST.AdBean.InLine.Creatives.Creative.Linear linear = getLinear(vast);
        return linear.getVideoClicks();
    }

    private VAST.AdBean.InLine.Creatives.Creative.Linear getLinear(VAST vast) {
        VAST.AdBean.InLine.Creatives.Creative fristCreative = getFristCreative(vast);
        return fristCreative.getLinear();
    }

    private VAST.AdBean.InLine.Creatives.Creative getFristCreative(VAST vast) {
        VAST.AdBean.InLine.Creatives creatives = getCreatives(vast);
        return creatives.getCreativeList().get(0);
    }

    private VAST.AdBean.InLine.Creatives getCreatives(VAST vast) {
        VAST.AdBean.InLine inLine = getInLine(vast);
        return inLine.getCreatives();
    }

    private VAST.AdBean.InLine getInLine(VAST vast) {
        VAST.AdBean ad = getAdBean(vast);
        return ad.getInLine();
    }

    private VAST.AdBean getAdBean(VAST vast) {
        return vast.getAd();
    }

    private boolean equalsName(String starttgname, String name) {
        return starttgname.equalsIgnoreCase(name);
    }
}

附上VAST的数据存储类的domain地址

 

public class VAST {
    private String VASTVersion;
    private AdBean ad;

    @Override
    public String toString() {
        return "VAST{" +
                "VASTVersion='" + VASTVersion + '\'' +
                ", ad=" + ad +
                '}';
    }

    public String getVASTVersion() {
        return VASTVersion;
    }

    public void setVASTVersion(String VASTVersion) {
        this.VASTVersion = VASTVersion;
    }

    public AdBean getAd() {
        return ad;
    }

    public void setAd(AdBean ad) {
        this.ad = ad;
    }

    static class AdBean {
        private String id;
        private AdSystem adSystem;
        private String   description;
        private InLine   inLine;
        private String adTilte;

        public AdSystem getAdSystem() {
            return adSystem;
        }

        public void setAdSystem(AdSystem adSystem) {
            this.adSystem = adSystem;
        }

        public InLine getInLine() {
            return inLine;
        }

        public void setInLine(InLine inLine) {
            this.inLine = inLine;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public void setId(String id) {
            this.id = id;
        }

        @Override
        public String toString() {
            return "AdBean{" +
                    "id='" + id + '\'' +
                    ", adSystem=" + adSystem +
                    ", description='" + description + '\'' +
                    ", inLine=" + inLine +
                    '}';
        }

        public String getId() {
            return id;
        }

        public String getAdTilte() {
            return adTilte;
        }

        public void setAdTilte(String adTilte) {
            this.adTilte = adTilte;
        }

        static class AdSystem {
            private String version;
            private String adTitle;

            public String getVersion() {
                return version;
            }

            public void setVersion(String version) {
                this.version = version;
            }

            public String getAdTitle() {
                return adTitle;
            }

            public void setAdTitle(String adTitle) {
                this.adTitle = adTitle;
            }

            @Override
            public String toString() {
                return "AdSystem{" +
                        "version='" + version + '\'' +
                        ", adTitle='" + adTitle + '\'' +
                        '}';
            }
        }


        static class InLine {
            private String    impression;
            private Creatives creatives;

            public String getImpression() {
                return impression;
            }

            public void setImpression(String impression) {
                this.impression = impression;
            }

            public Creatives getCreatives() {
                return creatives;
            }

            public void setCreatives(Creatives creatives) {
                this.creatives = creatives;
            }

            @Override
            public String toString() {
                return "InLine{" +
                        "impression='" + impression + '\'' +
                        ", creatives=" + creatives +
                        '}';
            }

            static class Creatives {
                private List<Creative> creativeList;

                public List<Creative> getCreativeList() {
                    return creativeList;
                }

                public void setCreativeList(List<Creative> creativeList) {
                    this.creativeList = creativeList;
                }

                @Override
                public String toString() {
                    return "Creatives{" +
                            "creativeList=" + creativeList +
                            '}';
                }

                static class Creative {
                    private Linear       linear;
                    private String       AdID;
                    private String       sequence;
                    private CompanionAds mCompanionAds;

                    public Linear getLinear() {
                        return linear;
                    }

                    public void setLinear(Linear linear) {
                        this.linear = linear;
                    }

                    public String getAdID() {
                        return AdID;
                    }

                    public void setAdID(String adID) {
                        AdID = adID;
                    }

                    public String getSequence() {
                        return sequence;
                    }

                    public void setSequence(String sequence) {
                        this.sequence = sequence;
                    }

                    public CompanionAds getCompanionAds() {
                        return mCompanionAds;
                    }

                    public void setCompanionAds(CompanionAds companionAds) {
                        mCompanionAds = companionAds;
                    }

                    @Override
                    public String toString() {
                        return "Creative{" +
                                "linear=" + linear +
                                ", AdID='" + AdID + '\'' +
                                ", sequence='" + sequence + '\'' +
                                ", mCompanionAds=" + mCompanionAds +
                                '}';
                    }

                    static class Linear {
                        private String           Duration;
                        private TrackingEvents mTrackingEvents;
                        private VideoClicks    mVideoClicks;
                        private MediaFiles     mMediaFiles;


                        public String getDuration() {
                            return Duration;
                        }

                        public void setDuration(String duration) {
                            Duration = duration;
                        }

                        public TrackingEvents getTrackingEvents() {
                            return mTrackingEvents;
                        }

                        public void setTrackingEvents(TrackingEvents trackingEvents) {
                            mTrackingEvents = trackingEvents;
                        }

                        public VideoClicks getVideoClicks() {
                            return mVideoClicks;
                        }

                        public void setVideoClicks(VideoClicks videoClicks) {
                            mVideoClicks = videoClicks;
                        }

                        public MediaFiles getMediaFiles() {
                            return mMediaFiles;
                        }

                        public void setMediaFiles(MediaFiles mediaFiles) {
                            mMediaFiles = mediaFiles;
                        }

                        @Override
                        public String toString() {
                            return "Linear{" +
                                    "Duration=" + Duration +
                                    ", mTrackingEvents=" + mTrackingEvents +
                                    ", mVideoClicks=" + mVideoClicks +
                                    ", mMediaFiles=" + mMediaFiles +
                                    '}';
                        }

                        static class TrackingEvents {
                            private List<Tracking> mTrackingList;

                            public List<Tracking> getTrackingList() {
                                return mTrackingList;
                            }

                            public void setTrackingList(List<Tracking> trackingList) {
                                mTrackingList = trackingList;
                            }

                            @Override
                            public String toString() {
                                return "TrackingEvents{" +
                                        "mTrackingList=" + mTrackingList +
                                        '}';
                            }

                            static class Tracking {
                                private String event;
                                private String url;

                                public String getEvent() {
                                    return event;
                                }

                                public void setEvent(String event) {
                                    this.event = event;
                                }

                                public String getUrl() {
                                    return url;
                                }

                                public void setUrl(String url) {
                                    this.url = url;
                                }

                                @Override
                                public String toString() {
                                    return "Tracking{" +
                                            "event='" + event + '\'' +
                                            ", url='" + url + '\'' +
                                            '}';
                                }
                            }
                        }

                        static class VideoClicks {
                            private String              ClickThrough;
                            private List<ClickTracking> mClickTrackings;

                            public String getClickThrough() {
                                return ClickThrough;
                            }

                            public void setClickThrough(String clickThrough) {
                                ClickThrough = clickThrough;
                            }

                            public List<ClickTracking> getClickTrackings() {
                                return mClickTrackings;
                            }

                            public void setClickTrackings(List<ClickTracking> clickTrackings) {
                                mClickTrackings = clickTrackings;
                            }

                            @Override
                            public String toString() {
                                return "VideoClicks{" +
                                        "ClickThrough='" + ClickThrough + '\'' +
                                        ", mClickTrackings=" + mClickTrackings +
                                        '}';
                            }

                            static class ClickTracking {
                                private String id;
                                private String url;

                                public String getId() {
                                    return id;
                                }

                                public void setId(String id) {
                                    this.id = id;
                                }

                                public String getUrl() {
                                    return url;
                                }

                                public void setUrl(String url) {
                                    this.url = url;
                                }

                                @Override
                                public String toString() {
                                    return "ClickTracking{" +
                                            "id='" + id + '\'' +
                                            ", url='" + url + '\'' +
                                            '}';
                                }
                            }
                        }

                        static class MediaFiles {
                            private List<MediaFile> mMediaFiles;

                            public List<MediaFile> getMediaFiles() {
                                return mMediaFiles;
                            }

                            public void setMediaFiles(List<MediaFile> mediaFiles) {
                                mMediaFiles = mediaFiles;
                            }

                            @Override
                            public String toString() {
                                return "MediaFiles{" +
                                        "mMediaFiles=" + mMediaFiles +
                                        '}';
                            }

                            static class MediaFile {
                                private String bitrate;
                                private String delivery;
                                private String height;
                                private String width;
                                private String id;
                                private String type;
                                private String videoUrl;

                                public String getBitrate() {
                                    return bitrate;
                                }

                                public void setBitrate(String bitrate) {
                                    this.bitrate = bitrate;
                                }

                                public String getDelivery() {
                                    return delivery;
                                }

                                public void setDelivery(String delivery) {
                                    this.delivery = delivery;
                                }

                                public String getHeight() {
                                    return height;
                                }

                                public void setHeight(String height) {
                                    this.height = height;
                                }

                                public String getWidth() {
                                    return width;
                                }

                                public void setWidth(String width) {
                                    this.width = width;
                                }

                                public String getId() {
                                    return id;
                                }

                                public void setId(String id) {
                                    this.id = id;
                                }

                                public String getType() {
                                    return type;
                                }

                                public void setType(String type) {
                                    this.type = type;
                                }

                                public String getVideoUrl() {
                                    return videoUrl;
                                }

                                public void setVideoUrl(String videoUrl) {
                                    this.videoUrl = videoUrl;
                                }

                                @Override
                                public String toString() {
                                    return "MediaFile{" +
                                            "bitrate='" + bitrate + '\'' +
                                            ", delivery='" + delivery + '\'' +
                                            ", height='" + height + '\'' +
                                            ", width='" + width + '\'' +
                                            ", id='" + id + '\'' +
                                            ", type='" + type + '\'' +
                                            ", videoUrl='" + videoUrl + '\'' +
                                            '}';
                                }
                            }
                        }
                    }

                    static class CompanionAds {
                        private Companion companion;

                        public Companion getCompanion() {
                            return companion;
                        }

                        public void setCompanion(Companion companion) {
                            this.companion = companion;
                        }

                        @Override
                        public String toString() {
                            return "CompanionAds{" +
                                    "companion=" + companion +
                                    '}';
                        }

                        static class Companion {
                            private String         width;
                            private String         height;
                            private String         HTMLResource;
                            private TrackingEvents mTrackingEvents;
                            private String         CompanionClickTracking;

                            public String getWidth() {
                                return width;
                            }

                            public void setWidth(String width) {
                                this.width = width;
                            }

                            public String getHeight() {
                                return height;
                            }

                            public void setHeight(String height) {
                                this.height = height;
                            }

                            public String getHTMLResource() {
                                return HTMLResource;
                            }

                            public void setHTMLResource(String HTMLResource) {
                                this.HTMLResource = HTMLResource;
                            }

                            public TrackingEvents getTrackingEvents() {
                                return mTrackingEvents;
                            }

                            public void setTrackingEvents(TrackingEvents trackingEvents) {
                                mTrackingEvents = trackingEvents;
                            }

                            public String getCompanionClickTracking() {
                                return CompanionClickTracking;
                            }

                            public void setCompanionClickTracking(String companionClickTracking) {
                                CompanionClickTracking = companionClickTracking;
                            }

                            @Override
                            public String toString() {
                                return "Companion{" +
                                        "width='" + width + '\'' +
                                        ", height='" + height + '\'' +
                                        ", HTMLResource='" + HTMLResource + '\'' +
                                        ", mTrackingEvents=" + mTrackingEvents +
                                        ", CompanionClickTracking='" + CompanionClickTracking + '\'' +
                                        '}';
                            }

                            static class TrackingEvents {
                                private List<Tracking> mTrackingList;

                                public List<Tracking> getTrackingList() {
                                    return mTrackingList;
                                }

                                public void setTrackingList(List<Tracking> trackingList) {
                                    mTrackingList = trackingList;
                                }

                                @Override
                                public String toString() {
                                    return "TrackingEvents{" +
                                            "mTrackingList=" + mTrackingList +
                                            '}';
                                }

                                static class Tracking {
                                    private String event;
                                    private String url;

                                    public void setEvent(String event) {
                                        this.event = event;
                                    }

                                    public void setUrl(String url) {
                                        this.url = url;
                                    }

                                    @Override
                                    public String toString() {
                                        return "Tracking{" +
                                                "event='" + event + '\'' +
                                                ", url='" + url + '\'' +
                                                '}';
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值