Firefoxアドオンを自分で公開(self hosted)する方法[引越記事]
<2018年一人なんでもアドベントカレンダー1日目>
はじめに
Firefoxの拡張機能を公開したい場合、ストアに申請して公開するのが通常の方法ですが、公開条件を満たす必要があります。 例えば、社内用アプリケーションを使って社員のみが使うような拡張機能の場合、用途と利用者が限定すぎるためにリジェクトされたりします。 そのときに「自分で公開(self hosted)」という方法があります。
updates.jsonを用意
まずはアップデート情報を記述するupdates.json
を用意します。
あとで説明しますが、拡張機能のmanifest.json
内にこのupdates.json
ファイルのURLを記述することで、拡張機能は更新の有無を知ることができるようになります。
{ "addons": { "<拡張機能のUUID>": { "updates": [ { "version": "1.0.0.0", "update_link": "https://server.com/myextension.xpi" }, { "version": "1.0.1.0", "update_link": "https://server.com/myextension.xpi" } ] } } }
version
に拡張機能のバージョン番号を、update_link
にあとで置くことになるxpiファイルのURLを指定しておきます。
ここでは仮にhttps://server.com/myextension.xpi
に置いたとします。
manifest.jsonをサーバーに置く
ブラウザからhttpsでアクセスできればどこでも良いです。
ここでは仮にhttps://server.com/updates.json
に置いたとしましょう。
manifest.jsonにupdates.jsonのURLを追記
抜粋 "applications": { "gecko": { "id": "<拡張機能のUUID>", "update_url":"https://server.com/updates.json", "strict_min_version": "42.0" } },
applications
プロパティの中にupdate_url
プロパティを追加し、先程のupdates.jsonファイルのURLをhttps://
から記述します。
開発者センターで拡張機能に署名
公開するには拡張機能に署名を施す必要があります。 開発者センターにログインし、「新しいアドオンを登録」をクリックします。
配布手段に「自分自身で。」を選択して「続ける」をクリックします。
拡張機能の.xpiファイルをアップロードして「アドオンを署名」をクリックします。
ここは「いいえ」を選択して「続ける」をクリックします。
これで署名が完了しました。 ダウンロードボタンを押してxpiファイルをダウンロードします。
xpiファイルをサーバーに置く
それをupdates.json
に記述したxpiファイルのURLと同じ場所に置きます。
ここではhttps://server.com/myextension.xpi
ですね。
これで公開されました。
初回インストール
xpiファイルのURLにアクセスすればインストールされます。
拡張機能の更新
拡張機能を更新するときは、プログラム的な変更を行った後に以下の作業を行います。
2のバージョン情報の追加は以下のようにします。
例えば新しいバージョン1.0.1.1
を追加します。
{ "addons": { "<拡張機能のUUID>": { "updates": [ { "version": "1.0.0.0", "update_link": "https://server.com/myextension.xpi" }, { "version": "1.0.1.0", "update_link": "https://server.com/myextension.xpi" }, { "version": "1.0.1.1", "update_link": "https://server.com/myextension.xpi" } ] } } }