ionic3 出現莫名廣告

應用上線出現 有莫名其妙的廣告彈出。javascript

1,DNS被劫持
2,第三方包帶廣告
3,Http被劫持

wifi和4G網都出現了廣告,因此能夠直接排除DNS被劫持的問題  java

廣告頁只會在H5的頁面出現,因此基本能夠排除第三方包帶廣告的問題,因此問題基本能夠肯定是Http被劫持了。web

網上幾乎全部文章的解決方案都是使用Https替換Http。服務器

經過查看Android原生WebView的攔截日誌,發現了廣告頁面的地址是會被攔截到的,而咱們本身的H5頁面放在本身的服務器上,IP和端口號是固定的當前使用服務器的ip和端口,廣告頁的ip和端口確定和咱們是不一致的。攔截了url,將廣告url攔截而且不容許它繼續執行打開。

webView.setWebViewClient( new WebViewClient() {
// Load opened URL in the application instead of standard browser
// application
public boolean shouldOverrideUrlLoading(WebView view, String url) {
showLogInfo("攔截到的url----"+url);
String advertising="http://"+sharedPreferencesUtil.getData(Constant.IP, RequestConfig.IP) +":"+sharedPreferencesUtil.getData(Constant.PORT,RequestConfig.IPPORT);
if (url.contains(pre)) {
Map<String, String> map = getParamsMap(url, pre);
String code = map.get("code");
String data = map.get("data");
parseCode(code, data); return true;
}
else if(!url.contains(advertising)){
showLogError("攔截到植入廣告,廣告的url——"+url); return true; }
else{
return false; } }
}
);
相關文章
相關標籤/搜索