壁を殴れるChrome拡張機能を作った💪💪💪


こちらはクソアプリ Advent Calendar 2018の11日目の記事です。
クソアプリ作りてぇな〜〜とずっと思ってたので参加できてうれしいです😺

なんかたま〜にイラッとして壁殴りたくなるときありませんか?
壁殴り代行もいいですが、やっぱ自分も壁殴りたいですよね!

ということで壁殴りができるChrome拡張機能「かべなぐり」を作りました!

インストールはこちら

どういう機能?

壁(というかページ)を殴れる拡張機能です。以下の動画を見てください!

インストール方法

Chrome拡張機能ですのでChromeのみです
https://chrome.google.com/webstore/detail/%E3%81%8B%E3%81%B9%E3%81%AA%E3%81%90%E3%82%8A/ogbkmndkngibajlacagingmcpkbbjijp?hl=ja

使い方

インストール後は殴りたいページを再読込してください〜!

インストールするとアドレスバーの横に以下のような殴るマークが出てきます。

ここの背景が赤いと有効、白いと無効になります。ボタンを押すとこれが切り替わります。

有効にしたら、あとはクリックしまくるだけ!
左クリックを長押しするとパワーが溜まってより強く殴れるぞ!!!(音が出るので注意!

どこのサイトでも殴れるんですが、人のサイトで殴るのもなぁ・・・というのは当然あると思うので
殴る用の壁を用意しました。お使いください。
https://youthful-wing-49f21e.netlify.com/

これを作るにあたっての知見

Chrome拡張機能の公開に審査が入った

このChrome拡張機能はどこのサイトでも動きます。
Chrome拡張機能にはマニフェストファイルというものが必要で

  • Chrome拡張機能の名前
  • 説明文
  • アイコン画像のパス
  • 権限

などを設定することができます。

その際の「権限」についてですが、これは

  • ChromeのどんなAPIを使いたいか
  • どのURLで動くようにするか

を設定できます。
設定できる権限一覧はこちら

どのURLで動くようにするかは以下のように指定できます。

"permissions": [
  "tabs",
  "bookmarks",
  "http://www.blogger.com/",
  "http://*.google.com/",
  "unlimitedStorage"
],

今回作った「かべなぐり」はどのURLでも動きます。
そういったChrome拡張機能を作った場合、どうやら審査が必要になったようです。(ちょっと前にもChrome拡張出したがそのときは審査なかった)

Chrome Webストアで公開する前に以下のような警告文が出ました。

公開に遅れが生じます

次の問題により、お客様の拡張機能は詳しい審査が必要となる可能性があります。

- 広範囲のホスト権限

広範囲のホスト権限をリクエストする代わりに、activeTab 権限を使用するか、拡張機能によるアクセスが必要なサイトを指定することをご検討ください。いずれの方法も、不確定の数のサイトへのフルアクセス>を許可する方法と比べて安全で、審査にかかる時間を最小限に抑えることができます。

activeTab 権限では、ユーザーの明示的な操作に対してタブへのアクセスを許可します。

{
...
"permissions": ["activeTab"]
}
拡張機能が特定のサイトでのみ必要な場合は、拡張機能のマニフェストでそのサイトを指定してください。

{
...
"permissions": ["https://example.com/*"]
}

この警告が出たのでpermissionsactiveTabを指定して公開したところ審査待ちになってしまいました。
当初この記事は3日目に出す予定だったのですが、間に合わなさそうなので主催のあんどさんに代わっていただきました。ありがとうございます・・・!!

そして申請してから約4営業日目でようやく公開になりました。
permissionsactiveTabをつけると審査の時間が最小限になると書いてあったので、最小限がこれくらいなのでしょう。
たぶんアプリによって前後するとは思いますので一概には言えません。参考程度に!

最後に

クリックで発火するので非常に邪魔です。殴りたいときだけ「かべなぐり」を有効にしましょう!!!

あとChrome拡張機能は公開日が決まってるなら早めの確認をおすすめします。