2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

chrome拡張機能自作手順(作成→公開まで)

Last updated at Posted at 2020-12-21

はじめに

社内でChatWorkを使っているのですが、少しでも便利にできたらなと思い、chromeの拡張機能を自作しました。

本記事では以下の3つについて書きます

  • 作成した拡張機能の説明
  • chrome拡張機能の開発環境、開発手順
  • chrome拡張機能のストアへの公開手順

何を作った?

これです。

ChatWork用のchrome拡張機能です。
具体的にはリンク先の概要に書いてありますが、できることを箇条書きで書いてみます。

  • 定型文を設定
  • 定型文をボタン(*1)クリックで呼び出し
  • キーボードショートカットにも登録できる

(*1)テキストエリア上の「TO」とかがある部分

image.png

↑ボタン部分をHTMLで設定できるようにしてあるので、見た目の自由度が高くていい感じです!

実装手順

chatWork用の拡張機能はすでにいくつか公開されており、その中でライセンスがMITのものがあったのでそれをもとに作成しました。
https://github.com/YukiAsano/CW_QuickInfoInput

使用技術

  • Chrome-Javascript-API
  • Svelte
  • sass
  • webpack

実装!

chrome拡張機能はすべてmanifest.jsonというファイルから始まります。
このファイルに

  • バージョン
  • 拡張機能の名前、概要
  • アイコン画像の設定(16×16, 48×48, 128×128の3サイズ用意しないといけない、これがめんどくさい! )
  • 設定画面のパス
  • いつ、どのタイミングでjsが実行されるか

等設定します。

実際のmanifest.jsonのソースがこちら

manifest.json
{
    "name": "ChatWork Quick Input",
    "version": "0.2",
    "manifest_version": 2, //最近3が発表されたらしい
    "description": "ChatWorkのテキスト入力をサポートする拡張機能",
    "permissions": ["storage"], //使用するChrome-Javascript-APIによって権限をリクエストする必要がある
    "content_security_policy": "script-src 'self'; object-src 'self'",
    "icons": {
        "16" : "images/icon_16.png",
        "48" : "images/icon_48.png",
        "128": "images/icon_128.png"
    },
    "content_scripts": [{ // chatworkページ上で実行されるjsの設定
        "matches": ["*://*.chatwork.com/*","*://chatwork.com/*","*://kcw.kddi.ne.jp/*"],
        "js": ["scripts/jquery-3.5.1.min.js", "scripts/core.js"],
        "run_at": "document_end",
        "all_frames": true
    }],
    "options_page":"pages/public/index.html" // 設定画面
}

あとは実装するだけ!

公開手順

公式の公開手順に従って公開しました

大まかに以下の流れで公開します。

  1. 拡張機能のzipファイルを作成
  2. デベロッパーアカウントを作成
  3. zipファイルをアップロード
  4. ストアでの説明を記述
  5. 申請→承認
  6. 公開!

ソース

参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?