Blokowanie reklam IMA SDK — wyjaśnienie
Google IMA SDK to biblioteka, której używają odtwarzacze wideo do żądania i odtwarzania reklam. Blokowanie jej na poziomie sieci powoduje awarię odtwarzaczy, więc AdOff zastępuje ją sztucznym zamiennikiem, który natychmiast odpowiada na każde żądanie reklamy zdarzeniem „wznów odtwarzanie”: odtwarzacz działa, a reklamy nigdy się nie ładują.
Czym rzeczywiście jest SDK IMA
SDK Interactive Media Ads (IMA) to biblioteka po stronie klienta Google do reklam wideo. Strona, która chce monetizować wideo zazwyczaj nie buduje własnego odtwarzacza reklam: ładuje imasdk.googleapis.com/js/sdkloader/ima3.js (lub wersję dynamiczną ima3_dai.js), inicjalizuje AdDisplayContainer i przekazuje SDK adres URL tagu reklamy. SDK następnie pobiera odpowiedź VAST, wyświetla reklamę wewnątrz odtwarzacza, śledzi wyświetlenia i kwartyle oraz na końcu zwraca kontrolę do treści wydawcy.
Ponieważ jest to jeden wspólny skrypt serwowany z jednej domeny, SDK IMA stanowi najbardziej krytyczny punkt wstrzymania w reklamowaniu wideo w sieci Web: zneutralizowanie go raz sprawia, że każdy odtwarzacz oparty na nim przestaje wyświetlać reklamy.
Cykl życia żądania reklamy
Gdy widz naciśnie przycisk odtwarzania, odtwarzacz zazwyczaj wykonuje tę sekwencję:
- Strona ładuje
ima3.jsz serwerów Google. - Odtwarzacz tworzy moduł ładujący reklamy i żąda reklam za pomocą tagu reklamy wskazującego na serwer reklam.
- SDK pobiera reklamę (zwykle dokument VAST/VMAP przez DoubleClick),parsuje ją i renderuje multimedia reklamy w kontenerze nad wideo.
- Występują piksele śledzenia; odtwarzacz czeka.
- Gdy reklama kończy się (lub występuje błąd), SDK wysyła zdarzenie
CONTENT_RESUME_REQUESTED, a odtwarzacz wznowia rzeczywiste wideo.
Ten ostatni zdarzenie jest kluczowe: gracz jest napisany tak, aby czekać na niego. Ten, kto kontroluje SDK, decyduje o momencie wznowienia treści.
Dlaczego po prostu blokowanie SDK psuje odtwarzacze
Grubym podejściem jest blokowanie imasdk.googleapis.com na poziomie sieci i zakończenie działania. Problem polega na tym, że wiele odtwarzaczy traktuje nieudane lub brakujące SDK jako błąd krytyczny i odmawia uruchomienia wideo, wyświetlając zamiast treści spinner ładowania lub „ścianę wykrycia blokady reklam”.
Dlatego klasyczne blokery na poziomie sieciowym są słabe wobec reklam wideo: mogą zablokować żądanie reklamy, ale nie mogą odpowiedzieć na pytanie odtwarzacza „czy mogę teraz wznowić?”. Tylko coś działającego w imieniu SDK może to zrobić.
Neutralizacja poprzez podstawienie: podejście z „stubem”
AdOff podejmuje inną drogę: zamiast blokować SDK, zastępuje go. W miejsce wstawiany jest szkielet, który imituje publiczne API IMA SDK, dzięki czemu odtwarzacz nadal „widzi” działający SDK — taki, który zachowuje się tak, jakby każda przerwa reklamowa była pusta.
Gdy odtwarzacz wywołuje adsManager.start(), szkielet natychmiast emituje CONTENT_RESUME_REQUESTED. Odtwarzacz natychmiast wznowia treść. Reklama nie jest pobierana, nie jest renderowana, a odtwarzacz nigdy nie przechodzi w stan błędu, ponieważ nigdy nie zauważa czegoś, co brakuje.
Dwa kanały dostarczania tego samego „stubu”
AdOff dostarcza ten sam stub przez dwa kanały, ponieważ różne strony ładują SDK na różne sposoby:
- Injekcja na stronie. Na stronach, które nie są wykluczone, skrypt w głównym świecie definiuje
window.google.imaprzed inicjalizacją odtwarzacza, dzięki czemu pakietowy lub zewnętrznie wczytywany SDK jest zastępowany przez stub. - Przekierowanie sieciowe. Dla zestawu 42 domen europejskich nadawców telewizyjnych reguły declarativeNetRequest przekierowują żądanie plików
ima3.jsiima3_dai.jsdo pliku stuba dołączonego w rozszerzeniu. Strona wczytuje to, co uważa za SDK Google’a, a otrzymuje zamiast tego SDK AdOff.
Oba kanały prowadzą do tego samego wyniku: gracz otrzymuje responsywny SDK, a widz — treści.
Gdzie to podejście działa, a gdzie nie
Wtyczka neutralizuje reklamy oparte na IMA po stronie klienta. Nie wpływa na wstrzykiwanie reklam po stronie serwera (SSAI), w którym reklamy są wplecione bezpośrednio w strumień wideo przed jego dostarczeniem — nie ma tutaj wywołania SDK, którego można by przechwycić. Usługi subskrypcyjne premium, korzystające z własnych procesów reklamowych, są celowo wykluczone, aby ich odtwarzacze działały bez przeszkód.
Główna platforma wideo otrzymuje również dedykowany potok: harmonogram reklam jest usuwany z odpowiedzi odtwarzacza przed jej odczytaniem przez stronę, a wszystko, co się do niej przedrze, jest przyspieszane.
Dlaczego to ma znaczenie dla przyszłości blokowania reklam
Platformy reklamowe przesuwają wagę w stronę SDK po stronie klienta właśnie dlatego, że proste blokery radzą sobie z nimi słabo. Podejście, które odpowiada graczowi, zamiast go wygłodzić, jest odporno: nie zależy od wyliczania wszystkich adresów URL reklam, lecz tylko od własnej umowy SDK, że treść musi zostać wznowiona.
AdOff to darmowe, bezkonieczność tworzenia konta rozszerzenie Manifest V3 dla Chrome, Firefoksa, Safari, Edge i Opery, a jego warstwa neutralizacji wideo jest dostępna dla wszystkich.
Często zadawane pytania
Czy blokowanie SDK IMA to to samo co jego zastąpienie?
Nie. Blokowanie na poziomie sieciowym często uniemożliwia odtwarzanie wideo, ponieważ odtwarzacze czekają na sygnał SDK, że treść może zostać wznowiona. Zastąpienie go „stubem” (wtyczką zastępczą) zapewnia pełną funkcjonalność odtwarzacza, jednocześnie uniemożliwiając żądanie jakichkolwiek reklam.
Co dzieje się, gdy szkielet otrzymuje żądanie reklamy?
Stub udostępnia ten sam interfejs API, którego oczekują odtwarzacze. Gdy otrzyma polecenie rozpoczęcia reklam, natychmiast wyzwala zdarzenie wznowienia treści, dzięki czemu odtwarzanie kontynuuje się bez pobierania ani renderowania jakiejkolwiek reklamy.
Czy szkielet IMA działa przeciwko wstawianiu reklam po stronie serwera?
Nie. W przypadku SSAI reklamy są „szyci” do strumienia wideo po stronie serwera przed jego dostarczeniem, więc nie ma żadnego wywołania SDK po stronie klienta, którego można by przechwycić. Wstawianie po stronie serwera wymaga innych środków przeciwdziałania i nie mieści się w zakresie działania rozszerzenia przeglądarkowego.
Które przeglądarki mogą uruchamiać tego typu rozszerzenie?
AdOff jest zbudowany na Manifest V3 i działa w przeglądarkach Chrome, Firefox, Safari, Edge i Opera. Warstwa neutralizacji IMA jest zawarta w wersji darmowej, bez konieczności tworzenia konta ani rejestracji.
Czy strona może wykryć, że SDK zostało zastąpione?
Takim właśnie jest zadanie warstwy „stealth” (ukrycia): podszywanie się pod dane i przechwytywanie żądań fetch/XHR sprawiają, że środowisko wygląda na zwykłe w oczach skryptów wykrywających blokowanie reklam. Żadna metoda nie jest trwała, ponieważ platformy często zmieniają swoje metody wykrywania.
Więcej na ten temat: Blokowanie reklam w strumieniach: kompletny przewodnik, Reklamy przed, w trakcie i po filmie: wyjaśnienie formatów wideo, Jak działa AdOff – krok po kroku.
Zobacz, jak działa na prawdziwych odtwarzaczach
AdOff zastępuje SDK reklamowe natychmiastowo wznawialnym fragmentem, bezpłatnie dla wszystkich, bez konieczności tworzenia konta.
Zainstaluj AdOff za darmo