本節的文件說明如何使用 Google 地圖 Mobility 隨選行程服務建立行程,並與行程互動。我們假設您熟悉下列項目:
- Fleet Engine:您應熟悉 Fleet Engine 實作詳細資料、要求機制和安全性。如需相關資訊,請參閱「什麼是 Fleet Engine 服務?」和「設定 Fleet Engine」中的安全性主題。
- 隨選服務的車輛基本資訊。請參閱車輛簡介。
- 隨選服務的行程基本資訊。請參閱「隨選行程」。
您將使用的 TripService
適用於 gRPC 和 REST。為求簡單,欄位參照會遵循 gRPC 慣例。
在用於叫車服務的 Fleet Engine 中,行程是一種旅程,用於模擬消費者的餐點外送或叫車要求。行程有狀態,您會在行程進展時向 Fleet Engine 回報,例如 NEW
、ENROUTE_TO_PICKUP
等。行程狀態會對應至指派給車輛的地理位置路徑點,而 Fleet Engine 會在您每次更新行程時修改這些車輛路徑點。如要進一步瞭解行程及其與車輛的關係,請參閱車隊引擎的基礎知識中的「隨選行程」一節。
行程的生命週期
如要在 Fleet Engine 中追蹤每趟行程,您必須先建立 Trip
實體。請參閱 gRPC 或 REST 相關說明。
下表說明在系統中建立的行程端對端流程範例,以及該行程在 Fleet Engine 中的生命週期階段。這項操作假設您已設定車隊引擎,並有可指派給行程的車輛,且已在駕駛應用程式中啟用位置更新功能。請參閱「駕駛員 SDK:隨選行程」。
1 | 收到預訂要求。 | Fleet Engine 行程開始前,您的預訂系統會先透過應用程式或其他預訂系統,收到消費者的叫車或外送要求。接著,系統會使用 CreateTrip 建立行程實體,其中包含必要欄位,例如上車地點。也可以在這個時間點設定其他欄位,例如乘客和下車地點,或等待車輛指派車輛。請參閱「建立單一目的地行程」。 |
2 | 指派車輛。 | 您可以直接為系統中的行程指派車輛,並將任務回報給 Fleet Engine,或者使用 Search Vehicle 服務搜尋車輛,並同時依行程和車輛屬性進行篩選,找出最適合完成旅程的車輛。在搜尋半徑範圍內,任何線上車輛都會透過 Driver SDK 提供的位置更新資訊,讓您瞭解車輛的接近程度。
|
3 | 更新行程。 | 司機接受行程並開始前往上車地點後,系統會將行程狀態從 NEW 更新為 ENROUTE_TO_PICKUP 。在整個行車過程中,您會持續輪詢車輛位置,無論是從應用程式直接連結至後端,還是輪詢 Fleet Engine,後者會從 Driver SDK 接收持續的車輛位置更新資料串流。系統會將每個行程里程碑回報給 Fleet Engine,後者會據此更新車輛的路標清單。 |
4 | 與消費者分享歷程。 | Fleet Engine 會將行程詳細資料和車輛位置提供給 Consumer SDK,後者會使用事件監聽器接收行程更新內容,並在消費者應用程式中顯示。Fleet Engine 會自動更新預估抵達時間、剩餘距離、路線和車輛剩餘路線控點。詳情請參閱「分享預約行程的旅程」。 |
5 | 完成行程。 | 當車輛到達行程的目的地路線點,且司機指出行程成功時,系統會在 Fleet Engine 中將 TripStatus 設為 COMPLETE 。請注意,無論狀態為何,行程實體在 Fleet Engine 中都會保持活動狀態 7 天,之後才會移除。 |
行程序列流程
下圖顯示這個流程的詳細檢視畫面。