機群引擎

公用類別 FleetEngine 擴充物件

Google Fleet Engine 的用戶端。

此類別可讓呼叫端 enabledisableLocationTracking() 停用位置追蹤功能。您可以用 setLocationReportingInterval(long, TimeUnit) 控制更新頻率。

這個類別並不安全。

巢狀類別摘要

FleetEngine.AuthTokenFactory 執行各種作業時,系統會要求這個介面的執行個體提供授權權杖。
類別 FleetEngine.ErrorListener 發生重大例外狀況時,Fleet Engine 用戶端會使用這個介面的執行個體通知開發人員。
FleetEngine.FleetEngineConfig 此介面已淘汰。舊版掛鉤
FleetEngine.StatusListener 狀態更新的事件監聽器。
列舉 FleetEngine.VehicleState 指出車輛是否接受新行程。

公用方法摘要

static void
clearInstance()
ClearInstance 會停止位置追蹤、清除內部狀態,並將 FleetEngine 單例模式重設為空值。
static void
createInstance(應用程式、String providerId、String carId、FleetEngine.AuthTokenFactory authTokenFactory、FleetEngine.ErrorListener errorListener)
建立 FleetEngine 單例模式,可用於存取 Google Fleet Engine 服務。
static void
createInstance(Application application、String providerId、String carId、FleetEngine.AuthTokenFactory authTokenFactory、FleetEngine.StatusListener statusListener、FleetEngine.ErrorListener errorListener)
建立 FleetEngine 單例模式,可用於存取 Google Fleet Engine 服務。
void
disableLocationTracking()
停止位置追蹤。
void
enableLocationTracking()
開始將排名報表上傳至 Fleet Engine 後端。
static FleetEngine
getInstance()
傳回 FleetEngine 單例模式。
getLocationReportingIntervalMs()
傳回目前的地區報表間隔 (以毫秒為單位)。
布林值
isLocationTrackingEnabled()
傳回是否要啟用位置追蹤。
static void
void
setLocationReportingInterval(長間隔、TimeUnit 間隔單位)
設定位置報表傳送至 Fleet Engine 後端的最短間隔。
static void
void
setVehicleState(FleetEngine.VehicleState 狀態)
設定 VehicleState。

繼承方法摘要

公用方法

public static void clearInstance ()

ClearInstance 會停止位置追蹤、清除內部狀態,並將 FleetEngine 單例模式重設為空值。

public static void createInstance (Application application, String providerId, String carId, FleetEngine.AuthTokenFactory authTokenFactory、FleetEngine.ErrorListener errorListener)

建立 FleetEngine 單例模式,可用於存取 Google Fleet Engine 服務。這個方法會在內部使用 getRoadSnappedLocationProvider(Application) 取得 RoadSnappedLocationProvider,因此必須先成功取得 Navigator 才能呼叫此方法,否則會導致 IllegalStateException。呼叫 createInstance() 兩次會導致 IllegalStateException

參數
調度應用程式資源 目前的 Application,不得為 null
providerId 提供者 ID
vehicleId 將連線至 Fleet Engine 的車輛 ID
authTokenFactory 提供 Fleet Engine 授權權杖的 factory
errorListener 在 Fleet Engine 用戶端錯誤發生時通知的 listener
擲回
IllegalStateException 表示 AndroidManifest.xml 中未指定提供者 ID

public static void createInstance (Application application, String providerId, String carId, FleetEngine.AuthTokenFactory authTokenFactory、FleetEngine.StatusListener statusListener、FleetEngine.ErrorListener errorListener)

建立 FleetEngine 單例模式,可用於存取 Google Fleet Engine 服務。這個方法會在內部使用 getRoadSnappedLocationProvider(Application) 取得 RoadSnappedLocationProvider,因此必須先成功取得 Navigator 才能呼叫此方法,否則會導致 IllegalStateException。呼叫 createInstance() 兩次會導致 IllegalStateException

參數
調度應用程式資源 目前的 Application,不得為 null
providerId 提供者 ID。
vehicleId 將連線至 Fleet Engine 的車輛 ID
authTokenFactory 提供 Fleet Engine 授權權杖的 factory
statusListener 監聽器狀態更新的事件監聽器。
errorListener 用於在 Fleet Engine 用戶端錯誤發生時通知的 listener
擲回
IllegalStateException 表示 AndroidManifest.xml 中未指定提供者 ID。

public void disableLocationTracking ()

停止位置追蹤。我們不會嘗試停止已在進行中的報表,但不會再產生或傳送新的排名報表。

如要停止追蹤,請再次呼叫 enableLocationTracking()

擲回
IllegalStateException 已停止追蹤位置

public void enableLocationTracking ()

開始將排名報表上傳至 Fleet Engine 後端。系統預設每 5 秒定期產生報表。如果暫時性問題 (例如網路連線中斷、導致報表傳送無法傳送),系統回報的頻率可能會降低。

位置報表會在背景執行緒中執行,這個呼叫會立即傳回。

呼叫 disableLocationTracking() 即可停用位置追蹤功能。

報表時間間隔可以使用 setLocationReportingInterval(long, TimeUnit) 變更。

擲回
IllegalStateException 如果位置追蹤功能已啟用

public static FleetEngine getInstance ()

傳回 FleetEngine 單例模式。createInstance() 必須在 getInstance() 之前呼叫,否則會傳回空值。

public long getLocationReportingIntervalMs ()

傳回目前的地區報表間隔 (以毫秒為單位)。

public 布林值 isLocationTrackingEnabled ()

傳回是否要啟用位置追蹤。

public static void setFleetEngineConfig (FleetEngine.FleetEngineConfig 設定)

參數
config

public void setLocationReportingInterval (長間隔、TimeUnit 間隔單位)

設定位置報表傳送至 Fleet Engine 後端的最短間隔。預設的報表間隔為 10 秒。支援的更新間隔下限為 5 秒。更新頻率越高,要求和錯誤的速度就會變慢。

參數
間隔
intervalUnits

public static void setNavigator (導覽器導覽器)

參數
導航工具

public void setVehicleState (FleetEngine.VehicleState 狀態)

設定 VehicleState。如果已啟用位置更新功能,這個值會在下次位置更新時生效。如果已停用位置更新功能,系統會立即觸發更新。

VehicleState 更新會在背景執行緒中進行,此呼叫會立即傳回。

參數
state
擲回
IllegalStateException 如果 VehicleState 設為 ONLINE (如果尚未啟用位置追蹤,則設為 ONLINE)。