Pemblokiran Iklan IMA SDK, dijelaskan
Google IMA SDK adalah pustaka yang digunakan pemutar video untuk meminta dan memutar iklan. Memblokirnya pada tingkat jaringan akan merusak fungsi pemutar, sehingga AdOff menggantinya dengan stub yang menanggapi setiap permintaan iklan dengan event “lanjutkan konten” secara langsung: pemutar tetap berfungsi, namun iklan tidak pernah dimuat.
Apa itu IMA SDK sebenarnya
Interactive Media Ads (IMA) SDK adalah pustaka sisi klien milik Google untuk iklan video. Situs web yang ingin menghasilkan pendapatan dari video biasanya tidak membangun pemutar iklannya sendiri: situs tersebut memuat imasdk.googleapis.com/js/sdkloader/ima3.js (atau varian dinamis ima3_dai.js), menginisialisasi AdDisplayContainer, dan menyerahkan URL tag iklan ke SDK. SDK kemudian mengambil respons VAST, menampilkan iklan di dalam pemutar, melacak tayangan dan persentase penonton (quartiles), serta akhirnya mengembalikan kendali ke konten milik penerbit.
Karena merupakan satu skrip bersama yang disajikan dari satu domain, IMA SDK merupakan titik kritis paling banyak dimanfaatkan dalam periklanan video web: nonaktifkan sekali saja, dan semua pemain yang dibangun di atasnya berhenti menayangkan iklan.
Siklus hidup permintaan iklan
Ketika penonton menekan tombol putar, pemutar biasanya menjalankan urutan ini:
- Halaman memuat
ima3.jsdari server Google. - Pemutar membuat pengambil iklan dan meminta iklan dengan tag iklan yang mengarah ke server iklan.
- SDK mengambil iklan (biasanya dokumen VAST/VMAP melalui DoubleClick), menguraikannya, dan merender media iklan ke dalam wadah di atas video.
- Piksel pelacakan diaktifkan; pemutar menunggu.
- Ketika iklan selesai (atau mengalami kesalahan), SDK mengirimkan
CONTENT_RESUME_REQUESTED, dan pemutar melanjutkan video asli.
Acara terakhir inilah kuncinya: pemain ditulis untuk menunggu acara tersebut. Siapa pun yang mengendalikan SDK mengendalikan kapan konten dilanjutkan.
Mengapa hanya memblokir SDK menyebabkan pemutar berhenti berfungsi
Metode kasar adalah memblokir imasdk.googleapis.com pada level jaringan dan menganggapnya selesai. Masalahnya: banyak pemutar menganggap SDK yang gagal atau tidak tersedia sebagai kesalahan fatal, sehingga menolak memutar video sama sekali, menampilkan spinner pemuatan atau dinding “deteksi pemblokir iklan” alih-alih konten.
Inilah mengapa pemblokir tingkat jaringan klasik lemah terhadap iklan video: mereka dapat menghentikan permintaan iklan, tetapi tidak dapat menjawab pertanyaan pemutar “apakah saya bisa melanjutkan sekarang?”. Hanya sesuatu yang mewakili SDK yang dapat melakukannya.
Netralisasi melalui substitusi: pendekatan stub
AdOff mengambil pendekatan berbeda: alih-alih memblokir SDK, ia menggantinya. Sebuah stub yang meniru API publik IMA SDK dimasukkan, sehingga pemutar tetap “melihat” SDK yang berfungsi—yaitu SDK yang berperilaku seolah setiap jeda iklan kosong.
Ketika pemutar memanggil adsManager.start(), stub segera memancarkan CONTENT_RESUME_REQUESTED. Pemutar langsung melanjutkan konten. Tidak ada iklan yang diambil, tidak ada iklan yang dirender, dan pemutar tidak pernah memasuki keadaan error karena tidak pernah menyadari adanya sesuatu yang hilang.
Dua saluran pengiriman untuk stub yang sama
AdOff mengirimkan stub yang sama melalui dua saluran, karena situs yang berbeda memuat SDK dengan cara yang berbeda:
- Injeksi di halaman. Pada situs yang tidak diecualikan, skrip main-world menentukan
window.google.imasebelum pemutar diinisialisasi, sehingga SDK yang dibundel atau dimuat secara eksternal digantikan oleh stub. - Pengalihan jaringan. Untuk sejumlah 42 domain penyiar Eropa, aturan declarativeNetRequest mengalihkan permintaan ke
ima3.jsdanima3_dai.jske file stub yang dibundel di dalam ekstensi. Halaman memuat apa yang dikira sebagai SDK Google, tetapi sebenarnya memuat SDK AdOff.
Kedua saluran mengarah pada hasil yang sama: pemain mendapatkan SDK yang responsif, dan penonton mendapatkan konten.
Di mana pendekatan ini mencakup dan tidak mencakup
Stub ini menonaktifkan iklan berbasis IMA di sisi klien. Stub ini tidak memengaruhi penyisipan iklan di sisi server (SSAI), di mana iklan disatukan langsung ke dalam aliran video sebelum pengiriman—tidak ada panggilan SDK yang dapat diintercept. Layanan langganan premium yang menggunakan jalur iklan milik mereka sendiri secara sengaja dikecualikan agar pemutar mereka tetap berfungsi.
Platform video utama juga mendapat jalur khusus di atasnya: penjadwalan iklan dihapus dari respons pemutar sebelum halaman membacanya, dan apa pun yang lolos akan di-fast-forward.
Mengapa ini penting bagi masa depan pemblokiran iklan
Platform iklan terus mengalihkan bobot ke SDK sisi klien justru karena pemblokir yang sederhana kesulitan menghadapinya. Pendekatan yang memenuhi pemutar alih-alih menghentikannya bersifat tangguh: tidak bergantung pada pencantuman semua URL iklan, melainkan hanya pada kontrak milik SDK itu sendiri yang menyatakan bahwa konten harus dilanjutkan.
AdOff adalah ekstensi Manifest V3 gratis tanpa akun untuk Chrome, Firefox, Safari, Edge, dan Opera, serta lapisan netralisasi video-nya disertakan untuk semua pengguna.
Pertanyaan umum
Apakah memblokir IMA SDK sama dengan menggantinya?
Tidak. Memblokirnya pada level jaringan sering kali mencegah video diputar, karena pemutar menunggu sinyal dari SDK bahwa konten dapat dilanjutkan kembali. Menggantinya dengan stub membuat pemutar tetap berfungsi sepenuhnya sambil memastikan tidak ada iklan yang pernah diminta.
Apa yang terjadi ketika stub menerima permintaan iklan?
Stub ini mengekspos permukaan API yang sama yang diharapkan oleh pemutar. Ketika diminta memulai iklan, ia segera memicu event resume-konten, sehingga pemutaran berlanjut tanpa ada iklan yang diambil atau ditampilkan.
Apakah stub IMA berfungsi melawan penyisipan iklan di sisi server?
Tidak. Dengan SSAI, iklan dijahit ke dalam aliran video di sisi server sebelum pengiriman, sehingga tidak ada panggilan SDK di sisi klien yang dapat diintercept. Penyisipan di sisi server memerlukan langkah penanggulangan yang berbeda dan berada di luar jangkauan yang dapat ditangani oleh ekstensi browser.
Browser mana saja yang dapat menjalankan ekstensi semacam ini?
AdOff dibangun berbasis Manifest V3 dan berfungsi di Chrome, Firefox, Safari, Edge, dan Opera. Lapisan penetrasi IMA disertakan dalam versi gratis, tanpa memerlukan akun atau pendaftaran.
Apakah sebuah situs dapat mendeteksi bahwa SDK telah diganti?
Itulah tujuan dari lapisan penyamaran: pemalsuan umpan dan intercept fetch/XHR membuat lingkungan tampak biasa bagi skrip anti-pemblokir iklan. Tidak ada metode yang bersifat permanen, karena platform sering mengubah pendeteksiannya.
Selengkapnya: Pemblokiran iklan streaming: panduan lengkap, Pre-roll, mid-roll, post-roll: penjelasan format iklan video, Cara kerja AdOff, lapis demi lapis.
Lihat langsung saat berfungsi pada pemutar asli
AdOff menggantikan SDK iklan dengan stub yang langsung melanjutkan pemutaran, gratis untuk semua orang, tanpa perlu akun.
Pasang AdOff secara gratis