@Override protected String getUrl() { return ssmHtmlAdResponse.getAdUrl(); } }.execute();
private void handleSSM(JSONObject ad, String adType, String creativeId) { JSONObject ssm = JsonUtil.getJSONObject(ad, UTConstants.SSM); if (ssm != null) { JSONArray handler = JsonUtil.getJSONArray(ssm, RESPONSE_KEY_HANDLER); JSONObject banner = JsonUtil.getJSONObject(ssm, UTConstants.AD_TYPE_BANNER); int ssmTimeout = JsonUtil.getJSONInt(ssm, RESPONSE_KEY_TIMEOUT); int height = JsonUtil.getJSONInt(banner, RESPONSE_KEY_HEIGHT); int width = JsonUtil.getJSONInt(banner, RESPONSE_KEY_WIDTH); if (handler != null) { for (int j = 0; j < handler.length(); j++) { JSONObject handlerElement = JsonUtil.getJSONObjectFromArray(handler, j); if (handlerElement != null) { String handlerUrl = JsonUtil.getJSONString(handlerElement, RESPONSE_KEY_HANDLER_URL); if (!StringUtil.isEmpty(handlerUrl)) { String responseUrl = JsonUtil.getJSONString(ssm, RESPONSE_KEY_RESPONSE_URL); SSMHTMLAdResponse ssmAd = new SSMHTMLAdResponse(width, height, adType, responseUrl, getImpressionUrls(ssm), creativeId); ssmAd.setAdUrl(handlerUrl); ssmAd.setSsmTimeout(ssmTimeout); ssmAd.setContentSource(UTConstants.SSM); ssmAd.addToExtras(UTConstants.EXTRAS_KEY_ORIENTATION, orientation); adList.add(ssmAd); } } } } } }
/** * Tests ssm banner response * * @throws Exception */ @Test public void testBannerSSMResponse() throws Exception { String bannerSSMString = TestResponsesUT.mediatedSSMBanner(); utAdResponse = new UTAdResponse(bannerSSMString, null, MediaType.BANNER, "v"); assertNotNull(utAdResponse); LinkedList<BaseAdResponse> list = utAdResponse.getAdList(); assertNotNull(utAdResponse.getAdList()); System.out.println("Printing first"); SSMHTMLAdResponse baseSSMHTMLAdResponse = (SSMHTMLAdResponse) list.getFirst(); assertEquals("ssm", baseSSMHTMLAdResponse.getContentSource()); assertEquals((TestResponsesUT.SSM_URL), baseSSMHTMLAdResponse.getAdUrl()); assertEquals("44863345", baseSSMHTMLAdResponse.getCreativeId()); }
@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 fireResponseURL(SSMHTMLAdResponse ssmHtmlAdResponse, ResultCode result) { if ((ssmHtmlAdResponse == null) || (ssmHtmlAdResponse.getResponseURL() == null) || StringUtil.isEmpty(ssmHtmlAdResponse.getResponseURL())) { Clog.w(Clog.mediationLogTag, Clog.getString(R.string.fire_responseurl_null)); return; } ResponseUrl responseUrl = new ResponseUrl.Builder(ssmHtmlAdResponse.getResponseURL(), result) .latency(getLatencyParam()) .totalLatency(getTotalLatencyParam(caller_requester.get())) .build(); responseUrl.execute(); }
private MediatedSSMAdViewController(AdView owner, UTAdRequester requester, SSMHTMLAdResponse currentAd) { this.caller_requester = new WeakReference<UTAdRequester>(requester); this.ssmHtmlAdResponse = currentAd; this.listener = owner.getAdDispatcher(); this.owner = owner; if (ssmHtmlAdResponse == null || !UTConstants.AD_TYPE_BANNER.equalsIgnoreCase(ssmHtmlAdResponse.getAdType())) { Clog.e(Clog.mediationLogTag, Clog.getString(R.string.mediated_no_ads)); onAdFailed(ResultCode.UNABLE_TO_FILL); } else { startTimeout(); markLatencyStart(); instantiateNewMediatedSSMAd(); } }