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 processNextAd() { // If we're about to dispatch a creative to a banner // that has been resized by ad stretching, reset its size Ad owner = null; owner = this.owner.get(); if ((owner != null) && getAdList() != null && !getAdList().isEmpty()) { final BaseAdResponse baseAdResponse = popAd(); if (UTConstants.RTB.equalsIgnoreCase(baseAdResponse.getContentSource())) { handleRTBResponse(owner, baseAdResponse); } else if (UTConstants.CSM.equalsIgnoreCase(baseAdResponse.getContentSource())) { handleCSMResponse(owner, (CSMSDKAdResponse) baseAdResponse); } else if (UTConstants.SSM.equalsIgnoreCase(baseAdResponse.getContentSource())) { handleSSMResponse((AdView) owner, (SSMHTMLAdResponse) baseAdResponse); } else { Clog.e(Clog.baseLogTag, "processNextAd failed:: invalid content source:: " + baseAdResponse.getContentSource()); continueWaterfall(ResultCode.INTERNAL_ERROR); } } }
private void handleCSMResponse(Ad ownerAd, CSMSDKAdResponse csmSdkAdResponse) { Clog.i(Clog.baseLogTag, "Mediation type is CSM, passing it to MediatedAdViewController."); if (csmSdkAdResponse.getAdType().equals(UTConstants.AD_TYPE_NATIVE)) { mediatedNativeAdController = MediatedNativeAdController.create(csmSdkAdResponse, AdViewRequestManager.this); } else { AdView owner = (AdView) ownerAd; if (owner.getMediaType().equals(MediaType.BANNER)) { controller = MediatedBannerAdViewController.create( (Activity) owner.getContext(), AdViewRequestManager.this, csmSdkAdResponse, owner.getAdDispatcher()); } else if (owner.getMediaType().equals(MediaType.INTERSTITIAL)) { controller = MediatedInterstitialAdViewController.create( (Activity) owner.getContext(), AdViewRequestManager.this, csmSdkAdResponse, owner.getAdDispatcher()); } else { Clog.e(Clog.baseLogTag, "MediaType type can not be identified."); continueWaterfall(ResultCode.INVALID_REQUEST); } } }