本節包含 Driver SDK for Android 的版本資訊。
5.0.0 版 (2023 年 9 月 12 日)
依附元件和設定變更
- 已將 Navigation SDK 更新至 5.x 版。
- 已將
minSdkVersion
升級至 API 23。 - 已將 Kotlin 版本升級至 1.9.0。
- 新增了 Room 的依附元件。
- 使用 Driver SDK 的應用程式現在必須採用 API 31 以上的
targetSdkVersion
。 - 使用驅動程式 SDK 的應用程式現在必須啟用 Java 8 程式庫支援功能。如需更新操作說明,請前往 https://developer.android.com/studio/write/java8-support。
- 使用 Proguard 或 Dexguard 的應用程式,必須遷移至 R8。詳情請參閱 https://developer.android.com/build/shrink-code。
- 使用驅動程式 SDK 的應用程式必須啟用脫糖功能。如需操作說明,請前往 https://developer.android.com/studio/write/java8-support#library-desugaring。
修正錯誤
- 修正 enableLocationTracking 同步問題。
- 推出新的 DriverStatusListener 介面,可在例外狀況狀態更新中回報原因。
- 修正驅動程式的靜止不動問題 (從 4.99.0 版開始提供)。
4.99.0 版 (2023 年 8 月 9 日)
- 支援多種版本的 NavSDK 依附元件。 ** 支援 4.5.0 版 (但不含) 5.0.0 版。
- 避免在車輛靜止時自行降低預計到達時間。這項變更會逐步實施,因此並非所有應用程式都會同時看到這項變更。
4.5.0 版 (2023 年 5 月 12 日)
- 將 Navigation SDK 依附元件更新至 4.5 版。請注意,Navigation SDK 的群組和構件 ID 已變更。
4.4.3 版 (2023 年 3 月 20 日)
依附元件變更
- 將 Navigation SDK 依附元件升級至 4.4.1 版。
4.4.2 版 (2023 年 2 月 15 日)
修正錯誤
縮短 SDK 遇到暫時性連線問題時的網路復原時間。這項功能目前以實驗的形式推出。
捨棄僅包含「原始」的
UpdateVehicle
要求或 HTTP/HTTPS 位置修正「Route Overview」Alpha 版 API。
4.4.1 版 (2022 年 11 月 18 日)
修正錯誤
- 修正流量上傳邏輯的錯誤。
其他異動
- 內部改善要求標頭和狀態碼報告。
4.4.0 版 (2022 年 9 月 21 日)
修正錯誤
- 修正導致「使用 Google 地圖行車功能」的錯誤如果未清除 API 執行個體,系統就不會移除通知。
依附元件變更
- 將 Navigation SDK 依附元件升級至 4.2.2 版。
4.3.0 版 (2022 年 8 月 24 日)
內部改善。
公告:凍結對 Android 5 的支援 (2022 年 7 月 21 日)
如果是最新的 SDK 版本 (4.2.0 版),我們 可為在 Android 5 上執行的應用程式額外提供一年支援服務, API 級別 21 和 22。
也就是說:
- 在 Android 應用程式上執行的 Navigation SDK 和 Driver SDK 將支援 最低 Android 5 (API 級別 21) 至 2023 年 6 月 30 日。
- 2023 年 6 月 30 日之後,我們只支援 23 以上版本的 Android API 級別。 也就是說,我們將停止支援 Android API 級別 21 和 22 。這表示與 Android 21 相關的錯誤 否則我們將不會修正 SDK 版本 (包括 4.x) 中的 22 和 22,也不會修正 保證 SDK 能正常運作。
本聲明會覆寫 Android 21 和 22 從 6 月開始支援凍結通知 自 2021 年 10 月 18 日起,21、2021 年和 Android 23、24 和 25 版都支援凍結功能。
4.2.0 版 (2022 年 6 月 8 日)
依附元件變更
- 將 Nav SDK 依附元件升級至 4.1.3 版。
- 將支援的最低 Android API 級別降級至 21。
4.1.0 版 (2022 年 4 月 28 日)
API 更新
已將
Task
物件的parentId
屬性重新命名為trackingId
。舊 資源仍存在,但已淘汰。已將部分傳回類型從
Future
變更為更具體的ListenableFuture
,並從List
變更為較具體的ImmutableList
。
4.0.0 版 (2021 年 11 月 29 日)
此版本支援的最低 Android API 級別為 23。
API 更新
這個版本的 Android Driver SDK 已更新為以下元件: 並輸入變更內容
VehicleStops API 變更
VehicleStop
物件現在會參照
TaskInfo
而非 List 的
Task
如需儲存大量結構化物件
建議使用 Cloud Bigtable如需工作狀態
最好在應用程式的程式碼中進行追蹤
已新增類別:
TaskInfo
已將
VehicleStop
的getTasks
函式替換為getTaskInfoList
敬上 函式。已將
VehicleStop.Builder
的setTasks
函式替換為setTaskInfoList
敬上 函式。
當機監控
新增當機監控和回報功能,可協助提升 SDK 穩定性。
此功能預設為啟用,但即使您呼叫,也可停用
setAbnormalTerminationReportingEnabled()
,並傳遞 false
的值。
再初始化 SDK。
- 新增了
setAbnormalTerminationReportingEnabled
敬上 函式套用至DriverApi
。
非同步 getRemainingVehicleStops
- 已變更
DeliveryVehicleReporter
的getRemainingVehicleStops
。 函式,用來傳回 Future<List<VehicleStop>>而不是 <車輛停靠>。
驗證
從 AuthTokenContext
介面中移除不必要的屬性。
ServiceType
已淘汰您現在只需要取得
包含車輛 ID 和工作 ID,而非使用 ServiceType
。
已將
ServiceType
從以下位置移除:AuthTokenContext
。已將
getServiceType()
從以下位置移除:AuthTokenContext
。已將
setServiceType
從以下位置移除:AuthTokenContext.Builder
。
2021 年 10 月 18 日 - 凍結 API 級別 23、24 和 25 的支援
閱讀 10 月 18 日公告
為了因應內部依附元件的變更,Android API 級別 23 新版將不支援 24 和 25 (Android 6、7.0 和 7.1) Navigation 和 Driver SDK for Android 」
Android 適用的 Navigation 和驅動程式 SDK 版本自第 3 版起 2022 年第 4 季起僅支援 Android API 級別 26。
使用 v4.x 以下版本的 Navigation 和驅動程式 SDK 建構的應用程式版本 Android 將可繼續在搭載 Android API 級別 25 的裝置上運作 下方。
3.0.4 版 (2021 年 7 月 28 日)
功能
這個版本推出後, Driver SDK 已正式上線 離開 Navigation SDK詳情請參閱 遷移指南 。
API 更新
新增了下列方法:
DeliveryDriverApi.getDriverSdkVersion()
穩定性與錯誤修正
回報 PERMISSION_DENIED
項錯誤,而非歸類為
發生連線錯誤。
淘汰公告 (2021 年 6 月 21 日)
本公告說明 Android 適用的 Driver SDK 的淘汰事宜 和 Navigation SDK for Android。 本公告也發出了必要服務公告 (MSA) 受影響的客戶
Android 適用的 Nav/Driver SDK 將更名為 Navigation SDK for Android 3.x 版,以及 Android 3.x 適用的驅動程式 SDK (分割二進位檔)
簡化客戶整合流程,並加速提供實用服務 我們會將 Navigation SDK 拆分為 Android 適用的驅動程式 SDK 可分為兩種不同的二進位檔:
- 適用於 Android 的 Navigation SDK, 並為司機提供實用功能
- 適用於 Android 的驅動程式 SDK,可讓您使用機群 提供有狀態的網路服務,可提供行程或工作進度和分配等服務。
請注意,Android Driver SDK for Android 必須具備以下依附元件: 適用於 Android 核心轉送函式的 Navigation SDK。
異動內容
第 3 版中的重大異動如下:
- 兩個二進位檔,而非一個二進位檔。
- 更清楚瞭解 Android 類別的 Driver SDK 套件定義。
- Navigation SDK for Android 包含 Maps SDK for Android
隨附的包裝 (在 Android 第 2 版 Navigation SDK 中使用)。
- 這使地圖和導覽功能在同一地圖上並存 (例如在 NavigationView 上繪製折線) 並降低記憶體用量 因為系統使用的是單張地圖,而非兩個地圖
- 適用於 Android 3.0 的 Navigation SDK 缺少與 Navigation SDK for Android,但 3.2 版可以解決大多數的問題。 請參閱這篇文章時間。。
- 記錄功能有助於我們針對可能發生的問題進行偵錯。
下列方法在第 3 版中也已移除, 標示為已淘汰,且已使用其他解決方案 已存在:
- 下列 Nav/Driver SDK 方法已在 v1.16 中淘汰,該方法已於
2020 年 8 月 10 日,並且已在 3.0 版中移除:
Waypoint#fromLatLng(*)
Waypoint#fromPlaceId(*)
Navigator#startGuidance(resumeIntent)
NavigationApi#initForegroundServiceManager(*)
- 為求完整起見,請注意許多方法已移除 的功能。其中大多數內容都是合併 以及 Android 的 Navigation SDK 與 Maps SDK for Android。詳情請參閱 遷移指南 有助於深入瞭解這些變化
淘汰 Android 適用的驅動程式 SDK 和 Navigation SDK v1.x 版
Nav/Driver SDK 第 1 版於 2018 年推出,我們的第 3 版將於近期推出 因此,請您務必淘汰第 1 版,以免 支援許多主要版本
無須支援額外版本就能省下寶貴時間 我們更好地支援最新的主要版本,並開發更多 對客戶至關重要
因此,Nav/Driver SDK v1.x 現已淘汰,不會再進行維護 。
請花一點時間查看 SDK 版本中的淘汰機制如何運作。
Navigation 和驅動程式 SDK Android 21 和 22 停止支援
閱讀已撤銷的公告
即將推出的 Navigation SDK for Android 4.0 版 Android 驅動程式 SDK 最低支援 [Android 6.0 (API 級別 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}。 目前支援的最低版本為 Android 5.0 (API 級別 21)。 我們預計在 2021 年第 4 季推出 4.0 版。因此:
- 如果應用程式版本使用 v4.x 之前的版本,仍可繼續運作 Android 21 和 22 裝置。你的駕駛應用程式整合了 Google 中的 SDK 仍可在搭載 Android 21 以上版本的裝置上運作。 這與以往相同。
- 使用 Android Driver SDK for Android 和 Android 4.x 適用的 Navigation SDK (指定 2021 年第 4 季之後,無法再安裝 搭載 Android 21 和 22 的裝置。第 4.x 版會在最低 Android 6.0 (API 級別 23) 上執行, 因此,使用即將推出的 v4.x 版本建立的應用程式版本 搭載 Android 23 以上版本的裝置。再複習一下 這表示我們的 SDK 相關變更,以及您所做的任何應用程式變更 因此無法觸及搭載 Android 21 和 22 裝置的司機。
適用於 Android v3 和 Android 版的 Navigation SDK 版本 您想升級的 Android 第 3 版驅動程式 SDK ,以及這些功能的推出時間。
你使用哪些驅動程式平台功能? | 您使用這些功能嗎? | 那麼,您應該升級到的第一個可用版本是... | 預計出貨時間 (隨時可能變更) |
遷移連結 |
---|---|---|---|---|
僅限導覽 (NavSDK 方法) |
否 | NavSDK 3.0.1 版 | 現在 | 使用指南 |
是 | NavSDK v3.5 (預計) | 2021 年 9 月 | ||
導覽和機群引擎追蹤 (NavSDK 和 DriverSDK 方法) | 否 | Nav SDK 3.0 版和驅動程式 SDK 3.0 版 | 版本提供 3.0 版遷移指南 | |
是 | NavSDK v3.x 和 DriverSDK v3.0 |
如要繼續使用已移除的方法,您可以繼續使用 v1.x,但不會使用 預期支援或維護作業 (請參閱下一節)。
建議您改用 3.x 版。因此:
* 的最新版本 v1.x 將於 2021 年第 4 季推出 (因此第 1 版是 就會啟動「功能凍結」)。
* 此最新版本在 2022 年 6 月 21 日前都能修補 6 個月。 此後,我們將無法回應錯誤或功能要求 這兩個版本
請花點時間查看下表,以及 [遷移指南](/maps/documentation/navigation-sdk-android/v2/migration) 來協助您瞭解這些變更
何時能做什麼?
如果您目前使用... | 您使用這些功能嗎? | 立即升級 | 在 2021 年 9 月升級 | 遷移連結 |
---|---|---|---|---|
v1.x (「不是」使用 FleetEngine.java / 驅動程式功能) |
否 | NavSDK 3.0 版 | 使用指南 | |
是 | 沒有選項 | NavSDK 3.x | ||
v1.x (使用 FleetEngine.java / 驅動程式功能) |
否 | 沒有選項 | NavSDK 3.x + DriverSDK 3.x |
上述指南,以及發布時提供的驅動程式 3.0 版遷移指南。 |
是 |
建議你使用搭載 Android 21 和 22 的裝置通知駕駛人。 升級至新版 Android (最低 Android 6.0) 整合 Android 適用的 Driver SDK 和 Android 專用的 Navigation SDK 安裝到驅動程式應用程式中。
1.15.3 版 (2020 年 10 月 9 日)
API 更新
- Driver SDK 現在訂閱 Navigation SDK 以取得路況更新。 再傳送到 Fleet Engine API
穩定性與錯誤修正
- 已修正 gRPC 執行階段當機。
v1.15.2
功能
新增停止持續通知的功能。如果位置回報功能
在 Fleet Engine 執行個體中停止,導覽已在 Navigator
停止。
所有導覽事件監聽器均未註冊;NavigationFragment
或NavigationView
已暫停,
穩定性與錯誤修正
- 修正了 Fleet Engine 執行個體遭到清除時,導致系統擲回例外狀況的錯誤。
1.15.1 版 (2020 年 5 月 12 日)
功能
初步分析 1.15.0 資料指出有顯著改善 回報穩定的地區 (減少「停滯」位置)。這個修補程式修正後 可讓位置回報功能繼續運作ANR 問題與系統無關 我們改進的部分
穩定性與錯誤修正
- 修正有時會導致問題開頭直線的錯誤 。
- 修正回報位置時可能導致 ANR 的錯誤
SDK 淘汰也就是
onArrival()
項改善措施。 容易鎖定爭用情形我們妥善重現 ANR 並確認問題修正完畢 問題。用於產生 ANR 的修改版測試應用程式已執行 8 小時 而不會發生 ANR
1.15.0 版 (2019 年 3 月 23 日)
功能
- 針對開始、路線偏離和抵達事件提供導航指引狀態 有助於改善車輛位置追蹤功能
- 新增可持續獨立取得道路背景位置的功能 導覽狀態。
- 新增有關預路前位置資訊的其他相關資訊,例如準確性。
穩定性和錯誤修正
- 已將 navsdk 的 minSdkVersion 提高至 19。
- 修正會導致經緯度路徑點名稱在 伺服器端反向地理編碼失敗。
v1.14.2 版 (2019 年 2 月 2 日)
功能
- 防止 DriverSDK 傳送 0,0 個位置至 Fleet Engine (較優) 歷程分享及分配地點輸入)。
- 提供額外記錄,以改善停滯的位置問題及減少 歷程共用備用方案
- 除非間隔變更,否則忽略對
setLocationReportingInterval()
的重複呼叫。 - 已針對
setReportingInterval()
方法更新目標的 javadocs 令人不耐煩地停止重複呼叫此方法 的間隔 - 已提升 API 29 的位置可靠性。
v1.13.0
穩定性與錯誤修正
- 新增 okhttp 的依附元件,以便用戶端將其新增至 Gradle 建構作業。
v1.11.7 版 (2019 年 10 月 18 日)
穩定性與錯誤修正
- 現在的位置更新將會在
onArrival()
觸發以下事件後繼續更新: 指定目的地。 - 預設通知 (免費導覽模式中的常數字串) 會與 已設定導航通知的色彩配置。若需更多資訊,請參閲 共用永久通知。
- 解決延遲位置更新事件可能導致 錯誤位置更新,導致真實環境更新,例如位於 以用於路線的起點
1.11.6 版 (2019 年 10 月 4 日)
API 更新
- 導入一系列變更,確保驅動程式 SDK 能繼續執行 系統會在網路故障後迅速更新位置。網路連線後 已還原,位置更新作業會從下個排定位置重新開始 更新。
穩定性與錯誤修正
setVehicleState()
敬上 現在會立即傳回系統現在會在背景更新 FleetEngine 。解決應用程式無回應 (ANR) 問題。- 修正導致旅程共用路線顯示為 使用舊版 Consumer SDK可確保不會 單程路線控點是由驅動程式 SDK 新增至路線。