關於打開App的廣告,Android上有各種自動點擊跳過廣告的軟件,比如自動跳過、李跳跳等。 不過iOS由於系統原因,基本不用考慮這類應用(越獄除外)。除了越獄, 我們也可以通過屏蔽應用的廣告地址來屏蔽應用廣告。
原理簡單說明
各種App屏幕廣告經常變化,所以廣告圖片必須通過網絡下載,我們只需要屏蔽它的下載地址,讓它下載失敗就可以了 屏蔽廣告的效果; 當然,如果App內置了廣告圖片,這種方法就不適用了。
1. 安裝網絡調試軟件和抓包軟件
- 網絡調試軟件:用於攔截廣告網址。 本文以Shadowrocket為例。 當然也可以使用Quantumult/Quantumult X/Loon/Surge等同類型軟件。 原理是一樣的。
- 溫馨提示:Shadowrocket這款軟件在國內沒有上架,在美國售價2.99美元。
- 抓包軟件:用於抓取App廣告網址。 本文使用Thor Http。 當然,你也可以使用同類型的免費Stream。
2、使用抓包軟件查找App廣告地址
本教程以網易雲音樂App為例。 看一次廣告(注意有些app有多個屏幕,可以反覆關閉和打開app看看是什麼廣告),下圖是滴滴貨運的廣告
註:因為網易雲 已打開音樂App,廣告圖片已下載到您的手機,無法抓取下載地址。 您需要清除App圖片緩存或卸載並重新安裝; 其他app同理
打開Thor Http抓包開關,然後啟動網易雲音樂app,打開後出現屏幕廣告進入App,可以返回Thor Http關閉 數據包捕獲開關; 然後打開抓包記錄,找到剛才看到的廣告圖片,點擊複製網址; 如下圖
這裡只需要複製廣告網址中的域名,而不是整個圖片的地址。 例如,這裡只需要
iadmusicm.music.126.net
3.將抓到的廣告域名填入Shadowrocket
打開Shadowrocket配置-點擊默認文件(default.conf)-編輯配置-添加新規則,類型選擇DOMAIN
,選項選擇REJECT
,域名就是粘貼剛剛抓到的廣告域名,這裡是 iadmusicmat.music.126.net
添加後點擊保存
,然後回到Shadowrocket主頁,全局路由配置
,最後打開App開關(不需要Node),此時網易雲音樂的開屏廣告已經被屏蔽了; 如果有打開的廣告,先下載到手機上,可以清除app的圖片緩存; 其他app也可以用同樣的方法來屏蔽開屏廣告甚至不限於開屏廣告,只要能找到廣告網址即可~
關於規則類型說明
- DOMAIN- SUFFIX
根據域名後綴
判斷例如輸入baidu.com過濾zhidao.baidu.com、pan.baidu.com等baidu.com後綴站點 - DOMAIN-KEYWORD
根據關鍵字判斷
例如輸入baidu,可以過濾baidu.com, baidu.cn, baidu.net - DOMAIN
等含有baidu字的網站
根據域名判斷
對於 例如輸入www.baidu.com過濾www.baidu.com的網站/* - IP-CIDR
判斷是否是局域網 - GEOIP
判斷服務器地址 - FINAL
剩餘網站
附加說明
如果使用一段時間後,廣告再次出現,或者您沒有打開該應用程序是用Shadowrocket 開關打開的,導致廣告 待下載的本地鏡像; 或者 App 廣告圖片更改了地址,新的抓圖被添加到規則中。
順便分享一個Github上的廣告規則文件:
配置文件:Complete.conf