この記事では、Chromeデベロッパーダッシュボードへの登録手順から、提出用ZIPファイルのパッケージ化ルール、審査で重要となるプライバシー設定まで、公開に必要な一連の流れを分かりやすく解説します。
連載記事:右クリックでGoogleカレンダー登録するChrome拡張機能の自作
- 第1回:Chrome拡張機能の自作入門:右クリックでGoogleカレンダー登録する全体設計
- 第2回:Chrome拡張機能の基本設定:manifest.jsonの書き方と権限管理
- 第3回:右クリックメニューの実装:contextMenusとGoogleカレンダーURL連携スクリプト
- 第4回:自作Chrome拡張機能の読み込み手順:デベロッパーモードでの動作確認とデバッグ手法
- 第5回:Chrome拡張機能の仕上げ:アイコン設定と素早い予定登録のための活用テクニック
- 実践編(本記事):Chrome拡張機能をChromeウェブストアで公開する手順
自作Chrome拡張機能をストア公開するための全体設計フロー
ストア公開までの全体フロー
自作した拡張機能をストアに公開する手順は、大きく分けて以下の4つのステップで進行します。
- デベロッパー登録:Googleアカウントで開発者登録を行い、初回手数料(5米ドル)を支払う
- 提出用ZIPの作成:manifest.jsonが直下に配置された専用ZIPパッケージを作成する
- 掲載情報・画像の設定:説明文、アイコン、スクリーンショット、プロモーション画像を登録する
- 審査申請と公開:権限の使用理由とプライバシー方針を宣言し、審査へ提出する
Chromeデベロッパーアカウントの登録手順
拡張機能をストアに掲載するには、まず「Chrome Web Store Developer Dashboard(開発者ダッシュボード)」で開発者登録を行う必要があります。
登録に必要な事前準備
- Googleアカウント:公開管理に使用するGoogleアカウントを用意します。
- 2段階認証の有効化:セキュリティ保護のため、アカウントの2段階認証設定が必須条件となっています。
- クレジットカード:開発者登録料の決済に使用します。
開発者ダッシュボードへのアクセスと登録料の支払い
Chrome 開発者ダッシュボード にアクセスすると、初回は以下のような登録画面が表示されます。
デベロッパー契約への同意と登録料支払いの案内画面
画面内の「デベロッパー契約とプライバシー ポリシーを確認し、内容に同意します」にチェックを入れ、「登録料の支払い」ボタンをクリックします。
登録料は初回のみ5米ドル(1回限りの支払い)です。一度支払いを済ませれば、アカウントは有効のまま維持され、以降は追加費用なしで複数の拡張機能をいくつでも公開できます。
支払いが完了し登録が完了した状態の画面
決済が完了すると「登録を完了しました」というメッセージが表示され、「デベロッパーダッシュボードを表示」ボタンから管理画面へ進めるようになります。
ストア提出用ZIPパッケージの作成ルール
開発したプログラムコードをストアにアップロードする際、最も間違いやすいのがZIPファイルの圧縮構造です。
重要:manifest.jsonの配置階層
ZIPファイルを展開した直下の階層(ルート)に manifest.json が存在している必要があります。
フォルダごと右クリックで圧縮してしまうと、ZIP内に「フォルダ名/manifest.json」という二重構造が生まれ、アップロード時に「manifest.jsonが見つかりません」というエラーになります。
提出に含めるファイル構成
ストア提出用ZIPには、拡張機能の動作に必要なファイルのみを含め、READMEやGit管理ファイルなどの不要なファイルは除外します。
# ZIPファイル直下に展開される構成
├── manifest.json # 必須:設定ファイル
├── background.js # 必須:実行スクリプト
├── icon16.png # ツールバー用アイコン
├── icon48.png # 管理画面用アイコン
└── icon128.png # ストア表示用アイコン
コマンドラインでの確実なZIP作成例
ターミナルやPowerShellを使用すると、フォルダ内の中身だけを指定して確実にZIP化できます。
# Windows PowerShellの場合(フォルダの中身だけを指定して圧縮)
Compress-Archive -Path ".\quick-calendar-adder\*" -DestinationPath ".\quick-calendar-adder-store.zip" -Force
# Mac / Linuxターミナルの場合
cd quick-calendar-adder
zip -r ../quick-calendar-adder-store.zip ./*
ストア掲載情報と画像アセットの準備
ダッシュボードで「新しいアイテムを追加」をクリックし、作成したZIPファイルをアップロードすると、ストア掲載情報の設定画面に移行します。
必要な画像アセットと推奨サイズ
ストア訪問者に拡張機能の魅力や使い方を伝えるため、以下の画像を準備します。
| 画像種類 | 推奨解像度 | 形式 | 要件区分 |
|---|---|---|---|
| アプリアイコン | 128 × 128 px | 透過PNG | 必須(ZIP内から自動読込) |
| スクリーンショット | 1280 × 800 px (または 640 × 400 px) | PNG / JPEG | 必須(1〜5枚) |
| プロモーションタイル(小) | 440 × 280 px | PNG / JPEG | 推奨(特集枠などで使用) |
スクリーンショットとプロモーション画像の掲載例
実際のWeb操作画面や右クリックメニューの動作、カレンダーへの反映結果などを一枚の画像にまとめると、審査員にも一般ユーザーにも機能が一目で伝わります。
機能の動作が直感的に伝わる1280×800のスクリーンショット例
ストア検索一覧や特集枠で目を惹く440×280のプロモーション画像例
説明文の記述ポイント
- 概要(短い説明):検索結果一覧に表示される1〜2行の簡潔な要約文(例:「選択したテキストから素早くGoogleカレンダーの予定を作成します。」)
- 詳細説明:主な機能、利用手順、セキュリティ面の安心ポイント(データ収集をしない点など)を箇条書きを交えて分かりやすく記述します。
審査を通過するためのプライバシーと権限の正当化
近年のChromeウェブストア審査では、ユーザープライバシーの保護と権限の妥当性が最も厳しくチェックされます。
ダッシュボードの「プライバシーへの取り組み」タブで以下の項目を正確に入力します。
1. 単一の目的(Single Purpose)
Chrome拡張機能は「1つの明確な目的」のために作られている必要があります。
入力例:「Webページ上で選択した文字列をもとに、Googleカレンダーの予定作成画面を素早く開くこと」
2. 権限の正当化(Permission Justification)
manifest.jsonで要求している各権限について、なぜその権限が必要なのかを具体的に説明します。
contextMenusの理由例:「ユーザーがWeb上のテキストを選択して右クリックした際に、Googleカレンダー登録用のメニューを表示するために使用しています。」
3. データの使用宣言とプライバシーポリシーURL
- 個人情報や閲覧履歴の収集有無は、すべて「収集しない」を選択します。
- データを収集しないツールであっても、自身のWebサイトにプライバシーポリシー(データ非収集の旨を明記したページ)を用意し、そのURLを登録することで審査が格段にスムーズになります。
公開設定の選択と審査提出の流れ
すべての入力と画像設定が完了したら、公開範囲を選択して審査へ提出します。
公開範囲の使い分け
- 一般公開(Public):ストアの検索画面に並び、世界中の誰でもインストールできる標準の公開形態です。
- 限定公開(Unlisted):ストアの検索にはヒットせず、拡張機能の直接URLを知っている人だけがインストールできます。社内メンバーや身内だけに共有したい場合に便利です。
審査期間と公開後の更新
「審査のために送信」をクリックすると審査キューに入ります。審査期間は機能や権限の規模によって異なりますが、今回のように権限を最小限に絞ったシンプルな構成であれば、通常24時間から数営業日以内に完了します。
承認されると自動的にストア上に公開され、固有のインストールURLが発行されます。プログラムを改修した際は、manifest.json の version(例:1.0.0 → 1.0.1)を更新した新しいZIPをアップロードすることで、既存ユーザーのブラウザへ自動アップデートが配信されます。
まとめ
ストア公開のポイント振り返り
- 開発者登録料は初回のみ5ドルで、アカウントは永続的に利用可能
- 提出用ZIPはルート直下に
manifest.jsonが配置されるよう圧縮する - 1280×800のスクリーンショットで使い方とメリットを分かりやすく視覚化する
- 権限を最小限に絞り、プライバシー方針を正確に宣言することでスムーズに審査通過できる
自作した拡張機能をストアに公開すれば、URLを共有するだけで同僚や友人に手軽に使ってもらえるようになり、開発の成果をより大きな実用価値へと繋げることができます。
ぜひ手元のツールをパッケージ化して、ストア公開に挑戦してみてください。
