void webViewFinishedLoading() { setOMIDPartner(); createVastPlayerWithContent(); }
protected void dispatchNativeCallback(String url) { url = url.replaceFirst("video://", ""); try { JSONObject videoObject = new JSONObject(url); String eventName = videoObject.getString("event"); JSONObject paramsDictionary = videoObject.getJSONObject("params"); if (eventName.equals("adReady")) { adWebView.success(); adReady = true; } else if (eventName.equals("videoStart")) { // } else if (eventName.equals("video-error") || eventName.equals("Timed-out")) { handleVideoError(); } else if (eventName.equals("video-complete")) { videoComplete = true; stopOMIDAdSession(); } else { Clog.e(Clog.videoLogTag, "Error: Unhandled event::" + url); return; } } catch (Exception e) { Clog.e(Clog.videoLogTag, "Exception: JsonError::" + url); return; } }
videoImplementation = new VideoImplementation(this); videoImplementation.setVASTXML(html); this.loadUrl(Settings.getVideoHtmlPage()); } else {
private void handleVideoError() { if (adReady && !videoComplete) { //AdReady has been fired but video errored before Playback completion stopOMIDAdSession(); adWebView.adView.getAdDispatcher().toggleAutoRefresh(); } else { // AdReady has not been fired yet continue to do waterfall adWebView.fail(); } }
return true; } else if (url.startsWith("video://") && isVideoAd && videoImplementation != null) { videoImplementation.dispatchNativeCallback(url); return true;
@Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); String javascript = "javascript:window.mraid.util.pageFinished()"; if (!firstPageFinished) { injectJavaScript(javascript); if (isMRAIDEnabled) { implementation.webViewFinishedLoading(AdWebView.this, initialMraidStateString); startCheckViewable(); } // Send Back onAdLoaded. For Video Ads it will be sent after we have adReady from player if (isVideoAd && videoImplementation != null) { videoImplementation.webViewFinishedLoading(); } else if (!implementation.isMRAIDTwoPartExpanded) { Clog.i(Clog.baseLogTag, "AdWebView.onPageFinished -- !isMRAIDTwoPartExpanded seding back success"); AdWebView.this.success(); } if(!isVideoAd) { omidAdSession.initAdSession(AdWebView.this,isVideoAd); } firstPageFinished = true; } }
this.isVideoOnScreen = false; videoImplementation.fireViewableChangeEvent();