Das Consumer SDK bietet eine sofort einsetzbare Funktion für Nutzer-Apps für Mitfahrdienste, mit denen der Standort und der Fortschritt des Fahrzeugs auf der Fahrt angezeigt werden können.
Einige Mitfahrdienstanbieter wünschen sich jedoch durch flexible Einbindung mehr Kontrolle über die Erfahrung der Endnutzer und nutzen gleichzeitig die Vorteile des genauen Fahrzeugstandorts, der voraussichtlichen Ankunftszeit und der Route von Google in Echtzeit. In diesem Leitfaden erfahren Sie, wie Sie als Alternative zur Verwendung des Consumer SDK Fahrtdaten direkt aus der Fleet Engine abrufen können.
Überblick
Wenn Sie Fahrtinformationen direkt von Fleet Engine abrufen möchten, rufen Sie die Methode GetTrip
auf und geben Sie die Ansicht JOURNEY_SHARING_V1S (RPC | REST) an.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-A";
String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;
GetTripRequest getTripRequest =
GetTripRequest.newBuilder()
.setName(tripName)
.setView(JOURNEY_SHARING_V1S)
.build();
Trip trip = tripService.getTrip(getTripRequest);
In die folgenden Felder des resultierenden Objekts „Trip“ (RPC | REST) werden die neuesten verfügbaren Informationen für die Fahrt eingetragen:
name
vehicle_id
trip_status
trip_type
number_of_passengers
pickup_point
actual_pickup_point
pickup_time
intermediate_destinations
intermediate_destinations_version
intermediate_destination_index
dropoff_point
actual_dropoff_point
dropoff_time
remaining_waypoints
last_location
view
(== JOURNEY_SHARING_V1S)
Mitfahrdienstanbieter fragen den Fahrdienst in der Regel alle zwei bis fünf Sekunden den Status jeder Fahrt ab, während der Fahrgast den Fahrzeugfortschritt aktiv überwacht. Die Aktualisierung des Fahrzeugstandorts erfolgt in der Regel in längeren Intervallen, etwa zehn Sekunden. Das Feld Trip.last_location.update_time
kann überwacht werden, um zu sehen, ob seit dem vorherigen Aufruf von GetTrip
Aktualisierungen stattgefunden haben.
Wegpunkte für Fahrten
Die Entität „Trip“ enthält ein wiederkehrendes Feld vom Typ TripWaypoint
(RPC | REST).
Dieses Feld enthält alle Wegpunkte, die das Fahrzeug der Reihe nach vor dem endgültigen Ausstiegspunkt dieser Fahrt zurücklegen muss. Wenn Sie die Ansicht für die Fahrt teilen, weisen Sie Fleet Engine an, aktualisierte Informationen in die verbleibenden_waypoints[0]-TripWaypoint
einzutragen. In anderen Ansichten, die keine Fahrten teilen, entspricht dieser Wegpunkt normalerweise nicht der letzten Position des zugewiesenen Fahrzeugs.
Hier ein Beispiel für das Feld remaining_waypoints
von Fahrt A:
| |||||||||||||||||||||
|
Bei aufeinanderfolgenden Fahrten und gemeinsamen Fahrten (Fahrgemeinschaften) kann diese Liste Wegpunkte von anderen Fahrten enthalten, die während dieser Fahrt durchlaufen werden. Stellen Sie sich zum Beispiel das Szenario vor, bei dem Fahrt B dem gleichen Fahrzeug zugewiesen wird wie Fahrt A. Das Feld remaining_waypoints
für Fahrt A würde dann so ausgefüllt werden.
Die meisten Felder wurden aus Gründen der Übersichtlichkeit weggelassen, sie werden aber wie im vorherigen Beispiel ausgefüllt.
[0] | trip_id = "trip_A" |
---|---|
waypoint_type = PICKUP_WAYPOINT_TYPE | |
[1] | trip_id = "trip_B" |
waypoint_type = PICKUP_WAYPOINT_TYPE | |
[2] | trip_id = "trip_B" |
waypoint_type = DROP_OFF_WAYPOINT_TYPE | |
[3] | trip_id = "trip_A" |
waypoint_type = DROP_OFF_WAYPOINT_TYPE |
Das Feld remaining_waypoint
von Fahrt B würde ähnlich ausgefüllt werden, aber es wären nur die ersten drei Einträge vorhanden, da der Ausstiegspunkt von Fahrt A nicht Teil der Route von Fahrt B ist.