本節提供 Android 版 Driver SDK 的版本資訊。
公告:凍結對 API 級別 23、24 和 25 的支援
根據行動作業系統版本支援政策,我們將在即將推出的 Android 版 Driver SDK 主要版本中,凍結對 Android 6 和 7 (API 級別 23、24 和 25) 的支援。
自 2025 年第 4 季起,Android 版 Driver SDK 版本將至少支援 Android 8 (API 級別 26)。舊版 SDK 版本將繼續支援 Android 6 和 7。
如果依附元件未指定版本號碼,IDE 會載入最新的 SDK 版本,而應用程式的新版本則不會支援 Android 6 和 7。
在應用程式的建構依附元件中指定 Android 版 Driver SDK 版本,以便控制何時提高新版應用程式所支援的最低作業系統版本。
v6.0.0 (2024 年 11 月 25 日)
修正錯誤
- 修正問題:驅動程式會收到 gRPC 錯誤,其中包含「INTERNAL」程式碼和「Panic! 這是錯誤!"
- 內部改善措施,可減少位置更新連線錯誤,尤其是在裝置切換網路時。這項功能會在整合後逐步推出 (從 0% 開始)。`
API 更新
- 移除已淘汰的介面
StatusListener
。
依附元件和設定變更
- 在 POM.xml 中移除對
glide:cronet-integration
的依附元件 - 更新 Navigation SDK 支援的版本範圍至 v5.x。
- 從 Driver SDK for Android 6.0.0 版開始,應用程式必須升級至 Kotlin 2.0。
- targetSdk 現為 API 級別 34。自 2024 年 8 月起,所有部署至 Google Play 商店的應用程式都必須符合這項規定。請參閱「符合 Google Play 的目標 API 級別規定」。
v5.99.0 (2024 年 9 月 20 日)
修正錯誤
- 修正問題:驅動程式會收到 gRPC 錯誤,其中包含「INTERNAL」程式碼和「Panic! 這是錯誤!這項功能會在整合後逐步推出 (從 0% 開始)。
- 內部改善措施,可減少位置更新連線錯誤,尤其是在裝置切換網路時。這項功能會在整合後逐步推出 (從 0% 開始)。`
依附元件和設定變更
- 在 POM.xml 中移除對
glide:cronet-integration
的依附元件
v5.0.0 (2023 年 9 月 12 日)
依附元件和設定變更
- Navigation SDK 已更新至 5.x 版。
- 已將
minSdkVersion
升級至 API 23。 - 已將 Kotlin 版本升級至 1.9.0。
- 新增對 Room 的依附元件。* 使用 Driver SDK 的應用程式現在必須具備 API 31 以上版本的
targetSdkVersion
。 - 使用 Driver SDK 的應用程式現在必須啟用 Java 8 程式庫支援功能。如需更新操作說明,請參閱 https://developer.android.com/studio/write/java8-support。
- 使用 ProGuard 或 Dexguard 的應用程式必須遷移至 R8。詳情請參閱 https://developer.android.com/build/shrink-code。
- 使用 Driver SDK 的應用程式必須啟用去糖化功能。如需操作說明,請參閱 https://developer.android.com/studio/write/java8-support#library-desugaring。
修正錯誤
- 修正 disableLocationTracking 同步處理問題。
- 推出新的 DriverStatusListener 介面,用於回報例外狀態更新的原因。
- 修正司機停車後仍可繼續行駛的問題 (適用於 4.99.0 以上版本)。
v4.99.0 (2023 年 8 月 9 日)
- 支援 NavSDK 依附元件的多個版本。** 支援 4.5.0 到 5.0.0 版 (不含 5.0.0 版)。
- 避免車輛靜止時預估抵達時間自動減少。這項異動會以實驗功能的形式逐步推出,因此並非所有應用程式都會同時看到這項異動。
4.5.0 版 (2023 年 5 月 12 日)
- 將 Navigation SDK 依附元件更新至 4.5 版。請注意,Navigation SDK 的群組和構件 ID 已變更。
v4.4.3 (2023 年 3 月 20 日)
依附元件變更
- 將 Navigation SDK 依附元件升級至 4.4.1 版。
v4.4.2 (2023 年 2 月 15 日)
修正錯誤
改善 SDK 遇到暫時性連線問題時的網路復原時間。這是實驗性質的修正方式。
捨棄僅包含「原始」位置的
UpdateVehicle
要求。修正「Route Overview」Alpha 版 API 中的競爭狀況。
4.4.1 版 (2022 年 11 月 18 日)
修正錯誤
- 修正流量上傳邏輯中的錯誤。
其他異動
- 改善要求標頭和狀態碼回報功能。
v4.4.0 (2022 年 9 月 21 日)
修正錯誤
- 修正了如果未清除 API 例項,就無法移除「Driving with Google Maps」通知的錯誤。
依附元件變更
- 將 Navigation SDK 依附元件升級至 4.2.2 版。
v4.3.0 (2022 年 8 月 24 日)
內部改善措施。
公告:Android 5 版支援服務凍結 (2022 年 7 月 21 日)
針對最新的 SDK 版本 (4.2.0 版),我們會為在 Android 5 上執行的應用程式提供額外一年的支援,包括 API 級別 21 和 22。
也就是說:
- 在 Android 應用程式上執行的 Navigation SDK 和 Driver SDK 將支援至 2023 年 6 月 30 日為止的 Android 5 (API 級別 21) 以上版本。
- 自 2023 年 6 月 30 日起,我們只支援 Android API 級別 23 以上版本。換句話說,我們將在該日期後停止支援所有 SDK 版本中的 Android API 級別 21 和 22。也就是說,任何 SDK 版本 (包括 4.x) 中與 Android 21 或 22 相關的錯誤都不會修正,我們也不保證 SDK 會正常運作。
本公告會取代 2021 年 6 月 21 日發布的 Android 21 和 22 版支援服務凍結公告,以及 2021 年 10 月 18 日發布的 Android 23、24 和 25 版支援服務凍結公告。
v4.2.0 (2022 年 6 月 8 日)
依附元件變更
- 將 Nav SDK 依附元件升級至 4.1.3 版。
- 將支援的最低 Android API 級別降級至 21。
v4.1.0 (2022 年 4 月 28 日)
API 更新
已將
Task
物件的parentId
屬性重新命名為trackingId
。舊屬性目前仍存在,但已淘汰。
v4.0.0 (2021 年 11 月 29 日)
此版本支援的最低 Android API 級別為 23。
API 更新
在這個版本中,Driver SDK for Android 已更新下列變更。
VehicleStops API 異動
VehicleStop
物件現在會參照 TaskInfo
物件的清單,而非 Task
物件的清單。如果您需要工作狀態,建議您在應用程式程式碼中追蹤這項資訊。
新增類別:
TaskInfo
將
VehicleStop
的getTasks
函式替換為getTaskInfoList
函式。將
VehicleStop.Builder
的setTasks
函式替換為setTaskInfoList
函式。
當機監控
我們新增了當機監控和回報功能,有助於提升 SDK 穩定性。這項功能預設為啟用,但您可以呼叫 setAbnormalTerminationReportingEnabled()
,並在初始化 SDK 前將 false
值傳遞給它,藉此停用這項功能。
- 將
setAbnormalTerminationReportingEnabled
函式新增至DriverApi
。
Async getRemainingVehicleStops
- 變更
DeliveryVehicleReporter
的getRemainingVehicleStops
函式,以便傳回 Future<List<VehicleStop>> 而非 List<VehicleStop>。
驗證
已從 AuthTokenContext
介面中移除不必要的屬性。ServiceType
已淘汰。您現在只需要針對所附車輛 ID 和工作 ID 取得憑證,而非依賴 ServiceType
。
已從
AuthTokenContext
中移除ServiceType
。已從
AuthTokenContext
中移除getServiceType()
。已從
AuthTokenContext.Builder
中移除setServiceType
。
2021 年 10 月 18 日 - 凍結對 API 級別 23、24 和 25 的支援
查看 10 月 18 日的公告
為因應內部依附元件的變更,自 2022 年第三季起,Android 版 Navigation 和 Driver SDK 的新版本將不支援 Android API 級別 23、24 和 25 (Android 6、7.0 和 7.1)。
自 2022 年第三季起,Android 版導航和 Driver SDK 只支援搭載 Android API 級別 26 以上版本的裝置。
以 Android 適用的 Navigation 和 Driver SDK 的 4.x 以下版本建立的應用程式版本,將繼續在搭載 Android API 級別 25 以下版本的裝置上運作。
第 3.0.4 版 (2021 年 7 月 28 日)
功能
在這個版本中,Driver SDK 正式與 Navigation SDK 分離。詳情請參閱遷移指南。
API 更新
新增了下列方法:
`RidesharingDriverApi.getDriverSdkVersion()`穩定性和錯誤修正
回報 PERMISSION_DENIED
錯誤,而非將其歸類為連線錯誤。
淘汰公告 (2021 年 6 月 21 日)
這項公告說明 Driver SDK for Android 和 Navigation SDK for Android 自上述日期起淘汰。這項公告也以主要服務合約 (MSA) 的形式傳送給受影響的客戶。
Nav/Driver SDK for Android 將成為 Navigation SDK for Android v3.x 和 Driver SDK for Android v3.x (分割二進位檔)
為簡化客戶整合作業,並加快提供實用功能的能力,我們將 Navigation SDK for Android 和 Driver SDK for Android 分割為兩個不同的二進位檔:
- Android 版 Navigation SDK,可為駕駛員提供導航/路線功能。
- Android 版 Driver SDK,可讓您利用 Fleet Engine 具狀態的網路服務,針對行程或任務進度和分配進行調整。
請注意,Driver SDK for Android 必須依附 Navigation SDK for Android,才能執行核心路徑功能。
異動內容
v3 的主要變更如下:
- 兩個二進位檔,而非一個。
- 針對 Android 類別的 Driver SDK 提供更明確的套件定義。
- Navigation SDK for Android 會將 Maps SDK for Android 納入封裝 (自 Navigation SDK for Android 2.0 版起)。
- 這樣一來,地圖和導航功能就能在同一張地圖上共存 (例如在 NavigationView 上繪製多邊形線),而且由於只使用一張地圖而非兩張,因此可減少記憶體用量。
- Navigation SDK for Android 3.0 缺少與 Navigation SDK for Android 的完整功能,但 3.2 版將解決大部分問題。詳情請參閱「我可以做什麼,以及何時可以做?」。
- 記錄功能,方便我們偵錯您可能遇到的問題。
以下方法先前已標示為淘汰,且已提供替代解決方案,因此也已從 v3 中移除:
- 下列 Nav/Driver SDK 方法已於 2020 年 8 月 10 日發布的 1.16 版淘汰,並在 3.0 版中移除:
Waypoint#fromLatLng(*)
Waypoint#fromPlaceId(*)
Navigator#startGuidance(resumeIntent)
NavigationApi#initForegroundServiceManager(*)
- 為求完整性和清楚說明,請注意,在從 v1 轉換至 v2 的過程中,我們移除了許多方法。其中大多是將 Navigation SDK for Android 和 Maps SDK for Android 之間重複的類別合併。請參閱遷移指南,進一步瞭解這些異動。
停用 Driver SDK for Android 和 Navigation SDK for Android 1.x 版本
Nav/Driver SDK 第 1 版已於 2018 年推出,而第 3 版即將推出,因此我們決定淘汰第 1 版,以免無法持續支援許多主要版本。
我們不必支援這個額外版本,因此省下的時間,可讓我們更妥善地支援最新主要版本,並打造更多對客戶重要的功能。
因此,Nav/Driver SDK 1.x 已淘汰,並將在 2022 年 6 月 21 日後停止維護。
請花點時間瞭解 SDK 版本淘汰機制運作方式。
Navigation 和 Driver SDK Android 21 和 22 版的支援終止
閱讀撤銷公告
即將推出的 Android 適用 Navigation SDK 4.0 和 Android 適用 Driver 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 版。因此:
- 以 4.x 以下版本建立的應用程式版本,將繼續在 Android 21 和 22 裝置上運作。已整合目前 SDK 的駕駛員應用程式,將繼續在搭載 Android 21 以上版本的裝置上運作,這與先前相同。
- 使用 Android 版 Driver SDK 和 Android 版 Navigation SDK 4.x 以上版本 (預計於 2021 年第 4 季推出,但可能有所變動) 建構的應用程式版本,將無法安裝在搭載 Android 21 和 22 的裝置上。v4.x 最低執行版本為 Android 6.0 (API 級別 23),因此使用搭載 Android 23 以上版本的裝置,才能接收使用即將推出的 v4.x 建構的應用程式版本。換句話說,這表示我們的 SDK 相關變更和您所做的任何應用程式變更,都無法傳送至搭載 Android 21 和 22 的裝置。
下表說明您要升級至的 Navigation SDK for Android 3.0 和 Driver SDK for Android 3.0 版本,以及這些版本的推出時間。
您使用哪些 Driver 平台功能? | 您是否使用這些功能? | 您應該升級至下列可用的首個版本: | 預計發售日期 (可能有所變動) |
遷移連結 |
---|---|---|---|---|
僅限導覽 (NavSDK 方法) |
否 | NavSDK 3.0.1 版 | 現在 | 使用指南 |
是 | NavSDK 3.5 版 (預計) | 2021 年 9 月 | ||
導航和 Fleet Engine 追蹤 (NavSDK 和 DriverSDK 方法) | 否 | Nav SDK 3.0 版和 Driver SDK 3.0 版 | 推出時提供 Driver 3.0 遷移指南 | |
是 | NavSDK 3.x 版和 DriverSDK 3.0 版 |
如要繼續使用已移除的方法,您可以繼續使用 v1.x,但請注意,我們不會在 2022 年 6 月 21 日後提供支援或維護服務 (請參閱下一節)。
建議您遷移至 v3.x。因此:
* 最後一個 v1.x 版本將於 2021 年第 4 季發布 (因此,v1 將從那時起「凍結功能」)。
* 此最後版本可在之後的 6 個月內 (至 2022 年 6 月 21 日) 進行修補。此期限過後,我們將無法回應 v1.x 的錯誤或功能要求。
請花點時間查看下表和 [遷移指南](/maps/documentation/navigation-sdk-android/v2/migration),瞭解如何因應這些異動。
我可以做什麼,並在何時完成?
如果你目前使用的是... | 您是否使用這些功能? | 立即升級 | 如何在 2021 年 9 月升級 | 遷移連結 |
---|---|---|---|---|
v1.x (不使用 FleetEngine.java / Driver 功能) |
否 | NavSDK 3.0 版 | 使用指南 | |
是 | 沒有選項 | NavSDK 3.x | ||
v1.x (使用 FleetEngine.java / Driver 功能) |
否 | 沒有選項 | NavSDK 3.x + DriverSDK 3.x |
上述指南,以及 Driver v3.0 遷移指南 (在發布時提供)。 |
是 |
建議您先將 Driver SDK for Android 和 Navigation SDK for Android 4.x 以上版本整合至駕駛員應用程式,再通知搭載 Android 21 和 22 版裝置的駕駛員升級至較新的 Android 版本 (至少 Android 6.0)。
第 1.15.3 版 (2020 年 10 月 9 日)
API 更新
- Driver SDK 現已訂閱 Navigation SDK 的交通更新資訊,並將這些資訊傳送至 Fleet Engine API。
穩定性和錯誤修正
- 修正 gRPC 執行階段異常終止問題。
v1.15.2
功能
新增停止持續通知的功能。如果在 Fleet Engine 例項中停止位置回報,系統會在 Navigator
中停止導航,所有導航事件監聽器都會取消註冊,並暫停 NavigationFragment
或 NavigationView
。
穩定性和錯誤修正
- 修正了清除車隊引擎例項時,導致例外狀況發生的錯誤。
v1.15.1 (2020 年 5 月 12 日)
功能
對 1.15.0 版資料進行初步分析後,我們發現穩定位置回報功能有顯著改善 (減少「卡住」位置)。這個修補程式可讓改善後的位置回報功能繼續運作。ANR 問題與這些改善措施無關。
穩定性和錯誤修正
- 修正錯誤:有時會導致路線開頭顯示直線的錯誤。
- 修正了 SDK 回報位置時可能導致 ANR 的錯誤。這是因為
onArrival()
改善項目容易發生鎖定爭用情形。我們可以在某些情況下可靠地重現 ANR,並且能夠驗證修正程式是否解決了問題。經過修正後,用於產生 ANR 的修改版測試應用程式在八小時內沒有發生 ANR 問題。
v1.15.0 (2019 年 3 月 23 日)
功能
- 在開始、偏離路線和抵達事件中導入導航指引狀態,以改善車輛位置追蹤。
- 新增可繼續取得與導航狀態無關的路徑對齊位置的功能。
- 新增道路預先對齊位置的額外資訊,例如精確度。
穩定性和錯誤修正
- 將 navsdk 的 minSdkVersion 提高至 19。
- 修正錯誤:當伺服器端的反向地理編碼失敗時,會導致 lat/lng 路標名稱無法使用。
v1.14.2 版 (2019 年 2 月 2 日)
功能
- 避免 DriverSDK 將 0,0 位置傳送至 Fleet Engine (提供更佳的路線分享和分配位置輸入內容)。
- 新增記錄功能,改善位置資訊卡住的問題,並減少旅程分享功能的備用機制。
- 除非間隔變更,否則忽略對
setLocationReportingInterval()
的多次呼叫。 - 更新
setReportingInterval()
方法的 Javadoc,目的是避免以高頻率重複呼叫此方法,以免影響使用間隔。 - 改善 Api 29 位置資訊的可靠性。
v1.13.0
穩定性和錯誤修正
- 新增對 okhttp 的依附元件,用戶端必須將其新增至 Gradle 建構。
第 1.11.7 版 (2019 年 10 月 18 日)
穩定性和錯誤修正
- 系統現在會在
onArrival()
為特定目的地觸發後,繼續提供位置更新。 - 預設通知 (Free Nav 模式中的常數字串) 會與導航通知的色彩配置相符。詳情請參閱「共用永久通知」。
- 解決了延遲的位置更新事件可能導致位置更新異常,進而導致路線開頭出現直線等瑕疵的問題。
第 1.11.6 版 (2019 年 10 月 4 日)
API 更新
- 推出一系列變更,確保 Driver SDK 在網路故障後能快速恢復位置更新。網路連線恢復後,系統會在下次預定的位置更新時間重新開始位置更新。
穩定性和錯誤修正
setVehicleState()
現在會立即傳回。更新 FleetEngine 現已在背景執行緒中進行。解決應用程式無回應 (ANR) 問題。- 修正使用舊版 Consumer SDK 時,會導致行程共用路線顯示為直線的問題。確保 Driver SDK 不會在路線中加入一次性路標。