Android 版本資訊的 Driver SDK

本節提供 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 物件的清單。如果您需要工作狀態,建議您在應用程式程式碼中追蹤這項資訊。

當機監控

我們新增了當機監控和回報功能,有助於提升 SDK 穩定性。這項功能預設為啟用,但您可以呼叫 setAbnormalTerminationReportingEnabled(),並在初始化 SDK 前將 false 值傳遞給它,藉此停用這項功能。

Async getRemainingVehicleStops

驗證

已從 AuthTokenContext 介面中移除不必要的屬性。ServiceType 已淘汰。您現在只需要針對所附車輛 ID 和工作 ID 取得憑證,而非依賴 ServiceType

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) 的形式傳送給受影響的客戶。

為簡化客戶整合作業,並加快提供實用功能的能力,我們將 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 版本淘汰機制運作方式

閱讀撤銷公告

即將推出的 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 中停止導航,所有導航事件監聽器都會取消註冊,並暫停 NavigationFragmentNavigationView

穩定性和錯誤修正

  • 修正了清除車隊引擎例項時,導致例外狀況發生的錯誤。

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 不會在路線中加入一次性路標。