AppleがSiriに搭載しなかった顕著な機能の一つは、アプリとの連携と起動機能です。音声とSiriを使えば様々なことができますが、サードパーティ製アプリ(一部の例外と、Appleがローンチ時に公式に提携したサービスを除く)を使用したり、音声コマンドでアプリを起動したりすることはできません。
iOSのURLスキームは、あまり知られていないものの、iPhone 4SではSiriを使ってアプリのショートカットを起動できるようになっています。最もクリーンな方法とは言えませんが、Siriでアプリを素早く起動する方法は数多くあります。詳しく見ていきましょう…
iOSのURLスキームを使用すると、Mobile Safariからアプリを直接起動できます。iPhoneのスプリングボードからマップアプリをタップする代わりに、 Mobile Safariのアドレスバーに「maps://」と入力してアプリを直接起動できます。一部のサードパーティ製アプリはURLスキームとのやり取りをサンドボックス化していますが、ほとんどのアプリはiOS SDK内で、アプリ内アクションをトリガーするURLスキームのリストに「バインド」されています。
URLスキームを悪用した有名な例として、Camera+の開発者がiPhoneの音量ボタンで写真を撮影できる回避策となるURLスキームを導入したケースが挙げられます。Mobile Safariで「camplus://enablevolumesnap」と入力すると、Camera+に隠されたハックが有効になり、音量ボタンのシャッターが押せるようになりました。これはiOS 5がリリースされ、音量ボタンで写真を撮影できる機能が標準装備される前の話で、Camera+は技術的にはAppleの開発者ライセンス契約に違反していました。このハックは大きな問題となり、Camera+はApp Storeから一時的に削除されました。
Camera+の件は、URLスキームの拡張例です。開発者は、アプリを起動するだけでなく、より具体的な動作をトリガーするカスタムパラメータを付与できます。概念化のために、URLスキームをiOSのターミナルとコマンドラインの世界と考えてみてください。
例えば:
twitter://投稿?メッセージ
Mobile Safariでこれを入力すると、公式Twitterアプリが起動し、ツイート作成ウィンドウが開きます。同じ考え方で、異なるアプリ間でテキストを送受信できます。私よりもはるかに開発の知識が豊富な人たちが、このトピックに関する詳細なチュートリアルを作成しています。
手元のタスクに戻り、Siri からアプリを起動します。
回避策を考えていたところ、フォーラムのスレッドで URL スキームを連絡先のショートカットとして使用するというアイデアを思いつきました。
URLスキームを使って起動できるアプリは数多くあります。私がよく使うアプリもその一つで、 fb://、 tweetbot://、 reeder://、 instagram://、 yammer://、 imdb://などがあります。しかし、ほとんどの場合、Siriショートカットを使って単にアプリを開くだけでは意味がありません。このチュートリアルでは、SiriでFacebookアプリを起動する方法について詳しく見ていきます。
iPhoneのURLスキームに関するWikiページには、参考になる情報が満載です。Facebookアプリに組み込まれているカスタムURLショートカットをいくつかご紹介します。
- fb://profile – Facebookアプリを開いてユーザーのプロフィールを表示する
- fb://friends – Facebookアプリを開いて友達リストを表示
- fb://notifications – Facebookアプリを開いて通知リストを表示します
- fb://feed – Facebookアプリを開いてニュースフィードにアクセスします
- fb://events – Facebookアプリを開いてイベントページへ移動
- fb://requests – Facebookアプリを開いてリクエストリストを表示する
- fb://notes – Facebookアプリを開いてノートページを表示する
- fb://albums – Facebookアプリを開いて写真アルバムリストを表示
そして、これら以外にもたくさんのものがあります。
Siri用のFacebookショートカットを作成するには、新しい連絡先を作成し、「Facebookショートカット」のような名前を付けます。次に、上記のURLスキームをいくつか追加します。連絡先を作成したら、Siriに「Facebookショートカットを表示」などと話しかけます。
各URLをタップすると、Facebookアプリで対応するアクションが開きます。繰り返しますが、これはあまり目新しいトリックではありませんが、機能的には有効です。
URLスキームトリガーに関しては、実に無限の可能性があります。サードパーティ製アプリのスキームについては、handleOpenURLデータベースをご覧ください。以下に、iOS標準アプリの例をいくつか示します。
- itms-apps:// – App Storeを開く
- maps:// – マップアプリを開く
- sms:// – メッセージアプリの作成ウィンドウを開く
- music:// – ミュージックアプリで現在再生中の曲に移動します
- youtube:// – YouTubeアプリを開く
- itms-books:// – iBooksアプリを開く
Siriですぐにアクセスしたいアプリがいくつかある場合は、「ショートカット」または「よく使う項目」の連絡先を作成し、それぞれのトリガーを追加できます。Siriに「ショートカットを表示」と指示すると、Siri内で開くアプリのショートカットリストが表示されます。
これは本当にオープンエンドな議論なので、iOSのURLスキームの活用に関するアイデアをコメント欄で共有してください。この方法でアプリを開くために、Siriをどのように活用できるでしょうか?