@Override public void setup() { super.setup(); requestManager = new AdViewRequestManager(bannerAdView); requestManager2 = new AdViewRequestManager(interstitialAdView); }
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); } } }
@Override public void onReceiveUTResponse(UTAdResponse response) { super.onReceiveUTResponse(response); Clog.e("AdViewRequestManager", "onReceiveUTResponse"); final Ad owner = this.owner.get(); if ((owner != null) && doesAdListExists(response)) { setAdList(response.getAdList()); processNextAd(); } else { Clog.w(Clog.httpRespLogTag, Clog.getString(R.string.response_no_ads)); failed(ResultCode.UNABLE_TO_FILL); } }
@Override public void continueWaterfall(ResultCode reason) { Clog.d(Clog.baseLogTag, "Waterfall continueWaterfall"); if (getAdList() == null || getAdList().isEmpty()) { failed(reason); } else { // Process next available ad response processNextAd(); } }
@Test public void testBannerAdLoaded() { server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.banner())); requestManager = new AdViewRequestManager(bannerAdView); requestManager.execute(); Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); assertCallbacks(true); }
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 executeUTRequest() { requestManager.execute(); // execute main ad request Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); }
@Override public void failed(ResultCode code) { printMediatedClasses(); Clog.e("AdViewRequestManager", code.name()); Ad owner = this.owner.get(); fireTracker(noAdUrl, Clog.getString(R.string.no_ad_url)); if (owner != null) { owner.getAdDispatcher().onAdFailed(code); } }
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); } } }
@Test public void testBannerAdFailed() { server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.blank())); requestManager = new AdViewRequestManager(bannerAdView); requestManager.execute(); Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); assertCallbacks(false); }
private void executeUTRequest() { requestManager.execute(); // execute main ad request Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); }
@Test public void testInterstitialAdLoaded() { server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.banner())); requestManager = new AdViewRequestManager(interstitialAdView); requestManager.execute(); Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); assertCallbacks(true); }
@Override public void setup() { super.setup(); requestManager = new AdViewRequestManager(bannerAdView); adLoadedMultiple = false; adFailedMultiple = false; }
private void executeUTRequest() { requestManager.execute(); // execute main ad request Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); }
@Test public void testBannerNativeAdFailed() { server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.blank())); requestManager = new AdViewRequestManager(bannerAdView); requestManager.execute(); Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); assertCallbacks(false); } }
@Override public void setup() { super.setup(); requestManager = new AdViewRequestManager(bannerAdView); MediatedBannerSuccessful.didPass = false; MediatedBannerSuccessful.didPause = false; MediatedBannerSuccessful.didResume = false; MediatedBannerSuccessful2.didPass = false; }
private void executeUTRequest() { requestManager.execute(); waitForTasks(); // execute main ad request Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); waitForTasks(); // execute main ad request Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); }
@Test public void testInterstitialAdFailed() { server.enqueue(new MockResponse().setResponseCode(200).setBody(TestResponsesUT.blank())); requestManager = new AdViewRequestManager(interstitialAdView); requestManager.execute(); Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); assertCallbacks(false); }
@Override public void setup() { super.setup(); requestManager = new AdViewRequestManager(bannerAdView); request = null; }
@Test public void test2CookiesReset() { server.enqueue(new MockResponse().setResponseCode(200).setHeader("Set-Cookie", TestResponsesUT.UUID_COOKIE_RESET).setBody(TestResponsesUT.banner())); requestManager.execute(); Robolectric.flushBackgroundThreadScheduler(); Robolectric.flushForegroundThreadScheduler(); String wvcookie = WebviewUtil.getCookie(); System.out.println(wvcookie); assertEquals(getUUId2(wvcookie), getUUId2(TestResponsesUT.UUID_COOKIE_RESET)); }