そこまで頑張るくらいならPremium契約しなよ...と言われても、どうにかマクロで広告を自動スキップしたい。むしろ自動スキップする仕組み作ること自体が楽しいのでしょうがない。
有志が配ってくれてるテンプレートのほとんどが英語版で日本語対応させる手間がちょっとあったり、日本語環境が特殊なのかテキストの判定が上手くできなくて修正に時間が掛かったのでシェアする。
※このマクロはW!lloO氏の「YouTube : Auto skip ads 🚫 V3」をベースとして多言語対応させています。
とりあえず.macroファイルくれさいの人は こちらからダウンロード してくれさい。
機能概要
- YouTubeアプリ上で「広告主のサイトにアクセス」が表示されたら → 音量を0にして画面を暗くする
- YouTubeアプリ上で「スキップ」ボタンが表示されたら → スキップボタンをタップして、音量と画面の明るさを元に戻す
- YouTube上の「広告主のサイトにアクセス」が消えたら → 音量と画面の明るさを元に戻す
- YouTubeアプリを終了または画面をOFFにしたら → 音量と画面の明るさを元に戻す
問題:タップさせたい「スキップ」というテキストを読み取ってくれない
「YouTube : Auto skip ads 🚫 V3」では英語環境が前提のため「Skip ad」というテキストを画面上から探してタップするという動き。
日本語環境では「スキップ」と表示されるので、以前までは「スキップ*」と設定すれば問題なく動いていた。
しかし、なぜか現在は動かない。
対策:テキストではなくコンテンツIDで指定する
英語で動いて日本語で動かないならテキストではない方法で要素を取得できればいい。
コンテンツIDを用いた指定に変更することで正常動作できた。
指定するIDは com.google.android.youtube:id/skip_ad_button
。めっちゃ分かりやすいIDで助かる。
広告主のサイトにアクセス もコンテンツID指定に変更 com.google.android.youtube:id/player_learn_more_button
。