@Override protected String getUrl() { return ssmHtmlAdResponse.getAdUrl(); } }.execute();
@Override public boolean isMediated() { // Only SSM / RTBHTML and BannerVideo use AdWebView for rendering return (UTConstants.SSM.equalsIgnoreCase(adResponseData.getContentSource())) ? true : false; }
protected BaseAdResponse popAd() { if ((adList != null) && (adList.getFirst() != null)) { if (adList.getFirst().getContentSource() != null && adList.getFirst().getContentSource().equalsIgnoreCase("csm")){ CSMSDKAdResponse CSMSDKAdResponse = (CSMSDKAdResponse)adList.getFirst(); mediatedClasses.add(CSMSDKAdResponse.getClassName()); } return adList.removeFirst(); } return null; }
protected void loadAdFromVAST(String VASTXML,int width,int height) { // load an ad directly from VASTXML loadedOffscreen = true; AdWebView output = new AdWebView(this, null); RTBVASTAdResponse response = new RTBVASTAdResponse(width,height,AdType.VIDEO.toString(), null,null,"1"); response.setAdContent(VASTXML); response.setContentSource(UTConstants.RTB); response.addToExtras(UTConstants.EXTRAS_KEY_MRAID, true); output.loadAd(response); display(output); }
private void parseVideoCSMResponse(JSONObject ad, String adType, String notifyUrl, String creativeId) { JSONObject csm = JsonUtil.getJSONObject(ad, UTConstants.CSM); if (csm != null) { JSONArray handler = JsonUtil.getJSONArray(csm, RESPONSE_KEY_HANDLER); if (handler != null) { CSMVASTAdResponse csmVideoAd = new CSMVASTAdResponse(-1, -1, adType, null, creativeId); csmVideoAd.setAdJSONContent(ad); csmVideoAd.setAuction_id(String.valueOf(auctionID)); csmVideoAd.setTag_id(tagId); csmVideoAd.setTimeout_ms(timeout); csmVideoAd.setContentSource(UTConstants.CSM_VIDEO); adList.add(csmVideoAd); } } }
private void handleRTBResponse(Ad ownerAd, BaseAdResponse rtbAdResponse) { if (rtbAdResponse instanceof RTBNativeAdResponse) { handleNativeResponse(ownerAd, rtbAdResponse); } else { AdView owner = (AdView) ownerAd; if (rtbAdResponse.getAdContent() != null) { if (UTConstants.AD_TYPE_BANNER.equalsIgnoreCase(rtbAdResponse.getAdType()) || UTConstants.AD_TYPE_VIDEO.equalsIgnoreCase(rtbAdResponse.getAdType())) { // Fire Notify URL - Currently only for Video Ad's if (UTConstants.AD_TYPE_VIDEO.equalsIgnoreCase(rtbAdResponse.getAdType())) { fireTracker(((RTBVASTAdResponse) rtbAdResponse).getNotifyUrl(), Clog.getString(R.string.notify_url)); } // Standard ads or Video Ads initiateWebview(owner, rtbAdResponse); } else { Clog.e(Clog.baseLogTag, "handleRTBResponse failed:: invalid adType::" + rtbAdResponse.getAdType()); continueWaterfall(ResultCode.INTERNAL_ERROR); } } else { continueWaterfall(ResultCode.UNABLE_TO_FILL); } } }
private void fireNotifyUrlForVideo(RTBVASTAdResponse adResponse) { if (UTConstants.AD_TYPE_VIDEO.equalsIgnoreCase(adResponse.getAdType())) { fireTracker(adResponse.getNotifyUrl()); } }
private void handleRTBResponse(VideoAd owner, RTBVASTAdResponse rtbAdResponse) { if (rtbAdResponse.getAdContent() != null) { if (UTConstants.AD_TYPE_VIDEO.equalsIgnoreCase(rtbAdResponse.getAdType())) { // Vast ads handleRTBVASTResponse(owner, rtbAdResponse); } else { continueWaterfall(ResultCode.UNABLE_TO_FILL); } } else { continueWaterfall(ResultCode.UNABLE_TO_FILL); } }
protected void loadAd(BaseAdResponse baseAdResponse) { if (baseAdResponse == null) { fail(); return; } this.baseAdResponse = baseAdResponse; this.creativeId = baseAdResponse.getCreativeId(); this.loadUrl(Settings.getVideoHtmlPage()); }
private void handleCSMVASTAdResponse(VideoAd owner, CSMVASTAdResponse csmvastAdResponse) { if (csmvastAdResponse != null && csmvastAdResponse.getAdJSONContent() != null) { if (UTConstants.AD_TYPE_VIDEO.equalsIgnoreCase(csmvastAdResponse.getAdType())) { // @NOTE no need to fire notify URL here it is taken care by ASTMediationManager.js initiateVastAdView(owner, csmvastAdResponse); } else { continueWaterfall(ResultCode.UNABLE_TO_FILL); } } else { continueWaterfall(ResultCode.UNABLE_TO_FILL); } }
private void parseNativeAds(JSONObject response, String creativeId, String adType) { if (response != null) { ANNativeAdResponse anNativeAdResponse = ANNativeAdResponse.create(response); if (anNativeAdResponse != null) { RTBNativeAdResponse nativeRTB = new RTBNativeAdResponse(1, 1, adType, anNativeAdResponse, null, creativeId); nativeRTB.setContentSource(UTConstants.RTB); adList.add(nativeRTB); } } }
protected void createVastPlayerWithContent() { String inject = String.format("javascript:window.createVastPlayerWithContent('%s','%s')", baseAdResponse.getAdContent(), MediaType.INSTREAM_VIDEO); this.injectJavaScript(inject); }
private void handleRTBVASTResponse(final VideoAd owner, final RTBVASTAdResponse rtbAdResponse) { if (!StringUtil.isEmpty(rtbAdResponse.getAdContent())) { fireNotifyUrlForVideo(rtbAdResponse); if (rtbAdResponse != null && rtbAdResponse.getAdContent() != null) { initiateVastAdView(owner, rtbAdResponse); } else { continueWaterfall(ResultCode.UNABLE_TO_FILL); } } }
protected void loadAdFromHtml(String html, int width, int height) { // load an ad directly from html loadedOffscreen = true; AdWebView output = new AdWebView(this, null); RTBHTMLAdResponse response = new RTBHTMLAdResponse(width, height, getMediaType().toString(), null, getCreativeId()); response.setAdContent(html); output.loadAd(response); display(output); }
@Override protected void onPostExecute(HTTPResponse response) { markLatencyStop(); if (response != null && response.getSucceeded()) { ssmHtmlAdResponse.setAdContent(response.getResponseBody()); if (!StringUtil.isEmpty(ssmHtmlAdResponse.getAdContent())) { handleSSMServerResponse(); } else { onAdFailed(ResultCode.UNABLE_TO_FILL); } } else { onAdFailed(ResultCode.UNABLE_TO_FILL); } }
private void processMediationAd() { String tag = ((CSMVASTAdResponse) baseAdResponse).getCSMVASTAdResponse(); if (tag != null && !tag.isEmpty()) { String inject = String.format("javascript:window.processMediationAd('%s')", tag); this.injectJavaScript(inject); } }
protected void loadAdFromVAST(String VASTXML,int width,int height) { // load an ad directly from VASTXML VideoWebView output = new VideoWebView(this.getContext(),this, null); RTBVASTAdResponse response = new RTBVASTAdResponse(width,height, AdType.VIDEO.toString(), null,null,"1"); response.setAdContent(VASTXML); response.setContentSource(UTConstants.RTB); response.addToExtras(UTConstants.EXTRAS_KEY_MRAID, true); getVideoAdView().setVideoWebView(output); output.loadAd(response); }
private void processNextAd() { // If we're about to dispatch a creative to a banner // that has been resized by ad stretching, reset its size VideoAd owner = this.owner.get(); if (getAdList() != null && !getAdList().isEmpty()) { BaseAdResponse baseAdResponse = popAd(); if (baseAdResponse.getContentSource().equalsIgnoreCase(UTConstants.RTB)) { handleRTBResponse(owner, (RTBVASTAdResponse) baseAdResponse); } else if (baseAdResponse.getContentSource().equalsIgnoreCase(UTConstants.CSM_VIDEO)) { handleCSMVASTAdResponse(owner, (CSMVASTAdResponse) baseAdResponse); } } }
private void handleNativeAd(AdResponse ad) { setAdType(AdType.NATIVE); setCreativeId(ad.getResponseData().getCreativeId()); final NativeAdResponse response = ad.getNativeAdResponse(); response.setCreativeId(ad.getResponseData().getCreativeId()); adListener.onAdLoaded(response); }
private void initiateVastAdView(final VideoAd owner, final BaseAdResponse response) { Clog.d(Clog.videoLogTag, "Creating WebView for::" + response.getContentSource()); VideoWebView adVideoView = new VideoWebView(owner.getContext(), owner, this); owner.getVideoAdView().setVideoWebView(adVideoView); adVideoView.loadAd(response); }