Consumer SDK for Android – Versionshinweise

In diesem Abschnitt finden Sie Versionshinweise für das Consumer SDK für Android.

Ankündigung: Support für API-Level 23, 24 und 25 wird eingestellt

Gemäß der Richtlinie zur Unterstützung von mobilen Betriebssystemversionen wird die Unterstützung für Android 6 und 7 (API-Level 23, 24 und 25) in den kommenden Hauptversionen des Consumer SDK für Android eingestellt.

Für Versionen des Consumer SDK für Android, die ab dem vierten Quartal 2025 veröffentlicht werden, ist mindestens Android 8 (API-Level 26) erforderlich. Ältere SDK-Versionen unterstützen Android 6 und 7 weiterhin.

Wenn in Ihren Abhängigkeiten keine Versionsnummer angegeben ist, lädt Ihre IDE die neueste SDK-Version und neue Builds Ihrer App unterstützen Android 6 und 7 nicht.

Geben Sie eine Version des Consumer SDK für Android in den Build-Abhängigkeiten Ihrer Anwendung an, um zu steuern, wann Sie das unterstützte Mindestbetriebssystem für neue Versionen Ihrer App anheben.

5.0.0 (9. November 2026)

  • Unterstützung für den vollständigen R8-Modus hinzugefügt. Die ProGuard-Regeln des SDKs behalten jetzt die gRPC-Anbieterklassen bei, die durch Reflexion geladen werden. Apps, die den vollständigen R8-Modus aktivieren, schlagen beim Start nicht mehr mit Unable to load OkHttpChannelProvider fehl.

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem Versuche, eine sichere Verbindung zur Fleet Engine herzustellen, unbegrenzt ausstehen konnten, wenn ein Zwischen-Carrier-Proxy während des Verbindungsaufbaus hängen blieb. Dadurch wurden Aktualisierungen des Fahrtstatus und der Fahrzeugverfolgung in bestimmten Mobilfunknetzen nicht aktualisiert. Das Consumer SDK erzwingt jetzt ein Verbindungszeitlimit und stellt die Verbindung automatisch wieder her.

Änderungen an Abhängigkeiten und Konfigurationen

Ab Version 5.0.0 des Consumer SDK für Android gelten neue Mindestanforderungen:

  • Die unterstützte Android-Mindestversion ist Android 7.0 (API-Level 24).
  • Apps müssen auf Kotlin 2.4 aktualisiert werden.

Das SDK wird jetzt mit den folgenden Tools erstellt:

  • Das Android-Gradle-Plug-in wurde auf Version 9.2.0 aktualisiert.
  • Upgrade von Gradle auf Version 9.4.1 durchgeführt.

4.1.0 (26. Mai 2026)

  • Interne Verbesserungen: Der interne Datenspeicher wurde zu Jetpack DataStore migriert.

Änderungen an Abhängigkeiten und Konfigurationen

  • Die Kotlin-Abhängigkeitsversion wurde auf v2.3.0 aktualisiert.
  • Das Android-Gradle-Plug-in wurde auf Version 8.13.2 aktualisiert.
  • Upgrade von Gradle auf Version 8.13 durchgeführt.
  • Die Desugar-Bibliothek wurde auf Version 2.1.5 aktualisiert.
  • Das Maps SDK wurde auf Version 20.0.0 aktualisiert und die folgenden GMS Core-Abhängigkeiten wurden aktualisiert:
    • play-services-location: 21.3.0
    • play-services-tasks: 18.4.1
    • play-services-common: 18.1.0
    • play-services-basement: 18.1.0
  • Jetpack Datastore-Abhängigkeiten hinzugefügt (androidx.datastore:datastore-core:1.2.0, androidx.datastore:datastore-guava:1.2.0).

4.0.0 (3. Oktober 2025)

  • Interne Verbesserungen.

3.2.0 (26. Juni 2025)

  • Verbesserungen bei der internen Protokollierung.

Änderungen an Abhängigkeiten und Konfigurationen

  • Ab Version 3.2.0 des Consumer SDK für Android müssen Apps auf Kotlin 2.1 aktualisiert werden.

Fehlerkorrekturen

  • Verwenden Sie für interne Animationsentscheidungen die Polylinienlänge anstelle der Luftlinie.

3.1.0 (10. März 2025)

  • Verbesserungen bei der internen Protokollierung.

3.0.0 (6. Dezember 2024)

Änderungen an Abhängigkeiten und Konfigurationen

2.99.0 (25. November 2024)

Fehlerkorrekturen

  • Ein ANR-Fehler wurde behoben, der auftritt, wenn die Ausführung von ConsumerApi.cleanUp() zu lange dauert. Der Roll-out erfolgt schrittweise (beginnend bei 0 %), sobald der Release integriert wurde.
  • Es wurde ein Problem behoben, bei dem Fahrer gRPC-Fehler mit dem Code „INTERNAL“ und der Meldung „Panic! Das ist ein Fehler!“. Der Roll-out erfolgt schrittweise (beginnend bei 0 %), sobald der Release integriert wurde.

2.3.0 (2. August 2024)

API-Änderungen

2.2.0 (7. Mai 2024)

API-Änderungen

  • Unterstützung für die Jetpack Compose-Integration wurde hinzugefügt. Dies ist eine experimentelle Funktion. Weitere Informationen zur Integration mit Jetpack Compose erhalten Sie von Ihrem Ansprechpartner.

2.1.0 (17. Januar 2024)

Fehlerkorrekturen

  • Ein Absturz, der auftritt, wenn das SDK im Laufe des Anwendungslebenszyklus mehrmals initialisiert wird, wurde behoben.

API-Änderungen

  • Führt eine Methode ein, um die vom SDK erstellte GoogleMap-Instanz (ConsumerGoogleMap.getGoogleMap()) abzurufen.
  • Einführung einer API zum Abrufen der vom SDK erstellten Marker-Instanzen, die das Fahrzeug darstellen (ConsumerController.getConsumerMarker()).
  • Führt eine API ein, um während der Fahrtfreigabe (ProjectedRouteEta) vom Client prognostizierte Aktualisierungen für Zeit und Entfernung zu erhalten.

1.99.2 (3. November 2023)

  • Ein Absturz wurde behoben, der auftritt, wenn das SDK von einem Remote-Prozess initialisiert wird, der von der Anwendung getrennt ist.

  • Ein Absturz wurde behoben, der auftrat, wenn während der Ausführung einer Kameraanimation nicht genügend vertikaler oder horizontaler Platz für das Padding vorhanden war. Dies geschieht nur beim neuesten Maps-Renderer.

  • Es wurde ein Fehler behoben, der dazu führte, dass der erste Abschnitt einer Back-to-Back-Fahrt gekürzt wurde, wenn der zweite Abschnitt über dieselbe Straße führte.

Probleme

  • ConsumerApi.initialize() löst eine Ausnahme aus, wenn es aufgerufen wird, während bereits eine API-Instanz vorhanden ist. Um dieses Problem zu umgehen, rufen Sie zuerst ConsumerApi.getInstance() auf und werten Sie den zurückgegebenen Task aus, um festzustellen, ob bereits eine API-Instanz vorhanden ist.

2.0.0 (15. September 2023)

Ankündigung: Funktionsgefährdende Änderungen

  • Das erforderliche Mindest-API-Level wurde von 21 auf 23 aktualisiert.

  • Die erforderliche Maps SDK-Version wurde von v17.0.0 auf v18.1.0 aktualisiert.

  • Die Mindestversion der Kotlin-Standardbibliothek wurde von Version 1.6.10 auf Version 1.9.0 aktualisiert.

  • Versionen der Google Play-Dienste-Abhängigkeiten aktualisieren

    • Die Mindestversion der play-services-base-Bibliothek wurde von v18.0.1 auf v18.2.0 aktualisiert.

    • Die Mindestversion der play-services-basement-Bibliothek wurde von Version 18.0.0 auf Version 18.2.0 aktualisiert.

    • Die Mindestversion der Bibliothek „play-services-location“ wurde von Version 17.0.0 auf Version 21.0.1 aktualisiert.

    • Die Mindestanforderung für die Version der play-services-tasks-Bibliothek wurde von Version 18.0.1 auf Version 18.0.2 aktualisiert.

  • Fügt die Bibliothek „androidx.room:room-runtime“ mit der Mindestversionsanforderung v2.5.2 hinzu

  • Aktualisieren Sie die folgenden Abhängigkeitsversionen:

    • Die Mindestversion der android-maps-utils-Bibliothek wurde von v0.4.2 auf v3.5.2 aktualisiert.

    • Die Mindestversion für „com.google.android.datatransport:transport-backend-cct“ wurde von Version 3.0.0 auf Version 3.1.9 aktualisiert.

    • Die Mindestversion für „com.google.android.datatransport:transport-runtime“ wurde von Version 3.0.1 auf Version 3.1.9 aktualisiert.

    • Die Mindestanforderung für die Version von androidx.lifecycle:lifecycle-extensions wurde von v2.0.0 auf v2.2.0 aktualisiert.

    • Die Mindestanforderung für die Version von androidx.lifecycle:lifecycle-common-java8 wurde von Version 2.0.0 auf Version 2.6.1 aktualisiert.

    • Die Mindestanforderung für die Version von androidx.appcompat:appcompat wurde von Version 1.0.0 auf Version 1.6.1 aktualisiert.

    • Die Mindestanforderung für die Version von androidx.fragment:fragment wurde von v1.0.0 auf v1.6.1 aktualisiert.

  • Entfernt die folgenden zuvor verworfenen APIs: ConsumerTrip, ConsumerTripCallback, ConsumerTripManager, ConsumerTripOptions. Sie wurden durch TripModel, TripModelCallback, TripModelManager und TripModelOptions ersetzt.

  • Apps, die das Consumer SDK verwenden, müssen jetzt eine targetSdkVersion von API 31 oder höher und eine compileSdkVersion von API 33 oder höher haben.

  • Für Apps, die das Consumer SDK verwenden, muss jetzt die Unterstützung der Java 8-Bibliothek aktiviert werden. Eine Anleitung zum Aktualisieren finden Sie unter https://developer.android.com/studio/write/java8-support.

  • Apps, die Proguard oder Dexguard verwenden, müssen zu R8 migrieren. Weitere Informationen finden Sie unter https://developer.android.com/build/shrink-code.

  • In Apps, die das Consumer SDK verwenden, muss die Entzuckerung aktiviert sein. Eine Anleitung finden Sie unter https://developer.android.com/studio/write/java8-support#library-desugaring.

  • Die Methode ConsumerApi.initialize() löst jetzt eine Ausnahme aus, wenn sie aufgerufen wird, während bereits eine API-Instanz erstellt wurde. Anhand des von ConsumerApi.getInstance() zurückgegebenen Task muss ermittelt werden, ob zuvor eine API-Instanz erstellt wurde.

Ankündigung: Einstellung von APIs

  • Die Annotationsklassen Trip.TripStatus und Trip.TripType werden eingestellt und durch die Annotationsklassen TripInfo.TripStatus und TripInfo.TripType ersetzt.

    • Im Rahmen dieser Änderung wird TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status) eingestellt und durch TripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status) ersetzt.

    • Im Rahmen dieser Änderung wird TripInfo#getTripStatus() eingestellt und durch TripInfo#getCurrentTripStatus() ersetzt.

    • Im Rahmen dieser Änderung wird TripInfo#getTripType() eingestellt und durch TripInfo#getCurrentTripType() ersetzt.

  • Die Klasse Trip wird eingestellt.

Weitere Änderungen und Fehlerkorrekturen

  • Unterstützt das Anfordern des neuesten Maps SDK-Renderers. Weitere Informationen finden Sie unter Neuer Karten-Renderer.

  • Unterstützt Maps SDK-Versionen von v18.1.0 (einschließlich) bis v19.0.0 (ausschließlich).

  • Behebt den Fehler „Frist überschritten“ bei der internen Kommunikation zwischen dem SDK und dem Google-Backend.

  • Ein Rendering-Problem bei kleinen Bildschirmen und im Bild-im-Bild-Modus wurde behoben.

Migrationsanleitung

1.99.1 (31. August 2023)

Fehlerkorrekturen

  • Ein Absturz, der auftritt, wenn die SDK-Hostaktivität oder das SDK-Hostfragment gelöscht wird, wurde behoben.

  • Ein Absturz, der auftritt, wenn die Abmessungen der MapView (Höhe oder Breite) 0 sind, wurde behoben.

  • Es wurde ein Absturz behoben, der auftrat, wenn der Fahrzeugstandort auf die Polylinie der Route projiziert wurde.

Verbesserungen

  • Verhindert, dass das SDK abstürzt, wenn die gehostete Anwendung per Sideload geladen wird und die standardmäßigen visuellen Ressourcen nicht vorhanden sind.

1.99.0 (22. Juni 2023)

Fehlerkorrekturen

  • Behebt ein Renderingproblem bei kleinen Bildschirmen und im Bild-im-Bild-Modus.

  • Fahrzeugflackern während der Fahrtfreigabe wurde behoben.

1.2.1 (7. Juni 2023)

Fehlerkorrekturen

  • Ein Fehler wurde behoben, der dazu führte, dass das Fahrzeug während der Fahrtenfreigabe flackerte.

1.2.0 (21. November 2022)

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, durch den im onTripActiveRouteTrafficUpdated-Callback leerer Traffic gemeldet wurde.

Neue Funktionen

  • „Verkehrsabhängige Polylinien“ sind jetzt allgemein verfügbar.

1.1.2 (27. Oktober 2022)

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, durch den die Polylinie der Route verschwand, wenn eine JourneySharingSession mehr als einmal für eine TripModel gestartet wurde.

Ankündigung: Einstellung des Supports für Android 5 (25. Juli 2022)

Für die SDK-Version 1.1.1 bieten wir ein zusätzliches Jahr Support für Apps, die auf Android 5 mit den API-Levels 21 und 22 ausgeführt werden.

Was bedeutet das?

  • Das Consumer SDK, das in Ihren Android-Apps ausgeführt wird, unterstützt bis zum 30. Juni 2023 mindestens Android 5 (API-Level 21).

  • Nach dem 30. Juni 2023 werden nur noch Android API-Level 23 und höher unterstützt. Das bedeutet, dass wir nach diesem Datum die Android API-Level 21 und 22 in allen SDK-Versionen nicht mehr unterstützen. Das bedeutet, dass Fehler im Zusammenhang mit Android 21 oder 22 in SDK-Versionen (einschließlich 4.x) nicht behoben werden und wir nicht garantieren, dass die SDKs korrekt funktionieren.

v1.1.1 (25. Juli 2022)

Abhängigkeitsänderung

  • Das unterstützte Android-API-Mindestlevel wurde auf 21 herabgestuft.

v1.1.0 (28. April 2022)

  • Interne Verbesserungen.

v1.0.19 (17. März 2022)

Fehlerkorrekturen

  • Ein Speicherleck in der Klasse ConsumerApi wurde behoben.

v1.0.14 (30. November 2021)

Das unterstützte Android-API-Mindestlevel ist jetzt 23.

API-Änderungen

  • Änderungen an den Klassen ConsumerTrip und ConsumerTripManager.

    • Einige Methodennamen wurden bereinigt, um ihre Bedeutung klarer zu machen und sie an die iOS-Plattform anzupassen.
  • Änderungen an ConsumerTripCallback, ConsumerTrip und TripInfo.

    • Einige Klassennamen wurden geändert, um sie an iOS anzupassen. TripModel, TirpModelManager und TripModelOptions wurden eingeführt, um ConsumerTrip, ConsumerTripManager und ConsumerTripOptions zu ersetzen.

    • Einige Methodennamen wurden bereinigt. JavaDoc-Kommentare zu Methoden wurden überarbeitet oder hinzugefügt, um die Bedeutung klarer zu vermitteln.

    • Verbesserte Fehlerbehandlung.

Anpassung des Stils

  • Eingestellte Legacy-Wrapper

    • MarkerStyleOptions und PolylineStyleOptions wurden eingestellt und durch MarkerOptions und PolylineOptions ersetzt, die beide mit dem Maps SDK geteilt werden.

Absturzüberwachung

  • Absturzerkennung und ‑protokollierung hinzugefügt.

    • Es wurde eine Ergänzung vorgenommen, mit der Sie diese Funktion deaktivieren können. Dies war Teil einer größeren Geo-weiten Initiative zur Absturzüberwachung.

Änderungen der Authentifizierung

  • Entfernen Sie unnötige Methoden aus den Authentifizierungsschnittstellen.
    • Der Parameter ServiceType wurde entfernt.

v0.9.28 (18. Mai 2021)

API-Änderungen

  • Alle ConsumerTripCallback-Methoden wurden aktualisiert, um TripInfo als Parameter zu verwenden.
  • ConsumerTrip.isRefreshing() wurde hinzugefügt. Damit wird angegeben, ob ConsumerTrip aktiv mit aktuellen Fahrtdaten von Fleet Engine aktualisiert wird.
  • ConsumerTripCallback.onTripRemainingRouteDistanceUpdated() wurde hinzugefügt.
  • ConsumerTripCallback.onTripRemainingRouteUpdated() wurde hinzugefügt.
  • Ersetzen Sie Guava-Rückgabetypen (ImmutableSet, ImmutableList) durch entsprechende java.util-Klassen.
  • Änderungen am Paketnamen:

    • 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
      

Änderungen bei der Implementierung

  • Eine Race-Bedingung wurde behoben, bei der das SDK durch Interaktionen mit der Karte abstürzen konnte, bevor es bereit war.
  • Das SDK enthält keine nicht verschleierte Kopie von io.grpc mehr.
  • Ein Fehler wurde behoben, der auf bestimmten Geräten zu flackernden Polylinien für die Verkehrslage führte. Verkehrssegmente haben jetzt abgerundete Enden.

v0.9.15 (7. Oktober 2020)

API-Änderungen

  • In dieser Version werden verkehrsabhängige Polylinien eingeführt. – TripInfo.getActiveRouteTraffic() und TripInfo.getRemainingRouteTraffic() hinzugefügt.
    • ConsumerTripCallback.onTripActiveRouteTrafficUpdated() und ConsumerTripCallback.onTripRemainingRouteTrafficUpdated() wurden hinzugefügt, um anzugeben, wann sich der Traffic geändert hat.
    • PolylineStyleOptions für die Anpassung des Traffics hinzugefügt (setTrafficEnabled(), setTrafficColorNoData(), setTrafficColorNormal(), setTrafficColorSlow(), setTrafficColorTrafficJam()).
    • PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION freigelegt.
    • TripWaypoint.getTrafficData() wurde hinzugefügt.
    • Datentyp TrafficData hinzugefügt.
    • ConsumerController.hideAllSessions() wurde hinzugefügt. ConsumerController.showSession() akzeptiert „null“ nicht mehr als Argument.

v0.9.9 (15. Juli 2020)

API-Änderungen

  • Dies ist eine wichtige Änderung, die eine modularisierte Architektur mit einer klareren Beziehung zwischen der reinen Datenebene (z. B. ConsumerTripManager) und der Benutzeroberflächenebene (z. B. JourneySharingSession) einführt. Informationen zur Migration zur neuen Architektur finden Sie in der Modularisierungs-Migrationsanleitung. - Das ConsumerTrip-Objekt wird jetzt von ConsumerTripManager.getTrip() abgerufen.
    • ConsumerTrip.unregisterCallback wurde in ConsumerTrip.unregisterTripCallback umbenannt.
    • ConsumerTrip.isCallbackRegistered wurde in ConsumerTrip.isTripCallbackRegistered umbenannt.
    • ConsumerTrip.setConsumerTripOptions() und ConsumerTrip.getConsumerTripOptions() wurden hinzugefügt.
    • ConsumerTrip.setAutoRefreshInterval() wurde entfernt.
  • APIs, die nicht für die Fahrtenfreigabe verwendet werden, wurden entfernt.
    • Karte mit der Fahrzeugdichte entfernt.
    • Der Status der Fahrtvorschau wurde entfernt.
    • Auswahlstatus für Abholung entfernt.
    • Auswahlstatus für Abgabe entfernt.
    • Die folgenden Markertypen wurden entfernt: SELECTED_PICKUP_POINT, SUGGESTED_PICKUP_POINT, HIGHLIGHTED_PICKUP_POINT und SELECTED_DROPOFF_POINT.
  • OnConsumerMarkerClickCallback und ConsumerMapReadyCallback wurden von Schnittstellen in abstrakte Klassen geändert.
  • ConsumerController.getCameraUpdate(), ConsumerController.isAutoCameraEnabled() und ConsumerController.enableAutoCamera() wurden hinzugefügt.
  • Die benutzerdefinierte FAB und die zugehörigen Methoden (ConsumerController.isMyLocationFabEnabled und ConsumerController.setMyLocationFabEnabled) wurden entfernt.

Änderungen bei der Implementierung

  • Ein ConsumerTripCallback, der mit oder ohne LifecycleOwner registriert ist, wird nicht mehr automatisch am TripStatus.COMPLETE oder TripStatus.CANCELED abgemeldet.
  • AutoCamera ist jetzt standardmäßig aktiviert und wird nicht mehr automatisch aktiviert oder deaktiviert. Bisher wurde AutoCamera bei TripStatus.ARRIVED_AT_PICKUP automatisch wieder aktiviert und deaktiviert, wenn der Nutzer während der Fahrtenfreigabe mit der Karte interagiert hat.
  • An der Animation des Fahrzeugs bei der Fahrtenfreigabe wurden die folgenden Verbesserungen vorgenommen:
    • In der Animation zur Fahrtenfreigabe wird jetzt die Situation berücksichtigt, in der ein Fahrzeug legitimerweise eine bereits zurückgelegte Route zurückfährt.
    • Das Fahrzeug wird jetzt in einer geraden Linie animiert, anstatt die Route zwischen Punkten zu interpolieren, wenn dies algorithmisch als angemessen erachtet wird.
  • Die Berechtigungen für FINE_LOCATION sind nicht mehr erforderlich.

Sonstige Änderungen

  • Die folgenden Abhängigkeitsversionen wurden aktualisiert:
    • 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 (23. März 2020)

API-Änderungen

  • TripInfo.getVehicleId(), TripInfo.getNumberOfPassengers(), TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute() und TripInfo.getTripRemainingRoute() wurden hinzugefügt.
  • Die Klasse options wurde hinzugefügt, die während der ConsumerApi-Initialisierung verwendet wird, damit die FleetEngine-Adresse dynamisch festgelegt werden kann. Wenn die API nicht mit einem FleetEngine-Wert aufgerufen wird, versucht sie, ihn aus dem Android-Manifest abzurufen, oder greift auf den Standardwert zurück.

Verbesserungen

  • Die Polylinie der Route wird nicht angezeigt, wenn der Fahrtstatus ARRIVED_AT_PICKUP ist.
  • Die Verfolgung von Fahrzeugen, die von der Route abweichen, wurde verbessert (erfordert DriverSDK 1.15):
    • Beim Fahrzeug-Tracking wird das Fahrzeug nicht an der Route ausgerichtet, wenn es am Abholpunkt vorbeifährt.
    • Mit der Fahrzeugverfolgung kann das Fahrzeug auch abseits der Straße angezeigt werden, z. B. auf nicht kartierten Parkplätzen.
  • Das Fahrzeugsymbol wird jetzt aktualisiert, wenn das Ziel des Fahrers nicht mit dem Ziel in Fleet Engine übereinstimmt.

v0.8.6 (16. Dezember 2019)

API-Änderungen

  • TripInfo.getVehicleLocation() wurde hinzugefügt.

  • ConsumerMapView ist nicht mehr endgültig.

Änderungen bei der Implementierung

  • Die verbleibende Entfernung des aktiven Abschnitts wird jetzt anhand der Serverentfernung (vom Fahrer gemeldet + statische Route, falls zutreffend) anstelle des lokalen Einrastens berechnet. Diese Änderung führt zu genaueren Werten für die verbleibende Entfernung.

Sonstige Änderungen

  • Neue Abhängigkeiten erforderlich. Weitere Informationen finden Sie in der POM-Datei.

    • 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
  • Logs für die Latenz von Fahrtanfragen hinzugefügt.

  • Protokolle für Fehler bei Fahrtenantworten hinzugefügt.

Hinweise

  • Seit Version 0.8.1 wird das Consumer SDK für Android als jetifiziertes ZIP-Archiv bereitgestellt. Informationen zum De-Jetifizieren finden Sie unter Jetifier: Reverse mode.

v0.8.1 (13. September 2019)

Neue Funktionen

API-Änderungen

  • ConsumerController.disableAutoCamera() wurde als Gegenfunktion zu centerMapForState() hinzugefügt.

  • VehicleLocation.getUpdateTime() gibt jetzt einen Long-Wert zurück, der den Zeitstempel (in Millisekunden) darstellt.

  • Die AuthTokenFactory-Schnittstelle wurde vereinfacht, um eine einzelne Methode für die Tokengenerierung bereitzustellen. AuthTokenFactory wurde von einer Schnittstelle in eine abstrakte Klasse geändert, um die Abwärtskompatibilität in Java 7 zu ermöglichen. Diese Änderung ist abwärtskompatibel, aber die alten Methoden zur Generierung von Tokens für einzelne Dienste sind veraltet und werden irgendwann entfernt.

Änderungen bei der Implementierung

  • Assets sind jetzt auf die Mitte des Symbols zentriert, sodass der Schattenversatz entfällt.

  • setState auf JOURNEY_SHARING onStartTripMonitoring(), anstatt auf den Status der beobachteten Fahrt zu warten.

  • Gibt immer Daten für die erste Aktualisierung der Fahrtdaten zurück, auch wenn die Fahrtdaten nicht synchron sind.

  • Android Map Utils als bereitgestellte Abhängigkeit hinzugefügt.

Fehlerkorrekturen

  • Fehlerhafte Proguard-Exportsyntax für grpc keep wurde korrigiert.

v0.7.0 (7. August 2019)

Neue Funktionen

  • Unterstützung mehrerer Ziele für die Funktion „Fahrt teilen“.

API-Änderungen

  • Neue Methoden für ConsumerTripCallback.

    • onTripIntermediateDestinationsUpdated().
    • onTripETAToNextTripWaypointUpdated().
  • Neue ConsumerController-Methoden.

    • getIntermediateDestinations().
    • setIntermediateDestinations(List<TerminalLocation> intermediateDestinations).
  • Neuer TripStatuses.

    • TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION.
    • TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION.
  • Neue TripWaypoint-Getter.

    • getETAMillis().
    • getDistanceMeters().
  • Die Klasse TripInfo wurde hinzugefügt.

    • Sie können TripInfo für die aktive Fahrt mit ConsumerTripManager.getActiveTripInfo() abrufen.
  • WaypointType.INTERMEDIATE_DESTINATION wurde hinzugefügt.

  • MarkerType.TRIP_INTERMEDIATE_DESTINATION wurde hinzugefügt.

  • ConsumerMapState.JOURNEY_SHARING wurde aus den zusammengeführten ConsumerMapStates ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF und COMPLETE erstellt.

    • Die Tabelle „StateChangeCallbacks“ wurde aktualisiert.

    • onStateJourneySharing() wurde hinzugefügt.

    • onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute() und onStateEndofTrip() wurden entfernt.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, bei dem die Route nicht auf den Fahrzeugstandort gekürzt wurde, wenn die Fahrtüberwachung in der Mitte einer aktiven Fahrt (nicht am Anfang der Route) gestartet wurde.

  • Ein Fehler wurde behoben, durch den Fahrt-Callbacks für Listener, die im TripManager registriert sind, nicht aufgerufen wurden, nachdem der TripManager bereits Fahrtdaten abgerufen hatte.

  • Der Kamerazoom umfasst jetzt nur noch die aktive Route und den nächsten Wegpunkt der Fahrt (Wegpunkt, der zur Fahrt gehört). Auch wenn der verbleibende Abschnitt sichtbar ist, wird er nie in den Zoom einbezogen. Bisher wurde der Ausstiegspunkt in den Zoom einbezogen, wenn das Fahrzeug entweder auf dem Weg zum Einstiegspunkt war oder dort angekommen war. Das ist nicht mehr der Fall.

Verbesserungen

  • Füllen Sie den nullten verbleibenden Wegpunkt mit Fahrerdaten. Die Liste der verbleibenden Wegpunkte wird von ConsumerTripCallback.onTripRemainingWaypointsUpdated und TripInfo.getRemainingWaypoints() zurückgegeben.

  • Aktualisieren Sie die voraussichtlichen Ankunftszeiten aller verbleibenden Wegpunkte, wenn sich die voraussichtliche Ankunftszeit für den ersten Wegpunkt in der Liste ändert.

  • Die automatische Kamera wird erst wieder aktiviert, wenn der Fahrer am Abholort ankommt. Bisher wurde die automatische Kamera bei jeder Änderung des Fahrtstatus auf „Aktiviert“ zurückgesetzt. Die automatische Kamera ist weiterhin standardmäßig aktiviert. Die Autokamera wird nicht wieder aktiviert, wenn eine neue aktive Fahrt ohne einen neuen Aufruf von startTripMonitoring() festgelegt wird.

v0.6.1 (26. Juni 2019)

Neue Funktionen

  • Unterstützung für Fahrgemeinschaften, um Fahrten zu teilen.

API-Änderungen

  • ConsumerController.getConsumerMapStyle() gibt jetzt ConsumerMapStyle anstelle von Task<ConsumerMapStyle> zurück.

  • PolylineStyle.setZIndex() wurde hinzugefügt.

Fehlerkorrekturen

  • Die Routenanimation wird jetzt nur noch ausgeführt, wenn das Routensegment synchronisiert ist. Das verbessert die Nutzerfreundlichkeit.

  • Das „Flackern“ des Fahrzeugs während der Animationsinterpolation wurde behoben, wenn die Standortaktualisierungen des Fahrers zeitlich nah beieinander liegen.

  • Es wurde ein Fehler behoben, bei dem das Fahrzeug am Anfang der Route statt an seiner aktuellen Position startete, wenn die Fahrtüberwachung mitten in einer aktiven Fahrt begann.

  • Die Polylinie der aktiven Route wird über der verbleibenden Route angezeigt, wenn sie sich überschneiden.

Verbesserungen

  • Machen Sie jetzt die gRPC-Klasse Status mit nicht verschleierten Methoden verfügbar.

v0.5.1.01 (17. Mai 2019)

Neue Funktionen

  • Unterstützung für aufeinanderfolgende Fahrten bei der Fahrtenfreigabe.

API-Änderungen

  • Neue ConsumerController-Klasse.

PolylineType

Alter Wert Neuer Wert
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

Alter Wert Neuer Wert
onTripRouteUpdated onTripActiveRouteUpdated
onTripRemainingDistanceUpdated onTripActiveRouteRemainingDistanceUpdated
onTripRemainingWaypointsUpdated()

ConsumerController

  • Sie können jetzt Callbacks für Status festlegen, ohne den Status einzugeben.
Methode Rückruf
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • Mit ConsumerController.setLanguage(String languageCode) können Sie die Sprache festlegen, die in Fleet Engine-Aufrufen verwendet wird (z. B. für Beschreibungen von Abholorten).

Verbesserungen

  • Der Status der Auswahl des Ausstiegsorts hat jetzt eine ziehbare Markierung.
  • Kameraanimation im Status „INITIALIZE“ entfernt.
  • ManagedChannelBuilder wurde durch AndroidChannelBuilder ersetzt.