Note di rilascio dell'SDK Driver per Android

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

Annuncio: blocco del supporto per i livelli API 23, 24 e 25

In conformità con le norme relative al supporto delle versioni del sistema operativo mobile, imposteremo il blocco del supporto per Android 6 e 7 (livelli 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 supporteranno almeno Android 8 (livello API 26). Le versioni precedenti dell'SDK continueranno a supportare Android 6 e 7.

Se le dipendenze non specificano un numero di versione, l'IDE caricherà la versione SDK più recente e le nuove build dell'app non supporteranno Android 6 e 7.

Specifica una versione dell'SDK Driver per Android nelle dipendenze di compilazione della tua applicazione per controllare quando aumentare il sistema operativo minimo supportato per le nuove versioni della tua app.

v6.0.0 (25 novembre 2024)

Correzioni di bug

  • È stato risolto il problema per cui i driver ricevevano errori gRPC con il codice "INTERNAL" e un messaggio "Panic! Questo è un bug!".
  • Miglioramento interno per ridurre gli errori di connessione relativi all'aggiornamento della posizione, in particolare quando il dispositivo cambia rete. Questo verrà implementato progressivamente (a partire dallo 0%) una volta integrata la release.`

Aggiornamenti dell'API

  • Interfaccia deprecata StatusListener rimossa.

Modifiche alle dipendenze e alla configurazione

  • Rimuovi la dipendenza da glide:cronet-integration in POM.xml
  • Le versioni supportate dell'SDK Navigation sono state aggiornate 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. Questo è un requisito per tutte le app implementate nel Google Play Store a partire da agosto 2024. Consulta la sezione Soddisfare il requisito relativo al livello API target di Google Play.

v5.99.0 (20 settembre 2024)

Correzioni di bug

  • È stato risolto il problema per cui i driver ricevevano errori gRPC con il codice "INTERNAL" e un messaggio "Panic! Questo è un bug!". L'implementazione verrà eseguita gradualmente (a partire dallo 0%) dopo l'integrazione della release.
  • Miglioramento interno per ridurre gli errori di connessione relativi all'aggiornamento della posizione, in particolare quando il dispositivo cambia rete. Questo verrà implementato progressivamente (a partire dallo 0%) una volta integrata la release.`

Modifiche alle dipendenze e alla configurazione

  • Rimuovi la dipendenza da glide:cronet-integration in POM.xml

v5.0.0 (12 settembre 2023)

Modifiche alle dipendenze e alla configurazione

  • L'SDK Navigation è stato aggiornato alla versione 5.x.
  • Upgrade di minSdkVersion all'API 23.
  • È stato eseguito l'upgrade della versione di Kotlin a 1.9.0.
  • È stata aggiunta la dipendenza da Room. * 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, consulta https://developer.android.com/studio/write/java8-support.
  • Le app che utilizzano ProGuard o Dexguard devono eseguire la migrazione a R8. Per ulteriori informazioni, visita la pagina https://developer.android.com/build/shrink-code.
  • Le app che utilizzano l'SDK Driver devono attivare la rimozione del codice non necessario. Per istruzioni, consulta https://developer.android.com/studio/write/java8-support#library-desugaring

Correzioni di bug

  • Risolto un problema con la sincronizzazione di disattivaLocalizzazione.
  • È stata introdotta la nuova interfaccia DriverStatusListener che segnala una causa negli aggiornamenti dello stato delle eccezioni.
  • È stato risolto un problema relativo ai conducenti fermi (disponibile a partire dalla versione 4.99.0).

v4.99.0 (9 agosto 2023)

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

v4.5.0 (12 maggio 2023)

  • Aggiorna la dipendenza dall'SDK Navigation alla versione 4.5. Tieni presente che gli ID gruppo e degli elementi per l'SDK Navigation sono cambiati.

v4.4.3 (20 marzo 2023)

Modifica della dipendenza

  • Esegui l'upgrade della dipendenza dall'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. Si tratta di una correzione sperimentale.

  • Elimina le richieste UpdateVehicle che contengono solo una posizione "Non elaborata".

  • Correzione della condizione di gara 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 alle intestazioni delle richieste e ai report sui codici 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 dell'API non era stata cancellata.

Modifica della dipendenza

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

v4.3.0 (24 agosto 2022)

Miglioramenti interni.

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

Per la nostra versione SDK più recente (v4.2.0), stiamo offrendo un altro anno di supporto per le app in esecuzione su Android 5, sia per i livelli API 21 che 22.

Implicazioni:

  • L'SDK di navigazione e l'SDK di guida che vengono eseguiti sulle tue app Android supporteranno Android 5 (livello API 21) come versione minima fino al 30 giugno 2023.
  • Dopo il 30 giugno 2023, supporteremo solo i livelli API Android 23 e versioni successive. In altre parole, smetteremo di supportare i livelli API Android 21 e 22 su tutte le versioni dell'SDK dopo questa data. 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.

Questa notifica sostituisce la notifica relativa al blocco del supporto di Android 21 e 22 del 21 giugno 2021 e la notifica relativa al blocco 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 dall'SDK Nav alla versione 4.1.3.
  • Esegue il downgrade del livello API Android supportato minimo a 21.

v4.1.0 (28 aprile 2022)

Aggiornamenti dell'API

  • La proprietà parentId dell'oggetto Task è stata rinominata in trackingId. Per il momento la vecchia proprietà esiste ancora, 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 all'API VehicleStops

Gli oggetti VehicleStop ora fanno riferimento a un elenco di oggetti TaskInfo instead of a List of Task objects. Se hai bisogno dello stato dell'attività, ti consigliamo di monitorarlo nel codice dell'applicazione.

  • È stata aggiunta una nuova classe: TaskInfo

  • La funzione getTasks di VehicleStop è stata sostituita con la funzione getTaskInfoList.

  • La funzione setTasks di VehicleStop.Builder è stata sostituita con la funzione setTaskInfoList.

Monitoraggio degli arresti anomali

È stato aggiunto 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 le passi un valore false prima di inizializzare l'SDK.

Async getRemainingVehicleStops

Autenticazione

Sono state rimosse proprietà non necessarie dall'interfaccia AuthTokenContext. ServiceType è stato deprecato. Ora devi solo richiedere le rivendicazioni per l'ID veicolo e l'ID attività inclusi, anziché fare affidamento su ServiceType.

18 ottobre 2021 - Blocco del supporto per i livelli API 23, 24 e 25

Leggi l'annuncio del 18 ottobre

In risposta alle modifiche delle 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 di navigazione e Driver per le versioni di Android rilasciate a partire dal terzo trimestre del 2022 supporteranno solo i dispositivi con un livello API Android minimo pari a 26.

Le versioni delle app create con la versione 4.x o precedente degli SDK di navigazione e del conducente 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 è ufficialmente distinto dall'SDK Navigation. Per maggiori dettagli, consulta la guida alla migrazione.

Aggiornamenti dell'API

Sono stati aggiunti i seguenti metodi:

`RidesharingDriverApi.getDriverSdkVersion()`

Stabilità e correzioni di bug

Segnala gli errori PERMISSION_DENIED anziché classificarli come errori di connessione.

Annuncio di ritiro (21 giugno 2021)

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

Per semplificare l'integrazione dei clienti e accelerare la nostra capacità di fornire funzionalità utili, stiamo suddividendo l'SDK Navigation per Android e l'SDK Driver per Android in due diversi binari:

  • SDK Navigation per Android, che fornirà funzionalità di navigazione/percorso per i tuoi autisti.
  • SDK Driver per Android, che ti consente di sfruttare i servizi web stateful di Fleet Engine per l'avanzamento e l'allocazione di corse o attività.

Tieni presente che l'SDK Driver per Android ha una dipendenza obbligatoria dall'SDK Navigation per Android per le funzioni di routing di base.

Quali sono le modifiche?

Le modifiche principali nella versione 3 sono:

  • Due file binari anziché uno.
  • Definizioni dei pacchetti più chiare per le classi dell'SDK Driver per Android.
  • L'SDK Navigation per Android include Maps SDK for Android come parte del pacchetto (a partire dalla versione 2 dell'SDK Navigation per Android).
    • In questo modo, le funzionalità di navigazione e mappa possono coesistere sulla stessa mappa (ad esempio il disegno di polilinee in un NavigationView) e l'utilizzo della memoria viene ridotto poiché viene utilizzata una sola mappa anziché due.
    • L'SDK Navigation per Android 3.0 non è completamente compatibile con l'SDK Navigation per Android, ma la versione 3.2 risolverà la maggior parte dei problemi. Per maggiori dettagli, vedi Cosa posso fare e quando?.
  • Log che ci consentiranno di risolvere più facilmente i problemi che potresti riscontrare.

Nella versione 3 sono stati rimossi anche i seguenti metodi, che sono 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 alcuni metodi sono stati rimossi durante la transizione dalla versione 1 alla versione 2. La maggior parte di queste modifiche riguardava il consolidamento di classi duplicate tra SDK Navigation per Android e 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 1.x

La versione 1 dell'SDK Nav/Driver è stata rilasciata nel 2018 e, con il prossimo rilascio delle versioni 3, è giunto il momento di ritirare la versione 1 per evitare l'insostenibilità del supporto di molte versioni principali.

Il tempo risparmiato non dovendo supportare questa versione aggiuntiva ci consentirà di supportare meglio la versione principale più recente e di creare più funzionalità importanti per i nostri clienti.

Pertanto, l'SDK Nav/Driver 1.x è ora deprecato e non verrà più gestito dopo il 21 giugno 2022.

Ti invitiamo a scoprire come funzionano le ritirate nelle versioni dell'SDK.

Leggere l'annuncio di revoca

La versione 4.0 dell'SDK Navigation per Android e dell'SDK Driver per Android, in uscita a breve, supporterà almeno [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 app per i conducenti che hanno integrato i nostri SDK attuali continueranno a funzionare sui dispositivi con Android 21 e versioni successive. Come accadeva in precedenza.
  • Le versioni dell'app create con Driver SDK per Android e Navigation SDK per Android v4.x (destinata al quarto trimestre del 2021, soggetta a modifiche) e successive non potranno essere installate sui dispositivi con Android 21 e 22. v4.x funzionerà 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, ciò significa che sia le modifiche relative all'SDK sia le modifiche apportate all'app non raggiungeranno i conducenti con dispositivi con Android 21 e 22.

Le versioni di Navigation SDK for Android 3 e Driver SDK for Android 3 a cui vuoi eseguire l'upgrade sono descritte nella tabella seguente, insieme alla data di disponibilità.

Quali funzionalità della piattaforma Driver utilizzi? Utilizzi queste funzionalità? Le prime versioni disponibili a cui eseguire l'upgrade sono… Disponibilità prevista
(soggetta a modifiche)
Link per la migrazione
Solo navigazione
(metodi NavSDK)
No NavSDK v3.0.1 Ora Guida
NavSDK 3.5 (prevista) settembre 2021
Monitoraggio di navigazione e Fleet Engine (metodi NavSDK e DriverSDK) No Nav SDK 3.0 e Driver SDK 3.0 Guida alla migrazione del driver v3.0 disponibile al momento del rilascio
NavSDK v3.x e DriverSDK v3.0

Per continuare a utilizzare i metodi rimossi, puoi rimanere nella 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 (quindi la versione 1 sarà "congelata" a partire da quel momento).

* Questa ultima release può essere sottoposta a patch per 6 mesi dopo la data indicata, fino al 21 giugno 2022. Dopo questa data, non saremo in grado di rispondere a richieste di bug o funzionalità per la v1.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 entro quando?

Se al momento utilizzi… Utilizzi queste funzionalità? Per eseguire l'upgrade ora Per eseguire l'upgrade a settembre 2021 Link per la migrazione
v1.x
(non utilizza la funzionalità Driver / FleetEngine.java)
No NavSDK v3.0 Guida
Nessuna opzione NavSDK 3.x
v1.x
(utilizzando la funzionalità Driver / FleetEngine.java)
No Nessuna opzione NavSDK 3.x +
DriverSDK 3.x
La guida riportata sopra, oltre alla guida alla migrazione di Driver v3.0 disponibile al momento del rilascio.

Ti consigliamo di avvisare i conducenti con dispositivi Android 21 e 22 di eseguire l'upgrade a una versione più recente di Android (Android 6.0 o versioni successive) prima di integrare l'SDK Driver per Android e l'SDK Navigation per Android versione 4.x e successive nell'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.

Stabilità e correzioni di bug

  • È stato corretto un arresto anomalo del runtime gRPC.

v1.15.2

Funzionalità

È stata aggiunta la possibilità di interrompere la notifica persistente. Se la generazione di report sulla posizione viene interrotta nell'istanza di Fleet Engine, le indicazioni stradali vengono interrotte in Navigator, tutti gli ascoltatori di navigazione non sono registrati e NavigationFragment o NavigationView è in pausa.

Stabilità e correzioni di bug

  • È stato corretto un bug che causava l'emissione 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 generazione di report sulle località stabili (riduzione delle località "bloccate"). Questa correzione della patch consente di continuare a utilizzare i report sulla posizione migliorati. Il problema ANR non era correlato a questi miglioramenti.

Stabilità e correzioni di bug

  • È stato risolto 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 ANR quando le posizioni vengono registrate dall'SDK. Ciò è stato causato da miglioramenti onArrival() che erano soggetti a contese sui blocchi. Siamo riusciti a riprodurre in modo affidabile gli ANR in alcune circostanze e abbiamo potuto verificare che le correzioni hanno risolto il problema. L'app di test modificata per la generazione degli ANR è stata eseguita per otto ore senza ANR dopo la correzione.

v1.15.0 (23 marzo 2019)

Funzionalità

  • È stato introdotto lo stato delle indicazioni stradali di navigazione per gli eventi di inizio, fuori percorso e arrivo per migliorare il monitoraggio della posizione del veicolo.
  • È stata aggiunta la possibilità di continuare a ricevere posizioni scattate lungo la strada indipendentemente dall'e stato di navigazione.
  • Sono state aggiunte informazioni aggiuntive sulle posizioni prima dell'allineamento alla strada, ad esempio la precisione.

Stabilità e correzioni di bug

  • È stata aumentata la versione minSdk per navsdk a 19.
  • Risolto un bug che causava la mancata applicazione dei nomi dei waypoint lat/lng quando il geocodice inverso lato server non andava a buon fine.

Rilascio della versione 1.14.2 (2 febbraio 2019)

Funzionalità

  • Impedisce a DriverSDK di inviare posizioni 0,0 a Fleet Engine (migliori input per la condivisione del percorso e la posizione di allocazione).
  • Registrazione aggiuntiva per migliorare i problemi relativi alla posizione bloccata e ridurre i fallback per la condivisione del percorso.
  • Ignora le chiamate ripetute a setLocationReportingInterval(), a meno che l'intervallo non cambi.
  • Documentazione Javadoc aggiornata per il metodo setReportingInterval() con l'obiettivo di scoraggiare le chiamate ripetute di questo metodo a una frequenza elevata rispetto agli intervalli utilizzati.
  • È stata migliorata 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 compilazioni Gradle.

v1.11.7 (18 ottobre 2019)

Stabilità e correzioni di bug

  • Gli aggiornamenti della posizione ora 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 ulteriori informazioni, consulta Notifiche permanenti condivise.
  • È stato risolto un problema per cui un evento di aggiornamento della posizione in ritardo poteva causare un aggiornamento della posizione spurio, generando 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 assicurano che l'SDK Driver riprenda rapidamente gli aggiornamenti della posizione dopo un errore di rete. Una volta ripristinata la connessione alla rete, gli aggiornamenti della posizione ricominciano al successivo aggiornamento della posizione pianificato.

Stabilità e correzioni di bug

  • setVehicleState() ora restituisce immediatamente. L'aggiornamento di FleetEngine ora avviene su un thread in background. Risolve un problema di tipo L'applicazione non risponde (ANR).
  • Risolto un problema che causava la visualizzazione dei percorsi di condivisione del percorso come una linea retta utilizzando le versioni precedenti dell'SDK Consumer. Garantisce che non vengano aggiunti al percorso punti di passaggio una tantum dall'SDK Driver.