開発者がURLスキームを実装するにあたって、どの層を狙ったアプリづくりをするかという目安に。
第1段階 – アプリが起動するだけのもの
xyz://
ライトなユーザー層が想定される。
先のエントリで書いたアイコンカスタマイズアプリもこれを利用しており、先行するCocoPPa、後発の大本命LINE DECOの登場により、ホーム画面のカスタマイズは無視できなくなりそう。
アイコンを整理すること、ショートカットとしての利用が主眼に置かれる。
これに対応していないとアイコンを変えられないため、ホーム画面に置かれないという事態にもなりうる。
すでに多くのアプリが対応しており、URLスキームがあることのメリットよりも、無いデメリットの方が強く感じられることとなるでしょう。
とりあえず対応してないのはマイナスでしかない。
第2段階 – URL構造を活かしたもの
https://reliphone.jp/を
xyzhttps://reliphone.jp/ や xyz://reliphone.jp/
という形に置き換えることで、ブラウザで表示しているURLをアプリ自体に取り込む。
GoodReaderのghttp://というURLスキームは、知識が無くてもhttpの前にgを付けるだけで使えるというわかりやすさがある。
ブックマークレットを用意しユーザーの敷居を下げることも大切。
GoodReaderやSleipnirなどのアプリが利用しており、特にWeb上のコンテンツを扱うアプリで採用すべきもの。
第3段階 – コンテンツの検索ができるもの
xyz://search?query=sample
辞書アプリを代表に、エディタやWeb上のコンテンツを検索するものに有用。
検索ランチャーを利用することで窓口を統一でき、検索効率が格段に上がる。
ランチャーのプリセットライブラリが充実していれば初心者でも使いやすい。
第2段階よりもユーザーの敷居は下がるが、検索用アプリの導入が必要になるため利用ユーザーは減る。
呼び出し側のアプリでの対応も必要になる。
検索が必要になるほど多くのデータを扱うならサポートしておくと良い。
これはランチャーありきなので、サポートするならランチャー作者への報告を忘れずに。
第4段階 – アプリ操作のショートカットに使うもの
xyz://sync
xyz://play?song=all
特定の操作を外部から直接叩ける。
これ単体ではさほど利便性が上がらないが、コールバックを組み合わせると利便性が向上する。
ユーザーはURLスキームを自分でランチャーなどに登録できることが前提となるため、中・上級者向け。
第5段階 – データの受け渡しを行うもの
xyz://add?text=sample
エディタ、カレンダーアプリなど多くの場面で利用される。
パラメータは多岐にわたり、エディタやランチャー側ですべてサポートするのには限界があるため、ユーザーにURLスキームの知識が必要になる。
ブラウザからブックマークレットを使うものにも多い。
xyz://add?url=URL&title=TITLE
URLスキームの知識だけでなく、URLエンコードが求められることもあるため、ユーザー層はコアになる。
しかしエディタ界隈ではサポートしていて当たり前みたいな状況。
これはテキストの受け渡しをOpenInで行うと、そのたびに文書A、文書A(1)、文書A(2)とファイル自体が増殖してしまうので、それを避けるためでもある。
このレベルからさまざまな使いこなしが生まれてくるので、ユーザーに使いこなしてほしいならサポートすべき。
第6段階 – コールバックを行うもの
xyz://add?text=sample&return=abc:
操作を終えた後に元のアプリへ戻れるようになる。
コールバックを発動するためのボタンや、それに類する操作を用意しなくてはならないために開発者の敷居が高くなる。
ユーザー側の知識も求められるが、自由に戻り先を設定できるので、アプリ間連携を使いこなす上で重要なポイントになっている。
書式がバラバラで混迷を極めてたが、現在ではx-callback-urlというフォーマットをGoogleなども採用しており、標準となりつつある。
類似アプリに埋没させないためには、アプリ自体に特徴を持たせるか、URLスキームでの連携を強化して存在感を出すべき。
特に高度な使いこなしをする層にアピールしたいならコールバックは大切。
まとめ
URLスキームを6つの段階に分けてみました。
カメラアプリや女子高生が使うような簡単な操作がウリのものであれば、起動するだけのURLスキームで十分です。
アイコンを変えられるならばホーム画面にも残れます。
簡単に使えるアプリなのか、連携を前提にした高度なアプリなのかで、サポートすべきURLスキームのレベルも変わってくる。
動画の検索や、スケジュールの検索が外部から呼び出せるようになれば、ランチャーアプリを使う層にアピールできますし、ライブラリでの露出も期待できる。
コールバックをサポートすれば、自分でURLスキームを組み合わせて使いこなす層にアピールできます。
どの層にアピールするかで露出の質が変わる。
発信力のあるブロガーにアピールできれば、数千人の目にとまる記事になります。
発信をしない層の1000人よりも、影響力の大きいブロガー数人を狙った方が効果としては高いと思われますので、差別化をするならこの分野で勝負してみてはいかがでしょうか。
なにより、そういうアプリが増えると私が嬉しい。