意外と気づかないiOSデフォルトアプリのディープリンク


iOS9 からステータスバーに表示される「Back to XXXX」 によって, アプリ間の遷移がしやすくなりました.Universal Links, App Indexing などプラットフォーマーの動き方からも App to App,Web to App のディープリンクは注目されてきています.

App to App のディープリンクに関して,iPhone のデフォルトマップアプリ「Maps」から、他の経路制御系アプリのディープリンクへ遷移できることを知りました.

普段は GoogleMap を使っているので,気が付かなかったです(; ・`д・´)

動作環境

  • iPhone6 Plus
  • iOS9.1

※ OSやデバイス,公開されているアプリケーションのバージョンアップに伴って,挙動が変わる可能性があります.

Demo

実際の挙動をみてみましょう.
Maps で経路検索をして、その経路結果を用いて経路制御アプリに遷移できます.

Maps → Y!乗換案内 の挙動です.

  1. 目的地を入力し、Pin を立てる
  2. 「>」をタップし、「Direction」をタップ
  3. Start を入力して「Route」をタップすると,経路が表示される
  4. セグメントコントロールの「Transition」をタップ
  5. フッターの「Routing Apps」をタップすると,関連するアプリ一覧が表示される
  6. Installed Apps の「Y!乗換案内」の「Route」をタップ
  7. Maps の経路検索情報を元に,Y!乗換案内で経路結果が表示される

Routing Apps

Routing Apps の一覧には「Installed Apps」と「From the App Store」が表示されます.

前者は iPhone 内にすでにインストールされているアプリで,後者は未インストールの経路アプリの一覧です.未インストールのアプリをタップすると Store に遷移します.そこからインストールしてアプリを起動しても Maps アプリの経路検索結果は引き継げないようです.
(全てのアプリで試してないのでわかりませんが,対応すれば引き継いだりできるのでしょうか)


Maps から他経路アプリを選択できる機能は,iOS8 時点でも使うことができていたようで,当時は「Apps」という名称で,iOS9 から「Transit」と記載がかわったみたいです.

制御系アプリ開発者側の対応方法

Routing Apps に表示させるための対応方法は,Apple 公式の Location and Maps Programming Guide に記載されています.

An app that is able to display point-to-point directions can register as a routing app and make those directions available to the Maps app and to all other apps on a user’s device.

経路制御アプリケーションとして登録することによって,表示する道順を「マップ(Maps)」アプリケーション,および拡張機能によりユーザのデバイスの他のすべてのアプリケーションから利用できるようになります.
サポートする対応地域は,GeoJSON という対応地域カバーレージファイルによって宣言できるようです.アプリが提供する経路情報が日本だけの場合,このファイルによって海外の道順の要求は受信されなくなります.なお GeoJSON はアプリケーションに組み込むのではなく iTunes Connect にアップロードする仕様なので,アプリを再申請することなく更新が可能です.その他詳細は,公式ドキュメントを参照してください.

まとめ

かれこれ5年ほど iPhone を使っていますが,デフォルトの Maps アプリをほとんど使っていませんでした.この機能がいつから使えるようになっているのかもわかりません.
電車を使うか,車を使うか,徒歩で行くのが速いのか,マップで検索してから電車のほうがよさそうだから,再び乗換案内で同じ検索をする,みたいなことがなくなりそうです.

Registering as a routing app improves the user experience by giving other apps a means to access routing information from your app, thus avoiding the need for every app to provide its own routing directions. It’s also a great way to get your app in front of the user because Maps displays appropriate suggestions from the App Store as options for displaying directions.

公式で言及されているように ASO の観点からも効果的なようなので,未対応の経路制御アプリケーションはひとまず登録対応してみるといいのではないでしょうか.