![見出し画像](https://assets.st-note.com/production/uploads/images/143340280/rectangle_large_type_2_ea3b4d7064f092b5fdf0b627385e0539.png?width=1200)
Androidの広告対策の最適解を探している
みなさんこんにちは。
今回はAndroidスマホの、広告ブロックについての話です。
なぜ広告ブロックをするのか
私は広告ブロックを積極的に使っています。
色々なご意見があろうかと思いますが、主な理由は以下のとおりです。
ブラウジングがまともにできない
近年、Web広告がアグレッシブになり過ぎていて、まともにコンテンツを見られないレベルになっていると感じています。
ページに埋め込まれるだけでなく、ポップアップしたりオーバーラップしたり、動画形式になっていたり、バリエーションが色々あってすごいなと思います。
個人サイトなんかであればまだいいと思いますが、大手のWebメディアまでもそんな状況です。
もはや普通にブラウジングするために広告ブロックせざるを得ないと思います。
広告の質の問題
広告の質も問題で、一般的なコンテンツのWebサイトにも怪しげなECサイトとかアダルトコンテンツまがいの広告が紛れ込んでいます。
スクロールしていて意図せず開いてしまうなど、リスクとして考えなければならないと思っています。
正直、コンテンツ自体は素晴らしくても広告の内容がひどくて評価し難いといったサイトもあります。
私がNoteプラットフォームを使っている理由の一つにも、広告がないという点はあります。
もちろん歴史的背景として、広告を付けることでコンテンツが無償で提供され、両者がメリットを享受してきたことは理解しています。
しかし今の状況では、良質なコンテンツは広告に頼らずに直接マネタイズするほうがブランディングの観点からも良いのではないかと思っています。
データ通信量を抑えるため
広告が大量に埋め込まれている場合、比例してデータ通信量も増加することになります。
私はデータ量少なめのSIMを使っているので、セルラーのデータ通信量はなるべく抑えたいと思っています。
PCでもスマホでも、通信をトレースしてみると思いのほか多くの通信を裏で行っていることがわかります。
全てが広告と関係するものではないですが、広告ブロックすることでギガ消費やバッテリー消費を抑えることができます。
Androidの広告ブロック方法
実際に広告ブロックする手法を考えていきます。
その1:専用アプリを入れる
定番の方法は、専用の広告ブロックアプリを使うことです。
無料のものではAdGuardが筆頭に上がるでしょう。
このアプリはローカルVPNという仕組みを利用して、Android上の各サービスが通信する際にAdGuardアプリを経由させることでフィルタリングを行っているようです。
プロキシみたいなものですね。
私もずっとこれを使っていたのですが、最近あまり調子が良くなく、いつの間にかアプリが停止していたり、通すべき通信が止まってしまうなどの不具合が増えてしまいました。
そこで、他の方法を検討することにしました。
なお、iOSで定番の280BlockerもAndroidで使えるようになりましたが、有償の割にあまり評判が良くなさそうなので、今のところ見送っています。
その2:プライベートDNSを設定する
AndroidのプライベートDNS設定で、特定のDNSサーバーを設定する方法です。
Web広告も、Webページと同様にURLの名前解決をする場合がほとんどです。
そのため名前解決を行うDNSサーバーで広告関連の通信をブロックすれば、広告ブロックが可能になります。
DNSサーバーはデフォルトですとISPのサーバーなどが自動設定されると思いますが、個別に指定することもできます。
Google Public DNSなんかが有名ですね。
前述のAdGuardもパブリックDNSを提供してくれているので、そのホスト名を設定してあげれば広告ブロックの効果が得られます。
ただ、この方法ですと除外設定ができないという問題があります。
実機ベースの話なのですが、AdGuardのブロックを入れると何故かTeamsアプリの通信が止まってしまいます。
AdGuardアプリではアプリ単位の除外設定が可能なのですが、プライベートDNS設定では全ての通信が対象になってしまうため、除外する設定ができません(私が見たかぎり)。
Teamsは仕事上必要なのでこの方法は断念することにしました。
その3:広告ブロック機能を備えたブラウザを使う
AndroidのデフォルトブラウザはChromeですが、もちろん3rdPartyのブラウザを使うこともできます。
Storeにあるブラウザの中には広告ブロックを売りにしているものもたくさんありますから、それらを利用することでWebページの広告はブロックできます。
一部無料アプリの中に出てくる広告は消せませんが、そこは許容するという判断です。
結局広告も同じURLから配信されたら止めようがありませんからね。
ただ、私の場合機種がPixelなので、なるべくChromeを使いたいという思惑がありました。
Pixelを使う理由はGoogleサービスとの垂直統合だと思うので、ブラウザを替えてしまうとどうしてもそこのメリットが失われます。
ということでこの案も見送りました。
その4:ChromeのセキュアDNS設定を利用する
最終的に採用したのがこの方法です。
一言でいうと、その2の方法をChromeのみに適用するということです。
デフォルトのブラウザを変更することなく、Webサイトの広告をブロックすることができます。
Chromeの設定の[プライバシーとセキュリティ]の中に、セキュアDNSの設定があります。
ここでDNSサーバーを指定します。
なお、設定値についてはこちらのポストを参考にさせていただきました。
これはもっと早くに知りたかった情報なんですが、Brave はブクマ等の同期の関係で使えないものの Chrome Android は拡張機能が使えないので広告ブロックできない… とお悩みの方は Chrome のセキュア DNS 設定に https://dns.adguard-dns[.]com/dns-query を入れると広告消せて幸せになれます pic.twitter.com/CBfCoGjxBm
— Torishima / INTP (@izutorishima) November 23, 2023
とりあえずChromeが使えて、Webサイトの広告は防げるということで、この方法でしばらく運用しようと思います。
まとめ
今回は、Android端末で広告をブロックする方法と、その範囲について考えてみました。
メリット・デメリットがそれぞれあり、ベストな手法がどれかというのは難しい問題です。
今のところChromeでブロックできればとりあえずOK、という結論に至っていますが、ここは今後変わってくるかもしれません。
最後に、懸念というほどではありませんが考慮しておいた方がいい点も記載します。
DNSサーバーはURLを元に名前解決を行うため、どのWebサイト(というかサーバー)にアクセスしているかという情報が残ります。
もちろんHTTPS通信であれば、基本的に通信の中身は見られないと思いますが、一応サーバー側にどのような情報が渡されるかは把握しておいた方がいいでしょう。
皆様の参考になれば幸いです。
この記事が気に入ったらサポートをしてみませんか?