かずきち。の日記

サーバサイドエンジニアのつぶやき

GoogleChromeはたった500円でアプリを1日で世界中に公開ができる

アプリを作ってみよう

チームでプログラミングなどをするとみんなで集まって「ああだ」「こうだ」と議論する。

こんな光景はよくあることで、自分の意見が通らないことも多い。
だったら自分でアプリ作ったほうが早いのでは?と思い、
アプリを作ってみたいなーと思い、開発者ライセンスだけ買い切り500円で数年前に購入。
年末ということでさくっとコードを書いてみた。

なんのプログラムを書くが非常に重要

勉強とプログラムが異なる点が一つある。
勉強は難しい問題を解ける人がいい大学に行くが…

アプリは難しいプログラムを書けたからみんなに使ってもらえるアプリを作れるわけではない。

重要なことはプログラムの難しさよりもどれだけそのプログラムが利用者の問題解決をできるかの方が重要である。
ある程度の技術力を得たら、あとは技術力の差よりもアイディアの差である部分が大きい。

早速作っていく
┏manifest.json
┣ scripts
┃┣contentScript.js   
┃┣Logger.js
┃┗background.js
┣ icon
┃┣38.png
┃┗128.png
┗locales-messages.json

のファイル構成で完成。
manufest.jsonにこの拡張機能の概要を書き込んで、scriptに実際の挙動を書き込んでいく。
今回はmanufest.jsonとcontentScripts.jsだけ真面目に書きました。

manufest.json

{
"update_url": "https://clients2.google.com/service/update2/crx",

  "manifest_version": 3,
  "name": "__MSG_ext_name__",
  "version": "1.3.0.0",
  "default_locale": "ja",

  "description": "__MSG_ext_desc__",
  "icons": {
    "128": "icon/128.png"
  },
  "minimum_chrome_version": "93",
  "action": {
    "default_icon": {
      "38": "icon/38.png"
    },
    "default_title": "今日の感染者"
  },

  "author": "Ikazukichi_0914",
  "background": {
    "service_worker": "scripts/background.js"
  },

  "content_scripts": [
    {
      "matches": ["*://*.google.co.jp/*"],
      "js": ["scripts/contentScripts.js"],
      "run_at": "document_end",
      "all_frames": false
    }
  ],
  "permissions": ["bookmarks", "tabs"],
  "host_permissions": ["*://*.google.co.jp/*"],
  "web_accessible_resources": [
    {
      "resources": ["scripts/logger.js"],
      "matches": ["*://*.google.co.jp/*"]
    }
  ],
  "externally_connectable": {
    "matches": ["*://*.google.co.jp/*"]
  }
}

解説を加えると
matchesでgoogle.co.jpが含まれるサイトでこの拡張機能は動作しますよと宣言しています。
permissionsとhost_permissionsはなんのサイトにホストするかを記述します。

manufest version v3からHost permissionの記述方法が変更

developer.chrome.com

ホームステイするときにホストファミリーといいますが、寄生先の家族のことをホストファミリーといいますね。
同様にGoogleでもどこのサイトでこの拡張機能を発動させますか?ということを定義します。

エンジニアにはアイコンを書く能力がない

アプリを公開するときはアイコンが必要ですが、
私は絵のセンスが完全にないので、イラスト屋から拝借してきました。

www.irasutoya.com
引用:
https://www.irasutoya.com/

現在審査待ちです。
今まで何回かアプリの審査をGoogleに申請したことがあって、リジェクトされるときは本当に1時間とかで
審査結果が帰ってきて1日に3回リジェクトされました。