本節包含 Consumer SDK for Android 的版本資訊。
2.3.0 (2024 年 8 月 2 日)
API 變更
新增雲端式地圖 樣式設定 支援,方便您為客戶量身打造道路地圖體驗 不必更新應用程式每次製作地圖時加入程式碼 樣式變更。詳情請參閱「使用雲端式地圖設定地圖樣式」一文 樣式。
在
VehicleLocation
中新增getServerTimeMillis()
方法,即可決定採用 Fleet Engine 收到位置更新時的時間。
2.2.0 (2024 年 5 月 7 日)
API 變更
- 新增 Jetpack Compose 整合的支援 API。仍在實驗階段 而不是每個特徵的分數如要進一步瞭解如何整合 Jetpack Compose,請洽詢: 我們將與您的代表進行討論。
2.1.0 (2024 年 1 月 17 日)
修正錯誤
- 修正在 SDK 多次初始化時發生的當機問題 應用程式生命週期
API 變更
- 引入可擷取 SDK 建立的
GoogleMap
例項的方法 (ConsumerGoogleMap.getGoogleMap()
). - 導入 API,以擷取 SDK 建立的
Marker
執行個體, 代表車輛 (ConsumerController.getConsumerMarker()
)。 - 推出 API,接收用戶端預計更新的時間和距離資訊
開啟歷程分享功能 (
ProjectedRouteEta
)。
1.99.2 (2023 年 11 月 3 日)
修正透過遠端程序初始化 SDK 時發生的當機問題。 獨立於應用程式中
修正執行相機動畫時發生的當機問題 足以容納邊框間距的垂直或水平空間這只有在 最新的地圖轉譯器
修正導致往返行程第一段遭到裁切的錯誤 第二條路段通過同一條路時。
問題
- 如果叫用 API 時叫用
ConsumerApi.initialize()
,就會擲回例外狀況 執行個體已存在。如要解決這個問題,請先呼叫ConsumerApi.getInstance()
並評估傳回的Task
,以判斷是否 已有 API 執行個體。
2.0.0 (2023 年 9 月 15 日)
公告:破壞性變更
最低 API 級別規定已從 21 更新為 23。
將 Maps SDK 版本要求從 17.0.0 版更新至 18.1.0 版
Kotlin 標準程式庫最低版本需求已從 1.6.10 版更新 至 1.9.0 版
更新 Google Play 服務依附元件版本
Play-services-base 程式庫最低版本需求更新自 v18.0.1 至 v18.2.0
已更新 play-services-basement 程式庫最低版本要求 從 18.0.0 版到第 18.2.0 版
已更新 play-services-location 程式庫最低版本規定 從 17.0.0 版到 21.0.1 版
play-services-tasks 程式庫最低版本要求已從 v18.0.1 至 v18.0.2
新增設有最低版本需求的 androidx.room:room-runtime 程式庫 至 2.5.2 版
更新下列依附元件版本
android-maps-utils 程式庫最低版本需求更新自 0.4.2 至 3.5.2 版
com.google.android.datatransport:transport-backend-cct 最低版本 需求已從 3.0.0 版更新至 3.1.9 版
com.google.android.datatransport:transport-runtime 最低版本 需求已從 v3.0.1 更新為 v3.1.9
最低版本要求為 androidx.lifecycle:lifecycle-extensions 已從 2.0.0 版更新至 2.2.0 版
最低版本需求為 androidx.lifecycle:lifecycle-common-java8 已從 2.0.0 版更新至 2.6.1 版
androidx.appcompat:appcompat 最低版本要求已從 1.0.0 至 1.6.1 版
androidx.fragment:fragment 最低版本需求,自 1.0.0 至 1.6.1 版
移除下列先前淘汰的 API:
ConsumerTrip
、ConsumerTripCallback
,ConsumerTripManager
,ConsumerTripOptions
。他們 已由TripModel
、TripModelCallback
、TripModelManager
和TripModelOptions
。凡是使用 Consumer SDK 的應用程式,現在都必須具備
targetSdkVersion
(API 31 以上),compileSdkVersion
/API 33 以上 。使用 Consumer SDK 的應用程式現在必須啟用 Java 8 支援程式庫詳情請見 https://developer.android.com/studio/write/java8-support,瞭解如何執行 更新。
使用 Proguard 或 Dexguard 的應用程式,必須遷移至 R8。詳情請見 詳情請參閱 https://developer.android.com/build/shrink-code。
使用 Consumer SDK 的應用程式必須啟用脫糖功能。 詳情請見 https://developer.android.com/studio/write/java8-support#library-desugaring 一文。
ConsumerApi.initialize()
方法現在會擲回例外狀況 則會在已建立 API 執行個體時叫用。Task
已傳回ConsumerApi.getInstance()
必須用於判斷是否有 API 執行個體
公告:API 淘汰事宜
淘汰
Trip.TripStatus
和Trip.TripType
註解類別,並新增 要取代的TripInfo.TripStatus
和TripInfo.TripType
註解類別 具體做法是指示 Kubernetes 建立並維護 一或多個代表這些 Pod 的物件這項異動中
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)
已淘汰, 現已新增TripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status)
。為配合這項異動,
TripInfo#getTripStatus()
已淘汰。 現已新增TripInfo#getCurrentTripStatus()
。為配合這項異動,
TripInfo#getTripType()
已淘汰。 現已新增TripInfo#getCurrentTripType()
。
淘汰
Trip
類別。
其他變更和錯誤修正
支援要求最新版 Maps SDK 轉譯器。請參閱新版地圖轉譯器 。
提供 Maps SDK 範圍支援 18.1.0 版(含) 版,至 v19.0.0(專屬) 版本。
修正「已超過期限」SDK 與 之間的內部通訊發生錯誤 Google 後端
修正小尺寸螢幕和子母畫面模式的轉譯問題。
遷移指南
1.99.1 (2023 年 8 月 31 日)
修正錯誤
修正 SDK 主機活動或片段刪除時發生的當機問題。
修正 MapView 維度為 0 時發生的當機問題 ( 高度或寬度)。
修正在路線上預測車輛位置時發生的當機問題 折線。
改善項目
- 防止 SDK 在主機應用程式側載時當機,且 則不會顯示預設視覺資源
1.99.0 (2023 年 6 月 22 日)
修正錯誤
修正小螢幕和子母畫面模式的轉譯問題。
修正分享歷程期間的車輛閃爍問題。
1.2.1 (2023 年 6 月 7 日)
修正錯誤
- 修正造成車輛在分享行程期間閃爍的錯誤。
1.2.0 (2022 年 11 月 21 日)
修正錯誤
- 修正導致回報空白流量的錯誤
onTripActiveRouteTrafficUpdated
回呼。
新功能
- 「偵測路況的折線」現已正式發布
1.1.2 (2022 年 10 月 27 日)
修正錯誤
- 解決導致路線折線在
「
JourneySharingSession
」的TripModel
啟動超過一次。
公告:凍結對 Android 5 的支援 (2022 年 7 月 25 日)
針對 v1.1.1 SDK 版本,我們會額外提供一年的支援服務: 應用程式,適用於 API 級別 21 和 22。
也就是說:
在 Android 應用程式上執行的消費者 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 能正常運作。
1.1.1 版 (2022 年 7 月 25 日)
依附元件變更
- 將支援的最低 Android API 級別降級至 21。
1.1.0 版 (2022 年 4 月 28 日)
- 內部改善。
v1.0.19 (2022 年 3 月 17 日)
修正錯誤
- 修正
ConsumerApi
類別中的記憶體流失問題。
v1.0.14 (2021 年 11 月 30 日)
支援的最低 Android API 級別為 23。
API 變更
ConsumerTrip
和ConsumerTripManager
類別的變更。- 清除部分方法名稱,使其更清楚明瞭,並保持一致 與 iOS 平台互動
ConsumerTripCallback
、ConsumerTrip
和TripInfo
的變更。變更部分類別名稱,使其與 iOS 保持一致。推出時間 將淘汰
TripModel
、TirpModelManager
和TripModelOptions
ConsumerTrip
、ConsumerTripManager
和ConsumerTripOptions
。已清除部分方法名稱。已修訂或新增 JavaDoc 註解到 以便傳達更明確的意義
改善錯誤處理機制。
自訂樣式
已淘汰的舊版包裝函式
- 淘汰了
MarkerStyleOptions
和PolylineStyleOptions
,並且 由MarkerOptions
和PolylineOptions
取代,兩者皆共用 Maps SDK 整合了這些 API。
- 淘汰了
當機監控
新增當機偵測和記錄功能。
- 我們新增了一項功能,可讓您選擇停用這項功能。這個 是範圍相當大範圍的當機監控措施之一。
驗證變更
- 從驗證介面中移除不必要的方法。
- 已移除
ServiceType
參數。
- 已移除
v0.9.28 (2021 年 5 月 18 日)
API 變更
- 已更新所有
ConsumerTripCallback
方法,以便使用TripInfo
做為 參數。 - 新增了
ConsumerTrip.isRefreshing()
,用來指出是否使用ConsumerTrip
正主動以 Fleet Engine 提供的最新行程資訊進行更新。 - 新增了
ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
。 - 新增了
ConsumerTripCallback.onTripRemainingRouteUpdated()
。 - 將 Guava 傳回類型 (
ImmutableSet
、ImmutableList
) 替換為java.util
個對等的類別。 套件名稱變更:
- com.google.android.libraries.ridesharing.common.AuthTokenContext -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenContext
- com.google.android.libraries.ridesharing.common.AuthTokenFactory -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenFactory
com.google.android.libraries.ridesharing.common.FleetEngineServiceType -> com.google.android.libraries.ridesharing.consumer.auth.FleetEngineServiceType - com.google.android.libraries.ridesharing.common.model.Trip
-> com.google.android.libraries.ridesharing.consumer.model.Trip - com.google.android.libraries.ridesharing.common.model.Vehicle -> com.google.android.libraries.ridesharing.consumer.model.Vehicle
導入方式異動
- 修正 SDK 可能會因為與 準備就緒。
- SDK 不再包含未經模糊處理的
io.grpc
副本。 - 修正特定裝置發生交通折線閃爍錯誤。路況 片段將會以圓角結束
0.9.15 版 (2020 年 10 月 7 日)
API 變更
- 這個版本推出流量感知功能
折線。
- 已新增「
TripInfo.getActiveRouteTraffic()
」 和TripInfo.getRemainingRouteTraffic()
。- 新增了
ConsumerTripCallback.onTripActiveRouteTrafficUpdated()
和ConsumerTripCallback.onTripRemainingRouteTrafficUpdated()
表示 流量變化時。 - 新增了
PolylineStyleOptions
用於自訂流量 (setTrafficEnabled()
、setTrafficColorNoData()
、setTrafficColorNormal()
、setTrafficColorSlow()
、setTrafficColorTrafficJam()
)。 - 已公開
PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
。 - 新增了
TripWaypoint.getTrafficData()
。 - 已新增
TrafficData
資料類型。 - 已新增《
ConsumerController.hideAllSessions()
》。ConsumerController.showSession()
不再接受空值做為 引數。
- 新增了
0.9.9 版 (2020 年 7 月 15 日)
API 變更
- 這是一項重大變更,導入了模組化架構,並加上
資料專用圖層之間的關係 (例如
ConsumerTripManager
) 和使用者介面層 (例如JourneySharingSession
)。如要瞭解如何遷移至新版 架構中,請參閱模組化遷移 指南。 -ConsumerTrip
物件現在 取得ConsumerTripManager.getTrip()
。ConsumerTrip.unregisterCallback
已重新命名為ConsumerTrip.unregisterTripCallback
。ConsumerTrip.isCallbackRegistered
已重新命名為ConsumerTrip.isTripCallbackRegistered
。- 新增了
ConsumerTrip.setConsumerTripOptions()
和ConsumerTrip.getConsumerTripOptions()
。 - 已移除
ConsumerTrip.setAutoRefreshInterval()
。
- 已移除非旅程共用 API。
- 已移除車輛密度地圖。
- 已移除行程預覽狀態。
- 已移除上車選項狀態。
- 已移除下車地點選取狀態。
- 已移除下列標記類型:
SELECTED_PICKUP_POINT
、SUGGESTED_PICKUP_POINT
、HIGHLIGHTED_PICKUP_POINT
和SELECTED_DROPOFF_POINT
。
OnConsumerMarkerClickCallback
和ConsumerMapReadyCallback
已從 介面抽象化類別。- 新增日期:
ConsumerController.getCameraUpdate()
,ConsumerController.isAutoCameraEnabled()
和ConsumerController.enableAutoCamera()
。 - 已移除自訂 FAB 及其相關方法
(
ConsumerController.isMyLocationFabEnabled
和ConsumerController.setMyLocationFabEnabled
)。
導入方式異動
ConsumerTripCallback
,無論註冊與否,LifecycleOwner
,不再自動取消註冊TripStatus.COMPLETE
或TripStatus.CANCELED
。- 自動相機現在預設為啟用,且一律不重新啟用或停用。
先前在開啟自動相機時,系統會自動重新啟用
TripStatus.ARRIVED_AT_PICKUP
,且在使用者進行互動時自行停用 分享出遊感想。 - 下列改善了旅程共享車輛的功能
動畫:
- 行程分享動畫現在會處理車輛可能遇到的情況 沿著已經穿越的路人行進。
- 車輛現在會顯示直線動畫,而非路線 以演算法判定不同點之間 或適當。
- 不再需要
FINE_LOCATION
權限。
其他變更
- 已更新下列依附元件版本:
- com.google.android.datatransport:transport-api:2.2.0
- com.google.android.datatransport:transport-backend-cct:2.2.0
- com.google.android.datatransport:transport-runtime:2.2.0
v0.9.1 (2020 年 3 月 23 日)
API 變更
- 新增了
TripInfo.getVehicleId()
、TripInfo.getNumberOfPassengers()
,TripInfo.getIntermediateDestinationIndex()
,TripInfo.getTripActiveRoute()
和TripInfo.getTripRemainingRoute()
。 - 新增在
ConsumerApi
初始化期間使用的options
類別, 動態設定FleetEngine
位址。如果未使用FleetEngine
值,系統會嘗試從 Android 資訊清單或 否則就會回復預設值
改善項目
- 行程狀態處於以下狀態時,不會顯示路線折線
ARRIVED_AT_PICKUP
。 - 已改善偏離路線的車輛追蹤功能 (須使用 DriverSDK 1.15):
- 車輛追蹤不會在車輛時將車輛貼齊路線 行車時間超過取貨點。
- 車輛追蹤功能可用來在道路外顯示車輛;的 例如無對應的停車場
- 現在車輛圖示會在駕駛目的地不符時更新 也就是 Fleet Engine 中的目的地
v0.8.6 版 (2019 年 12 月 16 日)
API 變更
新增了
TripInfo.getVehicleLocation()
。「
ConsumerMapView
」已非最終定案,
導入方式異動
- 目前活動路段的剩餘距離是以伺服器距離計算得出 (駕駛回報 + 靜態路線 (如適用)) 而非本機貼齊。 這項變更可產生更準確的剩餘距離值。
其他變更
需要新的依附元件。詳情請參閱 .pom 檔案。
- com.google.android.datatransport:transport-api:2.0.0
- com.google.android.datatransport:transport-backend-cct:2.0.2
- com.google.android.datatransport:transport-runtime:2.0.0
新增行程要求延遲時間的記錄。
新增行程回應錯誤的記錄。
附註
- 從 0.8.1 版開始,Android 消費者 SDK 會以 ZIP 檔案的形式提供 封存。如要瞭解如何取消 Jetify,請參閱「Jetifier:反向 模式。
v0.8.1 版 (2019 年 9 月 13 日)
新功能
支援: ConsumerMapView.
ODRD 構件現在會送達 Maven 存放區,而非 .aar zipfile。 詳情請參閱將 Consumer SDK 新增至 app。
API 變更
將
ConsumerController.disableAutoCamera()
新增為centerMapForState()
。VehicleLocation.getUpdateTime()
現在會傳回 Long,代表 時間戳記 (以毫秒為單位)。簡化
AuthTokenFactory
介面,公開 產生權杖已將AuthTokenFactory
從介面變更為 抽象類別以啟用 Java7 中的回溯相容性。這項變更 具回溯相容性,但產生單一服務權杖的舊版方法 ,且最終將會移除。
導入方式異動
素材資源現已置於圖示中央,並消除陰影偏移。
從
setState
到JOURNEY_SHARING onStartTripMonitoring()
不必等待 查看受監控行程的狀態一律傳回第一次行程資料更新的資料,即使行程資料不完整也一樣 的同步。
將 Android 地圖公用程式新增為提供的依附元件。
修正錯誤
- 已修正 grpc Keep 的 ProGuard 匯出語法毀損。
0.7.0 版 (2019 年 8 月 7 日)
新功能
- 支援歷程分享的多個目的地。
API 變更
ConsumerTripCallback
的新方法。onTripIntermediateDestinationsUpdated()
。onTripETAToNextTripWaypointUpdated()
。
新的
ConsumerController
方法。getIntermediateDestinations()
。setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
。
新版
TripStatuses
。TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION
。TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION
。
新增
TripWaypoint
getter。getETAMillis()
。getDistanceMeters()
。
已新增
TripInfo
類別。- 你可以透過以下方式,取得進行中行程的
TripInfo
:ConsumerTripManager.getActiveTripInfo()
。
- 你可以透過以下方式,取得進行中行程的
新增了
WaypointType.INTERMEDIATE_DESTINATION
。新增了
MarkerType.TRIP_INTERMEDIATE_DESTINATION
。由合併的
ConsumerMapStates
建立「ConsumerMapState.JOURNEY_SHARING
」ENROUTE_TO_PICKUP
、ARRIVED_AT_PICKUP
、ENROUTE_TO_DROPOFF
和COMPLETE
。「
StateChangeCallbacks
」已更新。新增了
onStateJourneySharing()
。已移除
onStateWaitingForPickup()
、onStateDriverArrived()
、onStateEnroute()
和onStateEndofTrip()
。
修正錯誤
修正在行程期間未修剪路線至車輛位置的錯誤 監控作業會在有效行程的中間 (而非路線的頭部) 開始監控。
修正了以下錯誤:已註冊的事件監聽器無法叫用行程回呼 TripManager 擷取行程資料後的 Tripmanager。
相機縮放功能現在只會包含有效路線和下一個行程路線點 (屬於行程的路線點)。即使能看到另一條路段 則不會包含該物件先前包含下車地點 當車輛正在前往上車地點或抵達時放大畫面中 上車。這點已不成立。
改善項目
使用駕駛資料 (其餘路線控點) 填入第 0 個剩餘路線點 清單是從
ConsumerTripCallback.onTripRemainingWaypointsUpdated
傳回 和TripInfo.getRemainingWaypoints()
。更新所有剩餘的路線控點預計到達時間,當抵達目的地的第一個路線控點時 清單變更。
只在駕駛人抵達上車地點時強制重新啟用自動相機。先前 會在每次行程狀態變更時重設為自動相機。自動攝影機為 仍會預設啟用如有新的行程,自動攝影機不會重新啟用 已經設定,但尚未對
startTripMonitoring()
發出新呼叫。
0.6.1 版 (2019 年 6 月 26 日)
新功能
- 支援共乘行程。
API 變更
ConsumerController.getConsumerMapStyle()
現在會傳回ConsumerMapStyle
而非Task<ConsumerMapStyle>
。新增了
PolylineStyle.setZIndex()
。
修正錯誤
路徑動畫現在只會在路徑片段處於同步狀態時產生。 進而提升使用者體驗
修正車輛「閃爍」問題期間 彼此密切相關的位置更新
修正車輛從路線起點開始,而非 中途啟動行程監控 有效的行程。
在其餘路線上方顯示使用中的路線折線 重疊。
改善項目
- 現在,使用未模糊化的方法公開 gRPC
Status
類別。
0.5.1.01 版 (2019 年 5 月 17 日)
新功能
- 提供旅程分享支援。
API 變更
- 新增
ConsumerController
類別。
PolylineType
舊值 | 新值 |
---|---|
TRIP_PREVIEW_AUTO_ROUTE |
PREVIEW_AUTO_ROUTE |
TRIP_PREVIEW_TAXI_ROUTE |
PREVIEW_TAXI_ROUTE |
TRIP_PREVIEW_TRUCK_ROUTE |
PREVIEW_TRUCK_ROUTE |
TRIP_PREVIEW_TWO_WHEELER_ROUTE |
PREVIEW_TWO_WHEELER_ROUTE |
TRIP_ROUTE |
ACTIVE_ROUTE |
REMAINING_ROUTE |
ConsumerTripCallback
舊值 | 新值 |
---|---|
onTripRouteUpdated |
onTripActiveRouteUpdated |
onTripRemainingDistanceUpdated |
onTripActiveRouteRemainingDistanceUpdated |
onTripRemainingWaypointsUpdated() |
ConsumerController
- 您現在不用輸入狀態,就能設定狀態的回呼。
方法 | 回撥電話 |
---|---|
startPickupSelection |
setPickupSelectionCallback |
startDropoffSelection |
setDropoffSelectionCallback |
startTripPreview |
setTripPreviewSelectionCallback |
ConsumerController.setLanguage(String languageCode)
可讓您設定 FleetEngine 呼叫中所使用的語言 (用於取貨點說明、 範例)。
改善項目
- 下車地點選取狀態現在有可拖曳的圖釘。
- 已移除
INITIALIZE
狀態的相機動畫。 - 已將
ManagedChannelBuilder
取代為AndroidChannelBuilder
。