Questa sezione contiene le note di rilascio dell'SDK Driver per Android.
Annuncio: interruzione del supporto per i livelli API 23, 24 e 25
In conformità con le norme relative al supporto delle versioni del sistema operativo mobile, stiamo interrompendo il supporto di Android 6 e 7 (livello API 23, 24 e 25) nelle prossime versioni principali dell'SDK Driver per Android.
Le versioni dell'SDK Driver per Android rilasciate a partire dal quarto trimestre del 2025 supportano Android 8 (livello API 26) come minimo. Le versioni precedenti dell'SDK continueranno a supportare Android 6 e 7.
Se le tue dipendenze non specificano un numero di versione, l'IDE caricherà la versione più recente dell'SDK e le nuove build della tua app non supporteranno Android 6 e 7.
Specifica una versione dell'SDK Driver per Android nelle dipendenze di build della tua applicazione per controllare quando aumentare il sistema operativo minimo supportato per le nuove versioni della tua app.
v6.2.0 (18 giugno 2025)
Correzioni di bug
- È stato corretto l'arresto anomalo di
NullPointerException
durante la chiamata diDriverApi.createInstance()
quando non viene fornito unDriverStatusListener
.
Modifiche alla configurazione e alle dipendenze
A partire dalla versione 6.2.0 dell'SDK Driver per Android, le app devono eseguire l'upgrade a Kotlin 2.1.
Sono state aggiornate le versioni supportate dell'SDK Navigation, inclusa la versione 6.1.0 e successive.
v6.1.0 (10 marzo 2025)
Correzioni di bug
- Miglioramenti alla registrazione interna.
v5.99.1 (10 gennaio 2025)
Correzioni di bug
- È stato risolto il problema per cui i conducenti ricevevano errori gRPC con il codice "INTERNAL" e un messaggio "Panic! Questa è una descrizione di un bug!" al primo avvio dell'applicazione dopo l'installazione.
v6.0.0 (25 novembre 2024)
Correzioni di bug
- È stato risolto il problema per cui i conducenti ricevevano errori gRPC con il codice "INTERNAL" e un messaggio "Panic! Questa è una descrizione di un bug.
- Miglioramento interno per ridurre gli errori di connessione durante l'aggiornamento della posizione, in particolare quando il dispositivo cambia rete. L'implementazione avverrà in modo progressivo (a partire dallo 0%) una volta integrata la release.`
Aggiornamenti dell'API
- Rimossa l'interfaccia deprecata
StatusListener
.
Modifiche alla configurazione e alle dipendenze
- Rimuovi la dipendenza da
glide:cronet-integration
in POM.xml - Sono state aggiornate le versioni supportate dell'SDK Navigation alla versione 5.x.
- A partire dalla versione 6.0.0 dell'SDK Driver per Android, le app devono eseguire l'upgrade a Kotlin 2.0.
- targetSdk ora è il livello API 34. Si tratta di un requisito per tutte le app che vengono implementate su Google Play Store a partire da agosto 2024. Consulta Soddisfare i requisiti relativi ai livelli API target di Google Play.
v5.99.0 (20 settembre 2024)
Correzioni di bug
- È stato risolto il problema per cui i conducenti ricevevano errori gRPC con il codice "INTERNAL" e un messaggio "Panic! Questa è una descrizione di un bug. Questa funzionalità verrà implementata in modo progressivo (a partire dallo 0%) una volta integrata la release.
- Miglioramento interno per ridurre gli errori di connessione durante l'aggiornamento della posizione, in particolare quando il dispositivo cambia rete. L'implementazione avverrà in modo progressivo (a partire dallo 0%) una volta integrata la release.`
Modifiche alla configurazione e alle dipendenze
- Rimuovi la dipendenza da
glide:cronet-integration
in POM.xml
v5.0.0 (12 settembre 2023)
Modifiche alla configurazione e alle dipendenze
- È stato aggiornato l'SDK Navigation alla versione 5.x.
- È stato eseguito l'upgrade di
minSdkVersion
all'API 23. - È stata eseguita l'upgrade della versione di Kotlin alla 1.9.0.
- È stata aggiunta una dipendenza da
Room.
* Le app che utilizzano Driver SDK ora devono
avere
targetSdkVersion
dell'API 31 o versioni successive. - Le app che utilizzano Driver SDK ora devono abilitare il supporto della libreria Java 8. Visita la pagina https://developer.android.com/studio/write/java8-support per istruzioni sull'aggiornamento.
- Le app che utilizzano ProGuard o DexGuard devono eseguire la migrazione a R8. Per saperne di più, visita la pagina https://developer.android.com/build/shrink-code.
- Le app che utilizzano Driver SDK devono abilitare il desugaring. Per istruzioni, consulta https://developer.android.com/studio/write/java8-support#library-desugaring.
Correzioni di bug
- Risolto il problema relativo alla sincronizzazione di disableLocationTracking.
- È stata introdotta una nuova interfaccia DriverStatusListener che segnala una causa negli aggiornamenti dello stato delle eccezioni.
- È stato risolto il problema dei conducenti che rimangono fermi (disponibile a partire dalla versione 4.99.0).
v4.99.0 (9 agosto 2023)
- Supporta una gamma di versioni per la dipendenza NavSDK. ** Supporta la versione 4.5.0 fino alla versione 5.0.0 esclusa.
- Impedire che l'ETA diminuisca da solo quando il veicolo è fermo. Questa modifica viene implementata gradualmente come esperimento, quindi non tutte le applicazioni vedranno questa modifica contemporaneamente.
v4.5.0 (12 maggio 2023)
- Aggiorna la dipendenza dell'SDK Navigation alla versione 4.5. Tieni presente che gli ID gruppo e artefatto per l'SDK Navigation sono cambiati.
v4.4.3 (20 marzo 2023)
Modifica della dipendenza
- 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 ripristino della rete quando l'SDK rileva un problema di connessione temporaneo. Questa è una correzione sperimentale.
Ignora le richieste
UpdateVehicle
che contengono solo una posizione "Raw".Correzione della condizione di competizione nell'API ALPHA "Panoramica del percorso".
v4.4.1 (18 novembre 2022)
Correzioni di bug
- È stato corretto un bug nella logica di caricamento del traffico.
Ulteriori modifiche
- Miglioramenti interni nelle intestazioni delle richieste e nella segnalazione del codice di stato.
v4.4.0 (21 settembre 2022)
Correzioni di bug
- È stato corretto un bug che impediva la rimozione della notifica "Guida con Google Maps" se l'istanza API non veniva cancellata.
Modifica della dipendenza
- Esegui l'upgrade della dipendenza dell'SDK Navigation alla versione 4.2.2.
v4.3.0 (24 agosto 2022)
Miglioramenti interni.
Annuncio: interruzione del supporto di Android 5 (21 luglio 2022)
Per la nostra ultima versione dell'SDK (v4.2.0), forniamo un ulteriore anno di supporto per le app in esecuzione su Android 5, sia per i livelli API 21 che 22.
Implicazioni:
- L'SDK Navigation e l'SDK Driver in esecuzione sulle tue app per 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 successivi. 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 (inclusa la 4.x) non verranno corretti e non garantiamo che gli SDK si comportino correttamente.
Questo avviso sostituisce l'avviso di interruzione del supporto di Android 21 e 22 del 21 giugno 2021 e l'interruzione del supporto di Android 23, 24 e 25 del 18 ottobre 2021.
v4.2.0 (8 giugno 2022)
Modifica della dipendenza
- Esegui l'upgrade della dipendenza dell'SDK di navigazione alla versione 4.1.3.
- Esegue il downgrade del livello API Android minimo supportato a 21.
v4.1.0 (28 aprile 2022)
Aggiornamenti dell'API
È stata rinominata la proprietà
parentId
dell'oggettoTask
intrackingId
. La vecchia proprietà esiste ancora per ora, ma è deprecata.
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 dell'API VehicleStops
Gli oggetti VehicleStop
ora fanno riferimento a un elenco di oggetti
TaskInfo
anziché a un elenco di oggetti
Task
. Se hai bisogno dello stato dell'attività, ti consigliamo di monitorarlo nel codice dell'applicazione.
È stata aggiunta una nuova classe:
TaskInfo
La funzione
getTasks
diVehicleStop
è stata sostituita con la funzionegetTaskInfoList
.La funzione
setTasks
diVehicleStop.Builder
è stata sostituita con la funzionesetTaskInfoList
.
Monitoraggio degli arresti anomali
Sono stati aggiunti il monitoraggio e la generazione di report sugli arresti anomali per contribuire a migliorare la stabilità dell'SDK.
Questa funzionalità è attivata per impostazione predefinita, ma puoi disattivarla se chiami
setAbnormalTerminationReportingEnabled()
e gli trasmetti un valore di false
prima di
inizializzare l'SDK.
- Aggiunta della funzione
setAbnormalTerminationReportingEnabled
aDriverApi
.
Async getRemainingVehicleStops
- Modificata la funzione
DeliveryVehicleReporter
digetRemainingVehicleStops
per restituire un oggetto Future<List<VehicleStop>> anziché un List<VehicleStop>.
Autenticazione
Sono state rimosse le proprietà non necessarie dall'interfaccia AuthTokenContext
.
ServiceType
è stato ritirato. Ora devi ottenere le rivendicazioni solo per l'ID veicolo e l'ID attività inclusi, anziché fare affidamento a ServiceType
.
ServiceType
rimosso daAuthTokenContext
.getServiceType()
rimosso daAuthTokenContext
.setServiceType
rimosso daAuthTokenContext.Builder
.
18 ottobre 2021: interruzione del supporto per i livelli API 23, 24 e 25
Leggi l'annuncio del 18 ottobre
In risposta alle modifiche alle nostre dipendenze interne, i livelli API Android 23, 24 e 25 (Android 6, 7.0 e 7.1) non saranno supportati nelle nuove versioni degli SDK Navigation e Driver per Android, a partire dal terzo trimestre del 2022.
Gli SDK Navigation e Driver per le versioni di Android rilasciate a partire dal terzo trimestre del 2022 supporteranno solo i dispositivi con almeno il livello API 26 di Android.
Le versioni delle app create con la versione 4.x o precedenti degli SDK Navigation e Driver per Android continueranno a funzionare sui dispositivi con livello API Android 25 e precedenti.
v3.0.4 (28 luglio 2021)
Funzionalità
Con questa release, l'SDK Driver è ufficialmente separato dall'SDK Navigation. Per maggiori dettagli, consulta la guida alla migrazione.
Aggiornamenti dell'API
Sono stati aggiunti i seguenti metodi:
`RidesharingDriverApi.getDriverSdkVersion()`Correzioni di bug e miglioramenti della stabilità
Segnala gli errori PERMISSION_DENIED
anziché classificarli come errori di connessione.
Annuncio del ritiro (21 giugno 2021)
Questo annuncio descrive i ritiri dell'SDK Driver per Android e dell'SDK Navigation per Android a partire dalla data sopra indicata. Questo annuncio è stato inviato anche come annuncio di servizio obbligatorio (MSA) ai clienti interessati.
L'SDK Nav/Driver per Android diventerà l'SDK Navigation per Android v3.x e l'SDK Driver per Android v3.x per Android (binari suddivisi)
Per semplificare l'integrazione dei clienti e accelerare la nostra capacità di fornire funzionalità utili, stiamo dividendo l'SDK Navigation per Android e l'SDK Driver per Android in due binari diversi:
- SDK Navigation per Android, che fornirà funzionalità di navigazione/pianificazione dell'itinerario per i tuoi autisti.
- SDK Driver per Android, che ti consentirà di sfruttare i servizi web stateful di Fleet Engine per l'avanzamento e l'assegnazione di viaggi o attività.
Tieni presente che l'SDK Driver per Android ha una dipendenza obbligatoria dall'SDK Navigation per Android per le funzioni di routing principali.
Quali sono le modifiche?
Le modifiche principali della versione 3 sono:
- Due binari anziché uno.
- Definizioni dei pacchetti più chiare per le classi dell'SDK Driver per Android.
- SDK Navigation per Android include Maps SDK for Android come
parte del pacchetto (a partire da SDK Navigation per Android v2).
- Ciò consente alle funzionalità di mappe e navigazione di coesistere sulla stessa mappa (ad esempio disegnare polilinee su una NavigationView) e riduce l'utilizzo della memoria poiché viene utilizzata una singola mappa anziché due.
- L'SDK Navigation per Android 3.0 non offre la stessa parità di funzionalità dell'SDK Navigation per Android, ma la versione 3.2 risolverà la maggior parte dei problemi. Per maggiori dettagli, vedi Cosa posso fare e quando?
- Registrazione che ci consentirà di eseguire il debug più facilmente dei problemi che potresti riscontrare.
Anche i seguenti metodi sono stati rimossi nella versione 3, essendo stati precedentemente contrassegnati come obsoleti e per i quali esiste già una soluzione alternativa:
- I seguenti metodi dell'SDK Nav/Driver sono stati ritirati nella versione 1.16, rilasciata il
10 agosto 2020, e sono stati rimossi nella versione 3.0:
Waypoint#fromLatLng(*)
Waypoint#fromPlaceId(*)
Navigator#startGuidance(resumeIntent)
NavigationApi#initForegroundServiceManager(*)
- Per completezza e chiarezza, tieni presente che nella transizione dalla versione 1 alla versione 2 sono stati rimossi diversi metodi. La maggior parte di queste modifiche riguardava il consolidamento di classi duplicate tra l'SDK Navigation per Android e l'SDK Maps per Android. Per comprendere meglio queste modifiche, consulta la guida alla migrazione.
Ritiro dell'SDK Driver per Android e dell'SDK Navigation per Android v1.x
L'SDK Nav/Driver v1 è stata rilasciata nel 2018 e, con il rilascio imminente delle versioni v3, è il momento di ritirare la v1 per evitare l'insostenibilità del supporto di molte versioni principali.
Il tempo risparmiato non dovendo supportare questa versione aggiuntiva ci consentirà di supportare meglio l'ultima versione principale e creare più funzionalità importanti per i nostri clienti.
Pertanto, l'SDK Nav/Driver v1.x è ora deprecato e non verrà più gestito dopo il 21 giugno 2022.
Ti invitiamo a dedicare qualche istante per scoprire come funzionano le deprecazioni nelle versioni dell'SDK.
Fine del supporto per gli SDK Navigation e Driver Android 21 e 22
Leggi l'annuncio di revoca
La prossima versione 4.0 dell'SDK Navigation per Android e dell'SDK Driver per Android supporterà un minimo di [Android 6.0 (livello API 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. La versione minima supportata attuale è 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 tue app per i conducenti che hanno integrato i nostri SDK attuali continueranno a funzionare sui dispositivi con Android 21 e versioni successive. Come prima.
- Le versioni dell'app create con Driver SDK per Android e Navigation SDK per Android v4.x (previsto per il quarto trimestre del 2021, soggetto a modifiche) e successive non potranno essere installate su dispositivi con Android 21 e 22. La versione 4.x verrà eseguita su Android 6.0 (livello API 23) o versioni successive, pertanto le versioni della tua app create con la futura versione 4.x potranno essere ricevute solo dai conducenti con dispositivi con Android 23 o versioni successive. In altre parole, sia le modifiche relative all'SDK sia quelle apportate all'app non raggiungeranno i conducenti con dispositivi con Android 21 e 22.
Le versioni dell'SDK Navigation per Android v3 e dell'SDK Driver per Android v3 a cui ti consigliamo di eseguire l'upgrade sono spiegate nella tabella seguente, insieme alla data di disponibilità.
Quali funzionalità della piattaforma Driver utilizzi? | Utilizzi queste funzionalità? | Le prime versioni disponibili a cui dovresti eseguire l'upgrade sono… | Disponibilità prevista (soggetta a modifiche) |
Link per la migrazione |
---|---|---|---|---|
Solo navigazione (metodi NavSDK) |
No | NavSDK v3.0.1 | Ora | Guida |
Sì | NavSDK v3.5 (previsto) | settembre 2021 | ||
Monitoraggio della navigazione e 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 al momento del rilascio | |
Sì | NavSDK v3.x e DriverSDK v3.0 |
Per continuare a utilizzare i metodi rimossi, puoi rimanere sulla versione 1.x, ma senza aspettarti assistenza o 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 della versione 1.x verrà rilasciata nel quarto trimestre del 2021 (e quindi la versione 1 non verrà più aggiornata).
* Questa ultima release può essere patchata per i sei mesi successivi, fino al 21 giugno 2022. Dopo questo periodo, non saremo in grado di rispondere a richieste di bug o funzionalità per la versione 1.x.
Ti invitiamo a esaminare la tabella seguente e la [guida alla migrazione](/maps/documentation/navigation-sdk-android/v2/migration) per aiutarti a gestire queste modifiche.
Che cosa posso fare e entro quando?
Se attualmente hai un abbonamento a… | Utilizzi queste funzionalità? | Per eseguire l'upgrade ora | Eseguire l'upgrade a settembre 2021 | Link per la migrazione |
---|---|---|---|---|
v1.x (non utilizza FleetEngine.java / funzionalità del conducente) |
No | NavSDK v3.0 | Guida | |
Sì | Nessuna opzione | NavSDK 3.x | ||
v1.x (utilizzando FleetEngine.java / funzionalità del conducente) |
No | Nessuna opzione | NavSDK 3.x + DriverSDK 3.x |
La guida precedente, oltre alla guida alla migrazione del driver v3.0 disponibile al momento del rilascio. |
Sì |
Ti consigliamo di comunicare ai tuoi autisti con dispositivi Android 21 e 22 di eseguire l'upgrade a una versione più recente di Android (minimo Android 6.0) prima di integrare l'SDK Driver per Android e l'SDK Navigation per Android versione v4.x e successive nella tua app per i conducenti.
v1.15.3 (9 ottobre 2020)
Aggiornamenti dell'API
- L'SDK Driver ora si iscrive all'SDK Navigation per gli aggiornamenti sul traffico, che vengono inviati all'API Fleet Engine.
Correzioni di bug e miglioramenti della stabilità
- È stato corretto un arresto anomalo del runtime gRPC.
v1.15.2
Funzionalità
Aggiunta la possibilità di interrompere la notifica persistente. Se la generazione di report sulla posizione viene
interrotta nell'istanza Fleet Engine, la guida viene interrotta in Navigator
, tutti
i listener di navigazione vengono annullati e NavigationFragment
o
NavigationView
viene messo in pausa.
Correzioni di bug e miglioramenti della stabilità
- È stato corretto 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 utilizzare i report sulla posizione migliorati. Il problema ANR non era correlato a questi miglioramenti.
Correzioni di bug e miglioramenti della stabilità
- È stato corretto un bug che a volte causava la visualizzazione di una linea retta all'inizio del percorso nell'app per i consumatori.
- È stato corretto un bug che poteva causare un errore ANR durante la segnalazione delle posizioni
da parte dell'SDK. Ciò è dovuto ai miglioramenti di
onArrival()
che erano soggetti a contesa di blocco. Siamo riusciti a riprodurre gli errori ANR in modo affidabile in alcune circostanze e abbiamo verificato che le correzioni hanno risolto il problema. L'app di test modificata per la produzione di ANR è stata eseguita per otto ore senza ANR dopo la correzione.
v1.15.0 (23 marzo 2019)
Funzionalità
- È stato introdotto lo stato della guida alla navigazione negli eventi di avvio, fuori percorso e arrivo per migliorare il monitoraggio della posizione del veicolo.
- È stata aggiunta la possibilità di continuare a ricevere posizioni agganciate alla strada indipendentemente dallo stato di navigazione.
- Sono state aggiunte informazioni aggiuntive sulle posizioni pre-snap stradale, ad esempio la precisione.
Stabilità e correzioni di bug
- È stato aumentato il valore di minSdkVersion per navsdk a 19.
- Risolto un bug che impediva di rispettare i nomi dei waypoint lat/lng quando il geocoding inverso lato server non riusciva.
Rilascio della versione 1.14.2 (2 febbraio 2019)
Funzionalità
- Impedisce a DriverSDK di inviare posizioni 0,0 a Fleet Engine (migliore condivisione del viaggio e input della posizione di allocazione).
- Registrazione aggiuntiva per migliorare i problemi relativi alla posizione bloccata e ridurre i fallback per la condivisione del viaggio.
- Ignora le chiamate ripetute a
setLocationReportingInterval()
a meno che l'intervallo non cambi. - Documentazione Java aggiornata per il metodo
setReportingInterval()
con l'obiettivo di scoraggiare chiamate ripetute di questo metodo a una frequenza elevata rispetto agli intervalli utilizzati. - Migliorata l'affidabilità della posizione dell'API 29.
v1.13.0
Correzioni di bug e miglioramenti della stabilità
- Aggiunge una dipendenza da okhttp che i client dovranno aggiungere alle proprie build gradle.
v1.11.7 (18 ottobre 2019)
Correzioni di bug e miglioramenti della stabilità
- Gli aggiornamenti della posizione ora continuano dopo l'attivazione di
onArrival()
per una determinata destinazione. - La notifica predefinita (una stringa costante in modalità Navigazione senza costi) corrisponde alla combinazione di colori impostata per le notifiche di navigazione. Per ulteriori informazioni, vedi Notifiche permanenti condivise.
- È stato risolto un problema a causa del quale un evento di aggiornamento della posizione ritardato poteva causare un aggiornamento della posizione spurio, causando artefatti come una linea retta all' inizio di un percorso.
v1.11.6 (4 ottobre 2019)
Aggiornamenti dell'API
- È stata introdotta una serie di modifiche che garantiscono che l'SDK Driver riprenda rapidamente gli aggiornamenti della posizione dopo un errore di rete. Una volta ripristinata la connessione di rete, gli aggiornamenti della posizione riprendono al successivo aggiornamento della posizione pianificato.
Correzioni di bug e miglioramenti della stabilità
setVehicleState()
ora viene restituito immediatamente. L'aggiornamento di Fleet Engine ora viene eseguito su un thread in background. Risolve un problema ANR (L'applicazione non risponde).- Risolto un problema che causava la visualizzazione dei percorsi di condivisione del viaggio come una linea retta utilizzando versioni precedenti dell'SDK consumer. Garantisce che non vengano aggiunti waypoint una tantum all'itinerario dall'SDK Driver.