Slack の App Directory に掲載してもらった
サービスを Slack App Directory で一般公開した
結構前からちょこちょこ開発してたものの、時間がなくて半分自分+知り合い専用になっていたサービスを、一念発起して一般公開することにした。
で、今回、Slack の App Directory に載せてもらったので、その手順とかを簡単に情報共有する。
どんなサービスか
GitHub, Slack, Google Drive 等のサービスから API 経由でデータを取ってきて、一括で検索できるようにするというもの。興味のある方は以下からどうぞ。
- サイト: Commet
- Slack App Directory 上のページ: Commet | Slack
具体的な手順
概要
と言っても、実は手順自体はそれほど面倒でない。
- Slack API のページから、OAuth のアプリを登録
- 一般公開する予定がなければ、ここで終わり
- Facebook アプリとかを作ったことがあれば、仕組みは大体一緒なので問題ないかと
- チェックリストに従って、色々準備する
- ユーザーにリクエストするパーミッション(OAuth のスコープ)を確認し、なぜそのパーミッションが必要なのかをフォームに記載する
- Slack 用にランディングページを用意する。今回のサービスの場合はこちら
- プライバシーポリシーページを作成する
- サポートの手段も用意する(連絡先やサポートサイトなど)
- その他、公開にあたって必要な情報を記入する
- アプリが正しく動作しているかテストする
- 審査依頼
- 問題があった場合は修正して、再審査
ドキュメントは、上に書いたチェックリストが一番詳しいけど、以下のようなチュートリアルページもある。
Tutorials about “Slack App Directory” | Slack
スコープに関して(上の手順 2.a)
アプリが使う可能性のある全てのスコープについて説明する必要がある。ただ、アプリがユーザーにリクエストする場合は、必要なものを段階的にリクエストするというのが良い。今回の場合
- Add to Slack ボタンの場合: ユーザー情報、チーム情報、チャンネルの履歴、の閲覧権限
- 別のユーザーから招待された場合: その人の ID 情報のみ
- 他人を Slack 経由で招待する場合: 追加で、チャンネルへの書き込み権限
という風に、その時に必要な権限のみをリクエストするようにした。
なお、Slack の場合は、最初にあるスコープをリクエストし、その後に追加で別のスコープをリクエストしたとしても、発行されるアクセストークンは1つ(※)。詳細は以下のドキュメントの「Handling Multiple Authorizations」を参照。
※ちなみに、GitHub の場合は、異なるスコープごとに異なるアクセストークンが発行される。
ランディングページ及びプライバシーポリシー(上の手順 2.b, 2.c)
入力欄はそれぞれ1つしかないので、Facebook などのように多言語対応は出来ない。英語のページを用意する必要があると思う。
なお、Slack は他言語化を進めているようなので、そのうちこの問題は改善されるのかもしれない。
サポートの準備 (上の手順 2.d)
エンドユーザーが困った時に連絡する連絡先などを用意する必要がある。今回の場合は、メールアドレスと簡単なサポートサイト(WordPress)を作成した。
審査に関して
割としっかり審査しているという印象。サポートや審査担当の人は(自分が当たった人しか分からないけど)いい人ばかりで、色々と助けてもらった。Slack のプライバシーポリシーやセキュリティポリシーに則っているかは、結構ちゃんとチェックしているようで、今回も何点か指摘事項があって機能の修正などを行った。
今回の場合、NGが2〜3回、質問のやりとりは10回位はした気がする。ある意味、審査の人をテスターみたいに使ってしまった感もある・・・
まとめ
App Directory に登録するのは、結構面倒だけど、サポートの人が色々手助けしてくれるのでそんなに辛さはなかった。また、その過程で色々直したりするうちに、ちょっとだけ本格的なサービスっぽく見えてくるので、頑張ってやる価値はあるかなと。