カスタム ナビゲーション エクスペリエンス

Navigation SDK には、ナビゲーション エクスペリエンスをアプリに統合するためのさまざまな方法が用意されています。このページでは、カスタム ナビゲーション エクスペリエンスとは何か、Navigation SDK で利用できる他のナビゲーション エクスペリエンスとどのように異なるかについて説明します。

カスタム ナビゲーション エクスペリエンスとは

Navigation SDK を実装する主な方法は、Google ナビゲーション エクスペリエンスを使用することです。 これにより、Google マップ アプリ内のナビゲーション エクスペリエンスと同様の、 Google 提供の UI 要素とビジュアルを使用するターンバイターン方式のナビゲーション エクスペリエンスを埋め込むことができます。Google ナビゲーション エクスペリエンスよりも柔軟性が必要な場合は、カスタム ナビゲーション エクスペリエンスを実装できます。 カスタム ナビゲーション エクスペリエンスとは、ターンガイダンスを完全に排除し、ナビゲーションをバックグラウンド プロセスとしてのみ実行することから、ナビゲーションを実行するデバイスとは別の画面に高度にカスタマイズされたガイダンス エクスペリエンスを投影することまでを指します。カスタム ナビゲーション エクスペリエンスでは、アプリが Navigation SDK を呼び出してターンバイターン方式のナビゲーション フィードをリクエストし、ナビゲーション エクスペリエンスでユーザーに表示される UI 要素とビジュアルを提供して管理します。一般的に、Google ナビゲーション エクスペリエンスを使用する方が実装は簡単ですが、独自のカスタム ナビゲーション エクスペリエンスを構築することで、より多くのカスタマイズが可能になります。

カスタム ナビゲーション エクスペリエンスを作成する場合、アプリは次のフローを使用して Navigation SDK を呼び出し、ナビゲーションを開始、実行、停止します。

  1. ナビゲーションを開始します 。Google ナビゲーション エクスペリエンスと同様に、カスタム ナビゲーション エクスペリエンスでも、ナビゲーション インスタンスを作成して目的地を設定する必要があります。ただし、カスタマイズされたナビゲーション エクスペリエンスでは、まず GMSNavigationService.createNavigationSession を使用してナビゲーション セッションを確立します。これは、ビュー コントローラを使用するかどうかに関係なく動作できる、状態を保持する非 UI オブジェクトです。

    詳細については、ターンバイターン方式のデータ フィードを有効にするをご覧ください。

    デモを見る: Navigation SDK のダウンロードには、デモが含まれています。このデモを実行すると、標準ナビゲーションによるターンバイターン方式のガイダンスと、道路ポリラインに沿って移動するデバイスの位置のみを表示するナビゲーション エクスペリエンスを切り替えるナビゲーション エクスペリエンスの例を確認できます。

  2. アクティブ ナビゲーション 。Google 提供のナビゲーション エクスペリエンスとカスタム ナビゲーション エクスペリエンスのもう 1 つの重要な違いは、 ガイダンスを Navigation SDK の組み込みイベント マネージャーに渡すのではなく、ターンバイターン方式のフィードを有効にしてイベント ハンドラを実装することです。 これにより、 ナビゲーション イベントをリッスンするで説明されているイベントに応答できるようになります。

  3. ナビゲーションを終了します 。Google ナビゲーション エクスペリエンスと同様に、カスタム ナビゲーションでも、アプリのエクスペリエンスに最適な方法でナビゲーションを終了する必要があります。

カスタム ナビゲーション エクスペリエンスを使用する場合

次の表に、カスタム ナビゲーションのシナリオを示します。

シナリオの例

手順の概要

二輪車などの小型デバイス向けに、テキストのみのドライバー ガイダンスを提供する必要があります。

ナビゲーターを作成し、ターンバイターン方式のガイダンスを小型画面デバイスへのデータフィードとして設定します。ナビゲーターは、ドライバーのモバイルデバイスで、ドライバーの直接の視界の外で実行されます。

Android Auto を使用するドライバー向けに、アプリをカーサービスとして提供したいと考えています。

  1. カーサービスを設定します。
  2. Navigation SDK プロジェクトを設定します。
  3. まだナビゲーターを確立していない場合は、確立します。
  4. ターンバイターン方式のガイダンス フィードを有効にします。
  5. 自動車アプリのサーフェスに地図を描画し、構成したデータフィードからフィールドに入力します。

詳細については、Android Auto でのナビゲーションを有効にするをご覧ください。

アプリを使用するドライバーは、移動のほとんどで 概観マップを必要としており、市街地では最小限のターンバイターン方式のガイダンスのみを必要としています。

アプリでは、目的地と移動モードのナビゲーターの設定を変更することなく、必要に応じて Google ナビゲーション エクスペリエンスを開始または終了できるようにする必要があります。