Note di rilascio dell'SDK Driver per Android

Questa sezione contiene le note di rilascio relative all'SDK Driver per Android.

v5.0.0 (12 settembre 2023)

Modifiche a dipendenze e configurazione

  • SDK di navigazione aggiornato alla versione 5.x.
  • È stato eseguito l'upgrade di minSdkVersion all'API 23.
  • Versione di Kotlin aggiornata alla 1.9.0.
  • È stata aggiunta la dipendenza dalla stanza.
  • Le app che utilizzano l'SDK Driver ora devono avere targetSdkVersion dell'API 31 o versioni successive.
  • Le app che utilizzano l'SDK Driver ora devono attivare il supporto della libreria Java 8. Per istruzioni sull'aggiornamento, visita la pagina https://developer.android.com/studio/write/java8-support.
  • Le app che utilizzano Proguard o Dexguard devono eseguire la migrazione alla versione R8. Visita la pagina https://developer.android.com/build/shrink-code per maggiori informazioni.
  • Le app che utilizzano l'SDK Driver devono abilitare il desugaring. Per istruzioni, visita la pagina https://developer.android.com/studio/write/java8-support#library-desugaring.

Correzioni di bug

  • Risolto il problema relativo alla disattivazione della sincronizzazione LocationTracking.
  • È stata introdotta la nuova interfaccia DriverStatusListener che segnala una causa negli aggiornamenti dello stato delle eccezioni.
  • Risolto il problema per i conducenti che rimanevano fermo (disponibile a partire dalla versione 4.99.0).

v4.99.0 (9 agosto 2023)

  • Supporta una serie di versioni per la dipendenza NavSDK. ** Supporta la versione 4.5.0 fino alla versione 5.0.0 (esclusa).
  • Impedisci che l'orario di arrivo stimato diminuisca automaticamente quando il veicolo è fermo. Questa modifica verrà implementata gradualmente come esperimento, pertanto non tutte le applicazioni vedranno la modifica contemporaneamente.

v4.5.0 (12 maggio 2023)

  • Aggiorna la dipendenza dell'SDK Navigazione alla versione 4.5. Tieni presente che gli ID gruppo e artefatto per l'SDK di navigazione sono cambiati.

v4.4.3 (20 marzo 2023)

Modifica delle dipendenze

  • Esegui l'upgrade della dipendenza dell'SDK Navigation alla versione 4.4.1.

v4.4.2 (15 febbraio 2023)

Correzioni di bug

  • Migliora il tempo di recupero della rete quando l'SDK riscontra un problema di connessione temporaneo. Questa funzionalità è attualmente in fase di esperimento.

  • Ignora le richieste UpdateVehicle che contengono solo una località "Raw".

  • Correggi la condizione di gara nell'API ALPHA "Route Overview".

v4.4.1 (18 novembre 2022)

Correzioni di bug

  • È stato corretto un bug nella logica di caricamento del traffico.

Ulteriori modifiche

  • Miglioramenti interni alle intestazioni delle richieste e ai report sui codici di stato.

v4.4.0 (21 settembre 2022)

Correzioni di bug

  • Risolto un bug che impediva la rimozione della notifica "Guida con Google Maps" se l'istanza dell'API non veniva cancellata.

Modifica delle dipendenze

  • Esegui l'upgrade della dipendenza dell'SDK Navigation alla versione 4.2.2.

v4.3.0 (24 agosto 2022)

Miglioramenti interni.

Annuncio: supporto di blocco per Android 5 (21 luglio 2022)

Per la nostra ultima versione dell'SDK (v4.2.0), forniremo un ulteriore anno di supporto per le app eseguite su Android 5, sia per i livelli API 21 che 22.

Implicazioni:

  • L'SDK di navigazione e l'SDK Driver in esecuzione sulle tue app Android supporteranno Android 5 (livello API 21) minimo fino al 30 giugno 2023.
  • Dopo il 30 giugno 2023, supporteremo solo i livelli API Android 23 e versioni successive. In altre parole, dopo questa data non supporteremo più i livelli API Android 21 e 22 in tutte le versioni dell'SDK. Ciò significa che i bug relativi ad Android 21 o 22 in qualsiasi versione dell'SDK (incluso 4.x) non verranno corretti e non garantiamo che gli SDK si comportino correttamente.

Questa notifica sostituisce l'avviso di blocco relativo al supporto di Android 21 e 22 a partire dal 21 giugno 2021, mentre Android 23, 24 e 25 supportano il blocco a partire dal 18 ottobre 2021.

v4.2.0 (8 giugno 2022)

Modifica delle dipendenze

  • Esegui l'upgrade della dipendenza dell'SDK di Nav alla versione v4.1.3.
  • Esegue il downgrade del livello API Android minimo supportato a 21.

v4.1.0 (28 aprile 2022)

Aggiornamenti dell'API

  • Proprietà parentId dell'oggetto Task rinominata in trackingId. La vecchia proprietà esiste ancora per il momento, ma è deprecata.

  • Sono stati modificati alcuni tipi di reso da Future al più specifico ListenableFuture e da List al più specifico ImmutableList.

v4.0.0 (29 novembre 2021)

Il livello API Android minimo supportato per questa release è 23.

Aggiornamenti dell'API

Per questa release, l'SDK Driver per Android è stato aggiornato con le seguenti modifiche.

Modifica all'API VehicleStops

Gli oggetti VehicleStop ora fanno riferimento a un elenco di oggetti TaskInfo invece che a un elenco di Task. Se hai bisogno dello stato dell'attività, ti consigliamo di tracciarlo nel codice dell'applicazione.

  • È stato aggiunto un nuovo corso: TaskInfo

  • Funzione getTasks di VehicleStop sostituita con la funzione getTaskInfoList.

  • Funzione setTasks di VehicleStop.Builder sostituita con la funzione setTaskInfoList.

Monitoraggio degli arresti anomali

Sono stati aggiunti il monitoraggio e il reporting degli arresti anomali per contribuire a migliorare la stabilità dell'SDK. Questa funzionalità è attiva per impostazione predefinita, ma puoi disattivarla se chiami setAbnormalTerminationReportingEnabled() e passi il valore false prima di inizializzare l'SDK.

GetRemaining VehicleStops asincroni

Autenticazione

Le proprietà non necessarie sono state rimosse dall'interfaccia AuthTokenContext. L'API ServiceType è stata ritirata. Ora devi solo ricevere rivendicazioni per l'ID veicolo e l'ID attività inclusi, anziché utilizzare ServiceType.

18 ottobre 2021: supporto del blocco per i livelli API 23, 24 e 25

Leggi l'annuncio del 18 ottobre

In risposta ai cambiamenti nelle nostre dipendenze interne, i livelli delle API Android 23, 24 e 25 (Android 6, 7.0 e 7.1) non saranno supportati nelle nuove versioni degli SDK di navigazione e driver per Android, a partire dal terzo trimestre del 2022.

Gli SDK di navigazione e driver per le versioni Android rilasciate a partire dal terzo trimestre del 2022 supporteranno solo i dispositivi che eseguono almeno un livello API Android 26.

Le versioni dell'app create con la versione 4.x o precedente dell'SDK Navigazione e driver per Android continueranno a funzionare sui dispositivi con livello API Android 25 e versioni precedenti.

v3.0.4 (28 luglio 2021)

Funzionalità

Con questa release, l'SDK Driver viene separato ufficialmente dall'SDK Navigation. Consulta la guida alla migrazione per i dettagli.

Aggiornamenti dell'API

Sono stati aggiunti i seguenti metodi:

DeliveryDriverApi.getDriverSdkVersion()

Stabilità e correzioni di bug

Segnala errori PERMISSION_DENIED anziché classificarli come errori di connessione.

Annuncio sul ritiro (21 giugno 2021)

Questo annuncio descrive il ritiro dell'SDK Driver per Android e dell'SDK di navigazione per Android a partire dalla data elencata sopra. Questo annuncio è stato anche inviato come annuncio di servizio obbligatorio (MSA) ai clienti interessati.

Per semplificare l'integrazione del cliente e accelerare la nostra capacità di offrire funzionalità utili, abbiamo deciso di suddividere l'SDK Navigazione per Android e l'SDK Driver per Android in due programmi binari diversi:

  • SDK di navigazione per Android, che fornirà funzionalità di navigazione e percorsi per i conducenti.
  • l'SDK Driver per Android, che ti consentirà di sfruttare i servizi web stateful di Fleet Engine per l'avanzamento e l'allocazione di percorsi o attività.

Tieni presente che l'SDK Driver per Android ha una dipendenza obbligatoria su Navigatore SDK per Android per le funzioni di routing principali.

Quali sono le modifiche?

I principali cambiamenti della versione 3 sono:

  • Due programmi binari anziché uno.
  • Definizioni dei pacchetti più chiare per l'SDK Driver per le classi Android.
  • L'SDK di navigazione per Android include l'SDK Maps per Android nella confezione (a partire dall'SDK Navigazione per Android v2).
    • In questo modo le mappe e le funzionalità di navigazione possono coesistere sulla stessa mappa (ad esempio disegnare polilinee su un NavigationView) e ridurre l'utilizzo della memoria poiché viene utilizzata una singola mappa anziché due.
    • L'SDK di navigazione per Android 3.0 non ha parità di funzionalità complete con l'SDK di navigazione per Android, ma la versione 3.2 risolverà la maggior parte dei problemi qui. Per ulteriori informazioni, vedi Che cosa posso fare e quando?.
  • Logging che ci consentirà di eseguire più facilmente il debug dei problemi che potresti riscontrare.

Anche i seguenti metodi sono stati rimossi nella versione 3, dopo essere stati precedentemente contrassegnati come deprecati e per i quali esiste già una soluzione alternativa:

  • I seguenti metodi dell'SDK Nav/Driver sono stati ritirati nella versione 1.16, rilasciati il 10 agosto 2020 e rimossi nella versione 3.0:
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • Per completezza e chiarezza, tieni presente che una serie di metodi sono stati rimossi nella transizione dalla versione v1 alla versione v2. La maggior parte di queste era accorpamento di classi duplicate tra l'SDK di navigazione per Android e l'SDK Maps per Android. Consulta la guida alla migrazione per comprendere meglio queste modifiche.

Ritiro dell'SDK Driver per Android e dell'SDK Navigation per Android v1.x

L'SDK Nav/Driver v1 è stato rilasciato nel 2018 e, con le nostre versioni v3 che verranno rilasciate a breve, è il momento di ritirare la versione 1 per evitare l'insostenibilità del supporto di molte versioni principali.

Il tempo risparmiato dal non dover supportare questa versione aggiuntiva ci consentirà di supportare meglio l'ultima versione principale e di creare più funzionalità importanti per i nostri clienti.

Pertanto, la versione 1.x dell'SDK Nav/Driver è ora deprecata e non verrà più gestita dopo il 21 giugno 2022.

Scopri come funzionano i ritiri nelle versioni dell'SDK.

Lettura annuncio revocato

La prossima versione 4.0 dell'SDK Navigation per Android e dell'SDK Driver per Android supporterà almeno [Android 6.0 (livello API 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. L'attuale versione minima supportata è Android 5.0 (livello API 21). Prevediamo di rilasciare la versione 4.0 nel quarto trimestre del 2021. Ciò significa che:

  • Le versioni dell'app create con versioni precedenti alla v4.x continueranno a funzionare sui dispositivi Android 21 e 22. Le app dei driver che hanno integrato i nostri SDK attuali continueranno a funzionare sui dispositivi con Android 21 o versioni successive. È la stessa cosa di prima.
  • Le versioni dell'app create con l'SDK Driver per Android e l'SDK di navigazione per Android v4.x (scelte come target per il quarto trimestre del 2021, soggette a modifiche) e successive a questa versione non potranno essere installate sui dispositivi con Android 21 e 22. La versione 4.x verrà eseguita su Android 6.0 (livello API 23), quindi le versioni dell'app realizzate con i driver Android 2 e versioni successive potranno ricevere solo la versione 4 e Android 2.

Le versioni dell'SDK Navigation for Android v3 e dell'SDK Driver per Android v3 a cui vuoi eseguire l'upgrade sono spiegate nella tabella seguente e indica quando saranno disponibili.

Quali funzionalità della piattaforma Driver utilizzi? Utilizzi queste funzionalità? Le prime versioni disponibili a cui dovresti eseguire l'upgrade sono... Disponibilità prevista
(soggetto a variazione)
Link per la migrazione
Solo navigazione
(metodi NavSDK)
No NavSDK versione 3.0.1 Ora Guida
NavSDK 3.5 (previsione) settembre 2021
Navigazione e monitoraggio di Fleet Engine (metodi NavSDK e DriverSDK) No SDK Nav v3.0 e SDK Driver v3.0 Guida alla migrazione del driver v3.0 disponibile alla release
NavSDK v3.x e DriverSDK v3.0

Per continuare a utilizzare i metodi rimossi, puoi mantenere la versione 1.x, ma senza attendere il supporto o la manutenzione dopo il 21 giugno 2022 (vedi la sezione successiva).

Ti consigliamo di eseguire la migrazione alla versione 3.x. Ciò significa che:

* L'ultima release di v1.x avverrà il quarto trimestre del 2021 (quindi la versione 1 sarà "funzionalità bloccata").

* A quest'ultima release può essere applicata una patch per 6 mesi successivi, fino al 21 giugno 2022. Trascorso questo periodo, non saremo in grado di rispondere a richieste di bug o funzionalità per la versione 1.x.

Dedica qualche istante a rivedere la seguente tabella e la [guida alla migrazione](/maps/documentation/navigation-sdk-android/v2/migration) per aiutarti a individuare queste modifiche.

Entro quando cosa posso fare?

Se al momento sei su... Utilizzi queste funzionalità? Per eseguire l'upgrade ora Per eseguire l'upgrade a settembre 2021 Link per la migrazione
v1.x
(non utilizzare FleetEngine.java / funzionalità Driver)
No NavSDK versione 3.0 Guida
Nessuna opzione NavSDK 3.x
v1.x
(utilizzando FleetEngine.java / funzionalità del driver)
No Nessuna opzione NavSDK 3.x +
DriverSDK 3.x
La guida in alto, più la guida alla migrazione di Driver v3.0 disponibile alla release.

Ti consigliamo di avvisare i conducenti con dispositivi su Android 21 e 22 di eseguire l'upgrade a una versione più recente di Android (minimo Android 6.0) prima di integrare nell'app driver l'SDK Driver per Android e l'SDK Navigazione per Android versione 4.x e successive.

v1.15.3 (9 ottobre 2020)

Aggiornamenti dell'API

  • L'SDK Driver ora si registra all'SDK Navigation per gli aggiornamenti del traffico, che vengono inviati all'API Fleet Engine.

Stabilità e correzioni di bug

  • Risolto un arresto anomalo del runtime gRPC.

v1.15.2

Funzionalità

Aggiunta la possibilità di interrompere la notifica persistente. Se la segnalazione della posizione viene interrotta nell'istanza Fleet Engine, le indicazioni vengono interrotte in Navigator, tutti i listener di navigazione non vengono registrati e NavigationFragment o NavigationView viene messo in pausa.

Stabilità e correzioni di bug

  • Risolto un bug che causava la generazione di un'eccezione se l'istanza di Fleet Engine veniva cancellata.

v1.15.1 (12 maggio 2020)

Funzionalità

L'analisi preliminare dei dati della versione 1.15.0 ha indicato miglioramenti significativi nella segnalazione della posizione stabile (riduzione delle posizioni "bloccate"). Questa correzione consente di continuare a usufruire della migliore segnalazione della posizione. Il problema ANR non era correlato a questi miglioramenti.

Stabilità e correzioni di bug

  • Risolto un bug che a volte causava la visualizzazione di una linea retta all'inizio del percorso nell'app consumer.
  • Risolto un bug che potrebbe causare un errore ANR quando l'SDK segnalava le località. Ciò è stato generato da onArrival() miglioramenti che erano suscettibili di bloccare la contesa. In alcune circostanze siamo riusciti a riprodurre gli errori ANR e a verificare che le correzioni abbiano risolto il problema. L'app di test modificata per produrre gli errori ANR è stata eseguita per otto ore senza un errore ANR dopo la correzione.

v1.15.0 (23 marzo 2019)

Funzionalità

  • Introduzione dello stato delle indicazioni di navigazione agli eventi di partenza, di uscita e di arrivo per migliorare il monitoraggio della posizione del veicolo.
  • Aggiunta la possibilità di continuare a visualizzare le posizioni impostate per l'allineamento alla strada, indipendentemente dallo stato di navigazione.
  • Sono state aggiunte ulteriori informazioni sulle posizioni posizionate prima della strada, come la precisione.

Stabilità e correzioni di bug

  • Il valore minSdkVersion per navsdk è stato aumentato a 19.
  • Risolto un bug per cui i nomi dei Waypoint lat/lng non venivano rispettati in caso di errore della geocodifica inversa lato server.

Rilascio v1.14.2 (2 febbraio 2019)

Funzionalità

  • Impedisce a DriverSDK di inviare 0,0 posizioni a Fleet Engine (migliori dati per condivisione e allocazione del percorso).
  • Logging aggiuntivo per migliorare i problemi di posizione bloccata e ridurre gli elementi di riserva per la condivisione del percorso.
  • Ignora le chiamate ripetute a setLocationReportingInterval(), a meno che l'intervallo non cambi.
  • Sono stati aggiornati i documenti Java per il metodo setReportingInterval() con l'obiettivo di scoraggiare le chiamate ripetute di questo metodo a una frequenza elevata rispetto agli intervalli utilizzati.
  • Migliora l'affidabilità della posizione dell'API 29.

v1.13.0

Stabilità e correzioni di bug

  • Aggiunge una dipendenza da okhttp che i client dovranno aggiungere alle proprie build gradle.

v1.11.7 (18 ottobre 2019)

Stabilità e correzioni di bug

  • Gli aggiornamenti della posizione continuano dopo l'attivazione di onArrival() per una determinata destinazione.
  • La notifica predefinita (una stringa costante in modalità Navigazione libera) corrisponde alla combinazione di colori impostata per le notifiche di navigazione. Per maggiori informazioni, consulta Notifiche persistenti condivise.
  • Risolto il problema per cui un evento di aggiornamento della posizione ritardato potrebbe causare un aggiornamento della posizione non corretto, causando artefatti come una linea retta all'inizio di una route.

v1.11.6 (4 ottobre 2019)

Aggiornamenti dell'API

  • È stata introdotta una serie di modifiche che assicurano che l'SDK Driver ripristini gli aggiornamenti della posizione rapidamente dopo un guasto di rete. Una volta ripristinata la connessione di rete, gli aggiornamenti della posizione ricominciano al successivo aggiornamento pianificato della posizione.

Stabilità e correzioni di bug

  • setVehicleState() ora è disponibile immediatamente. L'aggiornamento di FleetEngine ora avviene su un thread in background. Risolve un problema L'applicazione non risponde (ANR).
  • Risolto un problema che causava la visualizzazione delle route di condivisione del percorso come una linea retta utilizzando versioni precedenti dell'SDK Consumer. Garantisce che l'SDK Driver non aggiunga alla route una tantum.