Witajcie.
Adblock Plus to program open source i jego źródło można obejrzeć tu:
https://hg.adblockplus.org/adblockplusandroid/summary
Proponuję zwrócić uwagę na klasy ProxyService.java (tam zmieniane jest proxy na systemach >3.1 i próba nadpisania iptables na telefonach zrootowanych) i na ProxySettings.java - jest tam metoda setConnectionProxy. Oni z wykorzystaniem tej metody ustawiają proxy systemowe na localhost i wybrany przez siebie port i analizują ruch na tym porcie. Mnie udało się w ramach testu ustawić to proxy przy starcie mojej gry z powrotem na "puste" wartości w ten sposób:
ProxySettings.setConnectionProxy(getApplicationContext(), "", 0, "");
i... reklamy wyświetlają się tak jak powinny pomimo działania Adblocka.
Ostatecznie aplikacja androidowa to nie przeglądarka internetowa. Twórca strony internetowej niewiele może zrobić, ale moja apka ma taką samą możliwość wpływania na ustawienia systemowe w ramach dozwolonych uprawnień jak Adblock Plus. To znaczy że każdą zmianę którą oni zrobią, nasza apka może odwrócić, nieprawda?
Ponadto, jakieś pół roku temu miałem telefon z Admoba - mieli jakąś akcję dawania rad, w jaki sposób zoptymalizować działanie reklam. (generalnie namawiali mnie na robienie apek na tablety). W każdym razie został mi z tego kontakt mailowy do jednej żywej osoby w Google 🙂 która odpowiada na moje maile, choć staram się tego nie nadużywać. Napisałem już do niego lament, że podstawy biznesu mojego i Google 🙂 są tu zagrożone 🙂