L'SDK di navigazione offre diversi modi per integrare un sistema di navigazione esperienza nella tua app. Questa pagina spiega cos'è un'esperienza di navigazione personalizzata e come si differenzia dalle altre esperienze di navigazione disponibili in l'SDK di navigazione.
Che cos'è un'esperienza di navigazione personalizzata?
Il modo principale per implementare l'SDK di navigazione è utilizzare lo strumento navigazione un'esperienza ottimale, che permette di incorporare un'esperienza di navigazione passo passo che utilizza Elementi UI ed elementi grafici forniti da Google, simili all'esperienza di navigazione all'interno delle app Google Maps. Se hai bisogno di maggiore flessibilità rispetto al offerte per l'esperienza di navigazione, puoi implementare un'esperienza di navigazione personalizzata. Con "esperienza di navigazione personalizzata" si intende qualsiasi cosa, dall'eliminazione delle indicazioni di svolta interamente con la navigazione in esecuzione e solo come processo in background, un'esperienza di guida altamente personalizzata su una schermata separata dal dispositivo che esegue la navigazione. Con un'esperienza di navigazione personalizzata, la tua app chiama l'SDK di navigazione per richiedere un feed di navigazione passo passo, fornisci e gestisci gli elementi e le immagini dell'interfaccia utente che l'utente vede esperienza di navigazione. In genere, durante l'utilizzo della navigazione Google semplifica l'implementazione, mentre la creazione di un'esperienza di navigazione personalizzata maggiore personalizzazione.
Quando crei un'esperienza di navigazione personalizzata, la tua app chiama la barra di navigazione SDK per avviare, eseguire e interrompere la navigazione utilizzando il seguente flusso:
Avvia la navigazione. Come per l'esperienza di navigazione su Google, esperienza di navigazione prevede ancora la creazione di un'istanza di navigazione impostare la destinazione. Tuttavia, con un'esperienza di navigazione personalizzata, puoi raggiungere questo obiettivo stabilendo prima una sessione di navigazione
GMSNavigationService.createNavigationSession
, che è uno stato oggetto non UI che può funzionare con un controller di visualizzazione o senza uno.Per ulteriori informazioni, vedi Attivare i dati passo passo feed.
Guarda la demo: il download dell'SDK di navigazione contiene una demo per vedere un esempio di esperienza di navigazione che cambia tra le indicazioni passo passo della navigazione standard a una navigazione che mostra solo la posizione del dispositivo che si sposta lungo una strada polilinea.
Navigazione attiva. Ecco un'altra differenza fondamentale tra Esperienza di navigazione fornita da Google e personalizzata. Anziché affidare le indicazioni al gestore eventi integrato del SDK di navigazione, attivi il feed passo passo e implementi l'evento e i gestori di rete. In questo modo la tua esperienza può rispondere agli eventi descritti in Ascoltare la navigazione eventi.
Termina la navigazione. Come per l'esperienza di navigazione su Google, la navigazione richiede anche di terminarla nel modo migliore all'esperienza con l'app.
Quando potresti utilizzare un'esperienza di navigazione personalizzata?
La tabella seguente descrive alcuni scenari di navigazione personalizzata.
Scenario di esempio |
Passi di alto livello |
---|---|
Devi fornire indicazioni per il conducente di solo testo per i piccoli dispositivi, ad esempio dei veicoli a 2 ruote. |
Crea il navigatore e imposta le indicazioni passo passo come dati viene inviato a un dispositivo con schermo di piccole dimensioni mentre il navigatore è in esecuzione sul il cellulare del conducente fuori dall'inquadratura ravvicinata. |
Vuoi rendere la tua app disponibile come servizio auto per i conducenti che usa Android Auto |
Per ulteriori informazioni, vedi Attivare la navigazione per Android Auto. |
I conducenti che utilizzano la tua app vogliono una mappa panoramica per la maggior parte della loro con indicazioni passo passo minime per le strade cittadine. |
L'app deve consentire ai conducenti di entrare e uscire dalla navigazione Google l'esperienza necessaria, senza alternare le impostazioni del navigatore per destinazione e modalità di viaggio. |