[PR]
本サイトはアフィリエイト広告を利用しています。
「Chrome拡張機能を作るところまではできた。でも、これをどうやって公開するの?」
この記事は、Chrome拡張機能の開発経験がほとんどない状態から、製品サイトを作り、問い合わせ窓口やプライバシー方針を整え、Chrome Web Storeへの公開準備まで進めた流れを、超初心者向けにまとめたものです。
作っているのは、ChatGPTの会話をHTML・Markdown・TXT・JSON・PDFとして手元に保存するChrome拡張機能「Pinpoint Local Saver」です。
最初は「拡張機能のZIPができたら、そのままChrome Web Storeへ出せる」と思っていました。ところが実際には、製品名、製品ページ、Privacy、問い合わせ、不具合報告、管理メール、サイト更新方法、Store掲載文など、周辺の準備がかなり必要でした。
Local Saverは、現在開いているChatGPTの会話をHTML・Markdown・TXT・JSON・PDFとして保存します。
ここで最初につまずいたのが長い会話でした。古いメッセージが画面上から外れていると、見えている部分だけを読む方法では途中からしか保存できません。そのため、過去履歴を確認しながら取得し、不完全な場合は保存を止める仕組みを何度も修正しています。
製品名は「Pinpoint Local Saver」にしました。ChatGPTは対応サービスとして説明し、Pinpointを製品ブランドとして前面に出す形です。
製品情報をまとめるため、Pinpoint Productsという製品専用サイトを作りました。
Productsトップ、製品カタログ、Local Saverの製品ページ、Privacy、Support、FAQ、Changelogなどを分けて用意しています。
URL構造そのものを記事で細かく見せるのではなく、「製品ごとに公式ページを持ち、必要な情報へたどり着けるようにする」ことを重視しました。
Productsは製品情報を見せることが中心なので、まずHTML・CSS・JavaScript・JSON中心の構成にしました。製品情報は products.json にまとめています。
Store管理、不具合情報の受付、一般問い合わせを、それぞれ別の役割として分けました。
公開記事ではメールアドレスそのものは掲載せず、利用者にはProductsサイト上のフォームから連絡してもらう形にしています。
無料製品なので、すべての不具合報告へ個別返信する運用にはしませんでした。
不具合の種類、Local Saverのバージョン、Chrome / OS、エラーコード、互換性レポート、補足情報を送れるようにしました。会話本文は自動送信しません。
実際にテストし、不具合報告と具体的な問い合わせが、それぞれ想定した窓口へ届くことまで確認しました。
Local Saverは保存のためにブラウザ内でChatGPTの会話を読み取ります。ただし、ブラウザ内で読むことと、Pinpointのサーバーへ送信することは別です。
Local Saver本体では会話本文をPinpointへ自動送信しません。互換性レポートも端末内で作成し、利用者が内容を確認した上で任意に提供する方式です。
ProductsサイトはWordPressではないため、毎回ファイルを手作業で上書きするのは不安でした。そこでProducts専用のRelease Managerを作りました。
現在、製品名、短い説明、詳細説明、Privacy Policy URL、Support URL、各権限を使う理由、データの扱い、Store用スクリーンショットなどを整理しています。
最初から完璧な仕様を作ったわけではありません。拡張機能を作る、バグが見つかる、製品サイトが必要になる、問い合わせ方法を考える、更新が面倒になってRelease Managerを作る。必要になったものを一つずつ追加しています。
Chrome拡張を作ってみたいけれど「公開まで何をやればいいか分からない」という人でも、小さく作って、自分で使って、必要なものを順番に追加していけば進められると思います。
Pinpoint Local Saverは現在Chrome Web Store公開へ向けて最終調整中です。公開まで進んだら、実際の登録・審査についても続編としてまとめる予定です。