Consumer SDK for Android – Versionshinweise

Dieser Abschnitt enthält Release-Notes für das Consumer SDK für Android.

Mitteilung: Einstellung der Unterstützung für API-Level 23, 24 und 25

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

Versionen des Consumer SDK for Android, die ab dem 4. Quartal 2025 veröffentlicht werden, unterstützen mindestens Android 8 (API-Level 26). Frühere SDK-Versionen unterstützen weiterhin Android 6 und 7.

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

Geben Sie in den Build-Abhängigkeiten Ihrer Anwendung eine Version des Consumer SDK für Android an, um festzulegen, wann Sie das Mindest unterstützte Betriebssystem für neue Versionen Ihrer App erhöhen.

3.0.0 (6. Dezember 2024)

Abhängigkeits- und Konfigurationsänderungen

2.99.0 (25. November 2024)

Fehlerkorrekturen

  • Der ANR-Fehler, der auftritt, wenn die Ausführung von ConsumerApi.cleanUp() zu lange dauert, wurde behoben. Die Funktion wird nach der Integration nach und nach eingeführt (beginnend bei 0%).
  • Behebt ein Problem, bei dem Fahrer gRPC-Fehler mit dem Code „INTERNAL“ und der Meldung „Panic! Das ist ein Fehler!“ Die Einführung erfolgt nach und nach (beginnend bei 0%), sobald die Version integriert wurde.

2.3.0 (2. August 2024)

API-Änderungen

  • Sie können die Unterstützung für cloudbasiertes Karten-Styling hinzufügen. So können Sie eine benutzerdefinierte Straßenkarte erstellen, ohne jedes Mal den Code Ihrer App aktualisieren zu müssen, wenn Sie einen Kartenstil ändern. Weitere Informationen finden Sie unter Karte mit cloudbasiertem Kartenstil gestalten.

  • Fügen Sie VehicleLocation die Methode getServerTimeMillis() hinzu, um den Zeitpunkt zu ermitteln, zu dem die Standortaktualisierung von Fleet Engine empfangen wurde.

2.2.0 (7. Mai 2024)

API-Änderungen

  • Unterstützungs-API für die Einbindung von Jetpack Compose hinzugefügt. Dies ist eine experimentelle Funktion. Weitere Informationen zur Einbindung in Jetpack Compose erhalten Sie von Ihrem Ansprechpartner.

2.1.0 (17. Januar 2024)

Fehlerkorrekturen

  • Behebung eines Absturzes, der auftritt, wenn das SDK im Laufe des Anwendungslebenszyklus mehrmals initialisiert wird.

API-Änderungen

  • Es wird eine Methode zum Abrufen der vom SDK erstellten GoogleMap-Instanz (ConsumerGoogleMap.getGoogleMap()) eingeführt.
  • Einführung einer API zum Abrufen der Marker-Instanzen, die vom SDK zum Darstellen des Fahrzeugs (ConsumerController.getConsumerMarker()) erstellt wurden.
  • Einführung einer API, über die während der Fahrtfreigabe (ProjectedRouteEta) projizierte Updates zu Zeit und Entfernung vom Client empfangen werden.

1.99.2 (3. November 2023)

  • Behebung eines Absturzes, der auftritt, wenn das SDK von einem Remote-Prozess initialisiert wird, der unabhängig von der Anwendung ist.

  • Es wurde ein Absturz behoben, der beim Ausführen einer Kameraanimation auftritt, wenn nicht genügend vertikaler oder horizontaler Abstand für den Abstand vorhanden ist. Das Problem tritt nur beim neuesten Karten-Renderer auf.

  • Es wurde ein Fehler behoben, durch den der erste Abschnitt einer Fahrt mit mehreren aufeinanderfolgenden Abschnitten entfernt wurde, wenn der zweite Abschnitt über dieselbe Straße führte.

Probleme

  • Die ConsumerApi.initialize() löst eine Ausnahme aus, wenn sie aufgerufen wird, während bereits eine API-Instanz vorhanden ist. Rufen Sie zuerst ConsumerApi.getInstance() auf und prüfen Sie die zurückgegebene Task, um festzustellen, ob bereits eine API-Instanz vorhanden ist.

2.0.0 (15. September 2023)

Mitteilung: Wichtige Änderungen

  • Die Mindestanforderung für das API-Level wurde von 21 auf 23 aktualisiert.

  • Aktualisierung der erforderlichen Maps SDK-Version von 17.0.0 auf 18.1.0

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

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

    • Die Mindestversion der Play-Dienste-Basisbibliothek wurde von Version 18.0.1 auf Version 18.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 Play-Dienste-Standortbibliothek wurde von Version 17.0.0 auf Version 21.0.1 aktualisiert.

    • Die Mindestversion der Play-Dienste-Tasks-Bibliothek wurde von Version 18.0.1 auf Version 18.0.2 aktualisiert.

  • Die Bibliothek „androidx.room:room-runtime“ mit der Mindestversionsvoraussetzung „v2.5.2“ wurde hinzugefügt.

  • Aktualisieren Sie die folgenden Abhängigkeitsversionen.

    • Die Mindestversion der Bibliothek „android-maps-utils“ wurde von Version 0.4.2 auf Version 3.5.2 aktualisiert.

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

    • Die Mindestversion von com.google.android.datatransport:transport-runtime wurde von Version 3.0.1 auf Version 3.1.9 aktualisiert.

    • Die Mindestversionsanforderung für androidx.lifecycle:lifecycle-extensions wurde von Version 2.0.0 auf Version 2.2.0 aktualisiert

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

    • Die Mindestversion von androidx.appcompat:appcompat wurde von Version 1.0.0 auf Version 1.6.1 aktualisiert.

    • Die Mindestversion von androidx.fragment:fragment wurde von Version 1.0.0 auf Version 1.6.1 aktualisiert.

  • Die folgenden zuvor eingestellten APIs werden entfernt: ConsumerTrip, ConsumerTripCallback, ConsumerTripManager und ConsumerTripOptions. Sie wurden durch TripModel, TripModelCallback, TripModelManager und TripModelOptions ersetzt.

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

  • Für Apps, die das Consumer SDK verwenden, muss jetzt die Java 8-Bibliotheksunterstützung 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.

  • Bei Apps, in denen das Consumer SDK verwendet wird, muss die Desugaring-Funktion aktiviert sein. Eine Anleitung finden Sie unter https://developer.android.com/studio/write/java8-support#library-desugaring.

  • Die Methode ConsumerApi.initialize() wirft jetzt eine Ausnahme, wenn sie aufgerufen wird, während bereits eine API-Instanz vorhanden ist. Anhand der von ConsumerApi.getInstance() zurückgegebenen Task muss ermittelt werden, ob bereits eine API-Instanz erstellt wurde.

Mitteilung: Einstellung von APIs

  • Die Anmerkungsklassen Trip.TripStatus und Trip.TripType werden eingestellt. An ihre Stelle treten die Anmerkungsklassen TripInfo.TripStatus und TripInfo.TripType.

    • Im Rahmen dieser Änderung wird TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status) eingestellt und TripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status) wird als Ersatz hinzugefügt.

    • 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.

  • Bietet Unterstützung für das Maps SDK ab Version 18.1.0(einschließlich) bis Version 19.0.0(ausschließlich).

  • Der Fehler „Frist überschritten“ bei der internen Kommunikation zwischen SDK und Google-Back-End wurde behoben.

  • Behebung eines Rendering-Problems auf kleinen Bildschirmen und im Bild-im-Bild-Modus.

Migrationsanleitung

1.99.1 (31. August 2023)

Fehlerkorrekturen

  • Ein Absturz wurde behoben, der auftritt, wenn die SDK-Hostaktivität oder das SDK-Fragment zerstört wird.

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

  • Behebung eines Absturzes beim Projektieren des Fahrzeugstandorts auf die Polylinie der Route.

Verbesserungen

  • Verhindert, dass das SDK abstürzt, wenn die Hostanwendung per Sideload installiert wurde und die Standardvisualisierungsressourcen nicht vorhanden sind.

1.99.0 (22. Juni 2023)

Fehlerkorrekturen

  • Behebung eines Rendering-Problems auf kleinen Bildschirmen und im Bild-im-Bild-Modus

  • Behebung von Flackern des Fahrzeugs beim Teilen von Fahrten

1.2.1 (7. Juni 2023)

Fehlerkorrekturen

  • Ein Fehler wurde behoben, durch den das Fahrzeug beim Teilen einer Fahrt flackerte.

1.2.0 (21. November 2022)

Fehlerkorrekturen

  • Ein Fehler wurde behoben, durch den im onTripActiveRouteTrafficUpdated-Callback keine Zugriffe erfasst wurden.

Neue Funktionen

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

1.1.2 (27. Oktober 2022)

Fehlerkorrekturen

  • Behebung eines Fehlers, durch den die Polylinie der Route verschwand, nachdem eine JourneySharingSession mehrmals für eine TripModel gestartet wurde.

Mitteilung: Einstellung der Unterstützung für Android 5 (25. Juli 2022)

Für unsere SDK-Version 1.1.1 bieten wir ein zusätzliches Jahr lang Support für Apps an, die unter Android 5 ausgeführt werden, sowohl für die API-Ebenen 21 als auch 22.

Was das bedeutet:

  • 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-Levels 23 und höher unterstützt. Das bedeutet, dass wir Android API-Level 21 und 22 nach diesem Datum in allen SDK-Versionen nicht mehr unterstützen. Das bedeutet, dass Fehler im Zusammenhang mit Android 21 oder 22 in jeder SDK-Version (einschließlich 4.x) nicht behoben werden. Wir können nicht garantieren, dass die SDKs ordnungsgemäß funktionieren.

Version 1.1.1 (25. Juli 2022)

Änderung der Abhängigkeit

  • Das Mindest-API-Level für Android wird auf 21 herabgestuft.

Version 1.1.0 (28. April 2022)

  • Interne Verbesserungen.

Version 1.0.19 (17. März 2022)

Fehlerkorrekturen

  • Ein Speicherleck in der Klasse ConsumerApi wurde behoben.

Version 1.0.14 (30. November 2021)

Das Mindest-API-Level für Android ist jetzt 23.

API-Änderungen

  • Änderungen an den Klassen ConsumerTrip und ConsumerTripManager

    • Einige Methodennamen wurden überarbeitet, 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 für Parity mit iOS zu sorgen. Einführung von TripModel, TirpModelManager und TripModelOptions, um ConsumerTrip, ConsumerTripManager und ConsumerTripOptions einzustellen.

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

    • Verbesserte Fehlerbehandlung.

Styling anpassen

  • Eingestellte Legacy-Wrapper

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

Absturzüberwachung

  • Absturzerkennung und ‑protokollierung wurden hinzugefügt.

    • Es wurde eine Option hinzugefügt, mit der Sie diese Funktion deaktivieren können. Dies geschah im Rahmen eines größeren geographisch umfassenden Projekts zur Überwachung von Abstürzen.

Änderungen der Authentifizierung

  • Entfernen Sie nicht benötigte Methoden aus den Authentifizierungsoberflächen.
    • Der Parameter ServiceType wurde entfernt.

Version 0.9.28 (18. Mai 2021)

API-Änderungen

  • Alle ConsumerTripCallback-Methoden wurden aktualisiert, sodass TripInfo als Parameter verwendet wird.
  • ConsumerTrip.isRefreshing() wurde hinzugefügt. Dieser Parameter gibt an, ob ConsumerTrip aktiv mit aktuellen Fahrtinformationen aus der Fleet Engine aktualisiert wird.
  • ConsumerTripCallback.onTripRemainingRouteDistanceUpdated() wurde hinzugefügt.
  • ConsumerTripCallback.onTripRemainingRouteUpdated() wurde hinzugefügt.
  • Ersetzen Sie Guava-Rückgabetypen (ImmutableSet, ImmutableList) durch java.util-äquivalente 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

  • Es wurde ein Race-Condition-Problem behoben, bei dem das SDK durch Interaktionen mit der Karte abstürzen konnte, bevor sie fertig war.
  • Das SDK enthält keine unverschlüsselte Kopie von io.grpc mehr.
  • Ein Fehler wurde behoben, durch den auf bestimmten Geräten Verkehrspolylinien flackerten. Die Enden von Traffic-Segmenten sind jetzt abgerundet.

Version 0.9.15 (7. Oktober 2020)

API-Änderungen

  • Mit dieser Version werden verkehrsabhängige Polylinien eingeführt. – TripInfo.getActiveRouteTraffic() und TripInfo.getRemainingRouteTraffic() wurden hinzugefügt.
    • ConsumerTripCallback.onTripActiveRouteTrafficUpdated() und ConsumerTripCallback.onTripRemainingRouteTrafficUpdated() wurden hinzugefügt, um anzugeben, ob sich die Zugriffe geändert haben.
    • PolylineStyleOptions für die Anpassung von Zugriffen hinzugefügt (setTrafficEnabled(), setTrafficColorNoData(), setTrafficColorNormal(), setTrafficColorSlow(), setTrafficColorTrafficJam()).
    • Testgruppe: PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
    • TripWaypoint.getTrafficData() wurde hinzugefügt.
    • Der Datentyp TrafficData wurde hinzugefügt.
    • ConsumerController.hideAllSessions() wurde hinzugefügt. „ConsumerController.showSession()“ akzeptiert „null“ nicht mehr als Argument.

Version 0.9.9 (15. Juli 2020)

API-Änderungen

  • Das ist eine wichtige Änderung, durch die eine modulare Architektur mit einer klareren Beziehung zwischen der reinen Datenebene (z. B. ConsumerTripManager) und der Benutzeroberflächenebene (z. B. JourneySharingSession) eingeführt wird. Informationen zur Migration zur neuen Architektur finden Sie im Leitfaden zur Migration zur Modularisierung. – 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 Freigabe von Fahrten gedacht sind, wurden entfernt.
    • Karte zur Fahrzeugdichte entfernt.
    • Der Status der Fahrtvorschau wurde entfernt.
    • Der Status der Auswahl der Abholoption wurde entfernt.
    • Der Status der Auswahl der Abgabestelle wurde entfernt.
    • Die folgenden Markierungstypen 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.
  • Benutzerdefinierte FAB und die zugehörigen Methoden (ConsumerController.isMyLocationFabEnabled und ConsumerController.setMyLocationFabEnabled) wurden entfernt.

Änderungen bei der Implementierung

  • Eine ConsumerTripCallback, die mit oder ohne LifecycleOwner registriert ist, wird nicht mehr automatisch bei TripStatus.COMPLETE oder TripStatus.CANCELED abgemeldet.
  • Die Funktion „Autokamera“ ist jetzt standardmäßig aktiviert und wird nie wieder aktiviert oder deaktiviert. Bisher wurde die automatische Kamera auf TripStatus.ARRIVED_AT_PICKUP automatisch wieder aktiviert und deaktiviert, wenn der Nutzer während der Freigabe einer Fahrt mit der Karte interagierte.
  • Die folgenden Verbesserungen wurden an der Fahrzeuganimation für die Fahrtenfreigabe vorgenommen:
    • Die Animation für die Freigabe von Fahrten berücksichtigt jetzt die Situation, in der ein Fahrzeug legitim auf einer bereits zurückgelegten Route zurückfährt.
    • Das Fahrzeug wird jetzt geradlinig animiert, anstatt die Route zwischen Punkten zu interpolieren, wenn dies algorithmisch als angemessen eingestuft wird.
  • FINE_LOCATION-Berechtigungen 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

Version 0.9.1 (23. März 2020)

API-Änderungen

  • TripInfo.getVehicleId(), TripInfo.getNumberOfPassengers(), TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute() und TripInfo.getTripRemainingRoute() wurden hinzugefügt.
  • Die options-Klasse wurde hinzugefügt, die bei der ConsumerApi-Initialisierung verwendet wird und mit der die FleetEngine-Adresse dynamisch festgelegt werden kann. Wenn die API nicht mit einem FleetEngine-Wert aufgerufen wird, wird versucht, ihn aus dem Android-Manifest abzurufen. Andernfalls wird der Standardwert verwendet.

Verbesserungen

  • Die Polylinie der Route wird nicht angezeigt, wenn der Fahrtstatus ARRIVED_AT_PICKUP ist.
  • Die Fahrzeugverfolgung außerhalb der Route wurde verbessert (erfordert DriverSDK 1.15):
    • Beim Fahrzeug-Tracking wird das Fahrzeug nicht an die Route angehängt, wenn es am Abholpunkt vorbeifährt.
    • Mit dem Fahrzeug-Tracking kann das Fahrzeug auch außerhalb 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.

Version 0.8.6 (16. Dezember 2019)

API-Änderungen

  • TripInfo.getVehicleLocation() wurde hinzugefügt.

  • ConsumerMapView ist nicht mehr endgültig.

Änderungen bei der Implementierung

  • Die verbleibende Strecke des aktiven Abschnitts wird jetzt anhand der Serverentfernung (vom Fahrer gemeldete Entfernung + ggf. statische Route) anstelle des lokalen Anpassens berechnet. Dadurch werden genauere Werte für die verbleibende Strecke angezeigt.

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

  • Es wurden Protokolle für Fehler bei Fahrtantworten hinzugefügt.

Hinweise

  • Seit Version 0.8.1 wird das Consumer SDK for Android als jetified ZIP-Archiv bereitgestellt. Informationen zum Rückgängigmachen der Jettifizierung finden Sie unter Jetifier: Reverse-Modus.

Version 0.8.1 (13. September 2019)

Neue Funktionen

API-Änderungen

  • ConsumerController.disableAutoCamera() wurde als die gegenteilige Funktion zu centerMapForState() hinzugefügt.

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

  • Die AuthTokenFactory-Benutzeroberfläche wurde vereinfacht, sodass nur noch eine Methode zur Tokengenerierung verfügbar ist. AuthTokenFactory wurde von einem Interface in eine abstrakte Klasse geändert, um die Abwärtskompatibilität in Java 7 zu ermöglichen. Diese Änderung ist abwärtskompatibel. Die alten Methoden zur Generierung von Tokens für einzelne Dienste werden jedoch eingestellt und letztendlich entfernt.

Änderungen bei der Implementierung

  • Assets sind jetzt mittig im Symbol zentriert, wodurch der Schattenversatz eliminiert wird.

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

  • Es werden immer Daten für die erste Aktualisierung der Fahrtdaten zurückgegeben, auch wenn die Fahrtdaten nicht synchronisiert sind.

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

Fehlerkorrekturen

  • Fehlerhafte ProGuard-Exportsyntax für grpc-keep behoben.

Version 0.7.0 (7. August 2019)

Neue Funktionen

  • Unterstützung für mehrere Ziele beim Teilen von Fahrten

API-Änderungen

  • Neue Methoden für ConsumerTripCallback.

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

    • getIntermediateDestinations().
    • setIntermediateDestinations(List<TerminalLocation> intermediateDestinations).
  • Neue 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() erhalten.
  • WaypointType.INTERMEDIATE_DESTINATION wurde hinzugefügt.

  • MarkerType.TRIP_INTERMEDIATE_DESTINATION wurde hinzugefügt.

  • ConsumerMapState.JOURNEY_SHARING wurde aus den zusammengeführten Konten 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

  • Es wurde ein Fehler behoben, bei dem die Route nicht auf die Fahrzeugposition zugeschnitten wurde, wenn die Fahrtenüberwachung in der Mitte einer aktiven Fahrt gestartet wurde (nicht am Anfang der Route).

  • Ein Fehler wurde behoben, bei dem Fahrt-Callbacks für Listener, die beim 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. Auch wenn das verbleibende Teilstück sichtbar ist, wird es beim Zoomen nicht berücksichtigt. Bisher wurde der Abgabeort in der Ansicht angezeigt, wenn sich das Fahrzeug entweder auf dem Weg zur Abholstelle befand oder dort angekommen war. Das ist nicht mehr der Fall.

Verbesserungen

  • Fülle den Nullpunkt des verbleibenden Wegpunkts mit Fahrerdaten aus. Die Liste der verbleibenden Wegpunkte wird von ConsumerTripCallback.onTripRemainingWaypointsUpdated und TripInfo.getRemainingWaypoints() zurückgegeben.

  • Aktualisieren Sie alle verbleibenden ETAs für Wegpunkte, wenn sich die ETA für den ersten Wegpunkt in der Liste ändert.

  • Die automatische Kamera wird nur dann wieder aktiviert, wenn der Fahrer am Abholort ankommt. Bisher wurde die automatische Kamera bei jeder Fahrtstatusänderung auf „Aktiviert“ zurückgesetzt. Die automatische Kamera ist weiterhin standardmäßig aktiviert. Die automatische Kamera wird nicht wieder aktiviert, wenn ein neuer aktiver Fahrtenabschnitt ohne neuen Aufruf von startTripMonitoring() festgelegt wird.

Version 0.6.1 (26. Juni 2019)

Neue Funktionen

  • Unterstützung für Mitfahrgelegenheiten

API-Änderungen

  • Für ConsumerController.getConsumerMapStyle() wird jetzt ConsumerMapStyle anstelle von Task<ConsumerMapStyle> zurückgegeben.

  • PolylineStyle.setZIndex() wurde hinzugefügt.

Fehlerkorrekturen

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

  • Das „Flimmern“ von Fahrzeugen bei der Animationsinterpolation wurde behoben, wenn die Standortaktualisierungen des Fahrers nah beieinander liegen.

  • Ein Fehler wurde behoben, bei dem das Fahrzeug am Anfang der Route statt an seinem aktuellen Standort startet, wenn die Fahrtüberwachung in der Mitte einer aktiven Fahrt beginnt.

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

Verbesserungen

  • Stellen Sie jetzt die gRPC-Klasse Status mit nicht verschleierten Methoden bereit.

Version 0.5.1.01 (17. Mai 2019)

Neue Funktionen

  • Unterstützung für die Fahrtenfreigabe nacheinander

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 Rückrufe 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 FleetEngine-Aufrufen verwendet wird (z. B. für Beschreibungen von Abholstellen).

Verbesserungen

  • Der Status der Auswahl von Ausstiegspunkten ist jetzt mit einem verschiebbaren Pin gekennzeichnet.
  • Die Kameraanimation im Status INITIALIZE wurde entfernt.
  • ManagedChannelBuilder wurde durch AndroidChannelBuilder ersetzt.