SyncSing Studio
Developers

署名と配布

署名の種類(アプリの画面に出るバッジ)

種類意味使える権限
公式LinkStudio(提供者)が作った拡張機能すべて
審査済み提供者の審査を通った拡張機能すべて
登録済み(未審査)サーバーへ登録して自動で署名された拡張機能。審査はしていません標準の権限だけ
開発中(未署名)作者本人の PC の開発者モードで動かしているものすべて(作者本人の PC だけ)

利用者が「登録済み」の拡張機能を入れるときは、「審査を受けていません。作者を信頼できるときだけ入れてください」と表示されます。

流れ

  1. 開発者規約に同意 し、SyncSing Identity でログインする(開発者としての登録は誰でもできます)。
  2. SyncSing Studio の開発者モードで作って試す。
  3. 新しい拡張機能のときだけ、syncsing_plugin.py uuid <フォルダ> で、サーバーに UUID を発行してもらう(manifest の uuid を書き換えます。発行した UUID でないと受け付けられません)。 版を上げるときは uuid を変えません(変えると別の拡張機能になり、前の版を入れた人に更新が届きません)。manifest にもう uuid があると uuid は断ります(別の拡張機能として作り直すときだけ --force)。 そのあと syncsing_plugin.py validate → pack で署名前の .ssplugin を作る。
  4. syncsing_plugin.py submit で出す。開発者トークンは SyncSing Studio の 設定 → 拡張機能(開発者モード ON)→「開発者トークンを発行」で出し、環境変数 SYNCSING_DEVELOPER_TOKEN か --token で渡します(1 アカウント 1 本。発行し直すと前のトークンは使えなくなります。他人に見せないでください)。 - syncsing_plugin.py whoami で、トークンの作者 ID(manifest の author.identity_id に書く値)を確かめられます。 - submit は送る前に、トークンの作者 ID と manifest の author.identity_id が同じかを確かめます(違えば何も送りません)。返ってきた署名も、そのパッケージのもの(中身のハッシュ・uuid・版・作者)か確かめてから付けます。 - 接続先は https だけで、リダイレクトは追いません。既定のサーバー以外へは、--allow-other-server を付けたときだけ送ります(トークンを送るため)。--token はコマンドの履歴に残ることがあるので、なるべく環境変数を使ってください。 - 出す前に syncsing_plugin.py test <フォルダ> で、つなぎ方と引数の形を確かめておくと、審査で戻されにくくなります。 - 標準の権限だけ: その場で「登録済み」の署名が付いて返ってきます。作者が自分の Web サイトなどで配れます。 - 要審査の権限を含む: 審査に回ります。同梱する EXE・DLL のソースを含む全ソース(--source)と、動作を確かめる手順(--steps)が必要です。提出物は審査にだけ使い、公開しません。 - 審査に回ったものは、syncsing_plugin.py status <受付番号> <送った .ssplugin> で状態を見られます。署名されていれば、確かめてから …-signed.ssplugin を作ります。 - 同じ名前の拡張機能を別の uuid で出すと、サーバーが duplicate_name で断ります。新しい版なら manifest の uuid を前の版の uuid に戻して出し直してください。本当に別の拡張機能として出すときだけ submit --new-plugin を付けます。
  5. 配る。利用者は「拡張機能を入れる(.ssplugin)」で入れます。

版を上げるとき(uuid はそのまま)

whoami → ビルド → pack → (要審査なら)ソースの zip → submit。uuid コマンドは使いません。

公式サイトへの掲載

--listing公式サイトでは
none(既定)載せません
free一覧に載せ、ダウンロードも置きます(無料で配る)
paid一覧に載せますが、ダウンロードは置かず、販売ページ(--store-url https://…)へのリンクだけを出します

有料の拡張機能

署名の取り消し

版の更新

この資料は開発キットに入っているものと同じ内容です。拡張機能の作成・配布には拡張機能 開発者規約が適用されます。