Informacje o wersji pakietu Consumer SDK na Androida

Ta sekcja zawiera informacje o wersji pakietu Consumer SDK na Androida.

Ogłoszenie: zawieszenie obsługi poziomu interfejsu API 23, 24 i 25

Zgodnie z zasadami obsługi wersji systemu operacyjnego mobilnego w przyszłych głównych wersjach pakietu Consumer SDK na Androida zaprzestajemy obsługiwać Androida 6 i 7 (poziom interfejsu API 23, 24 i 25).

Wersje pakietu Consumer SDK na Androida wydane od czwartego kwartału 2025 r. będą obsługiwać co najmniej Androida 8 (poziom API 26). Wcześniejsze wersje pakietu SDK będą nadal obsługiwać Androida 6 i 7.

Jeśli zależności nie określają numeru wersji, IDE wczyta najnowszą wersję pakietu SDK, a nowe wersje aplikacji nie będą obsługiwać Androida 6 i 7.

W zależnościach kompilacji aplikacji określ wersję pakietu Consumer SDK na Androida, aby kontrolować, kiedy zwiększać minimalną wersję obsługiwanego systemu operacyjnego w przypadku nowych wersji aplikacji.

3.0.0 (6 grudnia 2024 r.)

Zmiany zależności i konfiguracji

2.99.0 (25 listopada 2024 r.)

Poprawki błędów

  • Rozwiązanie problemu z błędem ANR, który występuje, gdy wykonanie ConsumerApi.cleanUp() trwa zbyt długo. Będzie ona wdrażana stopniowo (zaczynając od 0%), gdy tylko nowa wersja zostanie zintegrowana.
  • Rozwiązano problem polegający na tym, że kierowcy otrzymywali błędy gRPC z kodem „WEWNĘTRZNY” i komunikatem „Panic! To jest błąd”. Będzie ona wdrażana stopniowo (zaczynając od 0%), gdy tylko nowa wersja zostanie zintegrowana.

2.3.0 (2 sierpnia 2024 r.)

Zmiany w interfejsie API

  • Dodaj obsługę stylizacji map w chmurze, która umożliwia tworzenie spersonalizowanych map drogowych dla użytkowników bez konieczności aktualizowania kodu aplikacji za każdym razem, gdy wprowadzasz zmiany w stylu mapy. Więcej informacji znajdziesz w artykule Nadawanie mapie stylu za pomocą stylizacji map w chmurze.

  • Dodaj metodę getServerTimeMillis() do VehicleLocation, aby określić czas, w którym silnik floty otrzymał aktualizację lokalizacji.

2.2.0 (7 maja 2024 r.)

Zmiany w interfejsie API

  • Dodaliśmy interfejs API obsługujący integrację z Jetpack Compose. To funkcja eksperymentalna. Szczegółowe informacje o integracji z Jetpack Compose znajdziesz w kontaktach.

2.1.0 (17 stycznia 2024 r.)

Poprawki błędów

  • Rozwiązanie problemu z zawieszaniem się aplikacji, który występuje, gdy pakiet SDK jest inicjowany więcej niż raz w cyklu życia aplikacji.

Zmiany w interfejsie API

  • Wprowadza metodę służącą do pobierania wystąpienia GoogleMap utworzonego przez pakiet SDK (ConsumerGoogleMap.getGoogleMap()).
  • Wprowadza interfejs API do pobierania instancji Marker utworzonych przez pakiet SDK, aby reprezentować pojazd (ConsumerController.getConsumerMarker()).
  • Wprowadza interfejs API do otrzymywania prognozowanych przez klienta aktualizacji czasu i odległości podczas udostępniania trasy (ProjectedRouteEta).

1.99.2 (3 listopada 2023 r.)

  • Rozwiązano problem z zawieszaniem się aplikacji, który występuje podczas inicjowania pakietu SDK z dalszego procesu, oddzielonego od aplikacji.

  • Rozwiązano problem z zawieszaniem się aplikacji podczas wykonywania animacji kamery, gdy nie ma wystarczającej ilości miejsca na wypełnienie poziome lub pionowe. Występuje to tylko w najnowszym rendererze map.

  • Rozwiązano błąd, który powodował, że pierwszy etap podróży powrotnej był pomijany, gdy drugi etap przebiegał tą samą drogą.

Problemy

  • Funkcja ConsumerApi.initialize() zwraca wyjątek, jeśli wywołana, gdy instancja interfejsu API już istnieje. Aby obejść ten problem, najpierw wywołaj funkcję ConsumerApi.getInstance() i sprawdź zwrócony parametr Task, aby określić, czy instancja interfejsu API już istnieje.

2.0.0 (15 września 2023 r.)

Ogłoszenie: zmiany w przypadku treści naruszających zasady

  • Minimalny poziom interfejsu API został zmieniony z 21 na 23.

  • Zmiana wymaganej wersji pakietu SDK Map z 17.0.0 na 18.1.0

  • Minimalna wersja standardowej biblioteki Kotlin została zaktualizowana z 1.6.10 na 1.9.0

  • Aktualizowanie wersji zależności Usług Google Play

    • Minimalna wymagana wersja biblioteki play-services-base została zaktualizowana z 18.0.1 na 18.2.0

    • Minimalny wymagany poziom biblioteki play-services-basement został zaktualizowany z 18.0.0 na 18.2.0.

    • Minimalna wymagana wersja biblioteki play-services-location została zaktualizowana z 17.0.0 na 21.0.1

    • Minimalna wymagana wersja biblioteki play-services-tasks została zaktualizowana z 18.0.1 na 18.0.2

  • Dodaje bibliotekę androidx.room:room-runtime z minimalną wymaganą wersją 2.5.2.

  • Zaktualizuj te wersje zależności:

    • Minimalna wersja biblioteki android-maps-utils została zaktualizowana z 0.4.2 na 3.5.2

    • Minimalna wersja com.google.android.datatransport:transport-backend-cct została zaktualizowana z 3.0.0 na 3.1.9

    • Minimalna wersja com.google.android.datatransport:transport-runtime została zaktualizowana z 3.0.1 na 3.1.9

    • Minimalna wersja pakietu androidx.lifecycle:lifecycle-extensions została zaktualizowana z 2.0.0 na 2.2.0

    • Minimalna wersja pakietu androidx.lifecycle:lifecycle-common-java8 została zaktualizowana z 2.0.0 na 2.6.1

    • Minimalna wersja androidx.appcompat:appcompat została zmieniona z 1.0.0 na 1.6.1

    • Minimalna wersja androidx.fragment:fragment została zaktualizowana z 1.0.0 na 1.6.1

  • Usuwa te wcześniej wycofane interfejsy API: ConsumerTrip, ConsumerTripCallback, ConsumerTripManager, ConsumerTripOptions. Zostały one zastąpione przez TripModel, TripModelCallback, TripModelManagerTripModelOptions.

  • Aplikacje korzystające z pakietu Consumer SDK muszą mieć teraz targetSdkVersion na poziomie 31 lub wyższym, a compileSdkVersion na poziomie 33 lub wyższym.

  • Aplikacje korzystające z Consumer SDK muszą teraz włączyć obsługę biblioteki Java 8. Instrukcje aktualizacji znajdziesz na stronie https://developer.android.com/studio/write/java8-support.

  • Aplikacje korzystające z ProGuard lub Dexguard muszą zostać przeniesione na R8. Więcej informacji znajdziesz na stronie https://developer.android.com/build/shrink-code.

  • Aplikacje korzystające z Consumer SDK muszą umożliwiać desugaring. Instrukcje znajdziesz na stronie https://developer.android.com/studio/write/java8-support#library-desugaring.

  • Metoda ConsumerApi.initialize() zgłasza teraz wyjątek, jeśli jest wywoływana, gdy istnieją już instancje interfejsu API. Aby określić, czy wcześniej utworzono instancję interfejsu API, należy użyć zwracanej wartości Task przez ConsumerApi.getInstance().

Ogłoszenie: wycofanie interfejsów API

  • wycofuje klasy adnotacji Trip.TripStatus i Trip.TripType, a w zamian dodaje klasy adnotacji TripInfo.TripStatus i TripInfo.TripType;

    • W ramach tej zmiany funkcja TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status) została wycofana, a w zamian dodano funkcję TripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status).

    • W ramach tej zmiany funkcja TripInfo#getTripStatus() została wycofana, a w zamian dodano funkcję TripInfo#getCurrentTripStatus().

    • W ramach tej zmiany funkcja TripInfo#getTripType() została wycofana, a zamiast niej dodano funkcję TripInfo#getCurrentTripType().

  • Usunięcie klasy Trip.

Inne zmiany i poprawki błędów

  • Obsługuje żądanie najnowszego modułu renderowania w pakiecie SDK Map. Więcej informacji znajdziesz w artykule Nowy moduł renderowania map.

  • Zapewnia obsługę zakresu pakietu SDK Map od wersji 18.1.0(włącznie) do wersji 19.0.0(bez tej wersji).

  • Naprawiono błąd „deadline exceeded” (przekroczony termin) w przypadku komunikacji wewnętrznej między SDK a backendem Google.

  • Rozwiązanie problemu z renderowaniem na małym ekranie i w trybie obrazu w obrazie.

Przewodnik po migracji

1.99.1 (31 sierpnia 2023 r.)

Poprawki błędów

  • Rozwiązano problem z zawieszaniem się aplikacji, który występował podczas usuwania aktywności hosta lub fragmentu SDK.

  • Rozwiązanie problemu z zawieszaniem się aplikacji, który występuje, gdy wymiary MapView są równe 0 (wysokość lub szerokość).

  • Rozwiązanie problemu z zawieszaniem się aplikacji podczas wyświetlania lokalizacji pojazdu na ścieżce polilinii.

Ulepszenia

  • Zapobiega zawieszaniu pakietu SDK, gdy aplikacja hosta jest instalowana z poza sklepu, a domyślne zasoby wizualne są nieobecne.

1.99.0 (22 czerwca 2023 r.)

Poprawki błędów

  • Rozwiązanie problemu z renderowaniem na małym ekranie i w trybie obrazu w obrazie.

  • Naprawiono problem z miganiem pojazdu podczas udostępniania przejazdu.

1.2.1 (7 czerwca 2023 r.)

Poprawki błędów

  • Naprawiono błąd powodujący migotanie pojazdu podczas udostępniania przejazdu.

1.2.0 (21 listopada 2022 r.)

Poprawki błędów

  • Rozwiązanie problemu, który powodował, że w onTripActiveRouteTrafficUpdated wywoływaniu zwrotnym był raportowany pusty ruch.

Nowe funkcje

  • Funkcja „Wielokąty uwzględniające natężenie ruchu” jest teraz ogólnie dostępna.

1.1.2 (27 października 2022 r.)

Poprawki błędów

  • Rozwiązanie problemu z znikaniem linii poliliniowej trasy po uruchomieniu JourneySharingSession więcej niż raz w przypadku TripModel.

Ogłoszenie: zawieszenie obsługi Androida 5 (25 lipca 2022 r.)

W przypadku pakietu SDK w wersji 1.1.1 zapewniamy dodatkowy rok obsługi aplikacji działających na Androidzie 5, zarówno na poziomie interfejsu API 21, jak i 22.

Co to oznacza:

  • Pakiet SDK dla konsumentów działający w aplikacjach na Androida będzie obsługiwał co najmniej Androida 5 (poziom API 21) do 30 czerwca 2023 r.

  • Po 30 czerwca 2023 r. będziemy obsługiwać tylko poziomy interfejsu API 23 i nowsze. Inaczej mówiąc, po tej dacie przestaniemy obsługiwać poziomy interfejsu API Androida 21 i 22 we wszystkich wersjach pakietu SDK. Oznacza to, że błędy związane z Androidem 21 lub 22 w dowolnej wersji pakietu SDK (w tym 4.x) nie zostaną naprawione. Nie gwarantujemy też, że pakiety SDK będą działać prawidłowo.

v1.1.1 (25 lipca 2022 r.)

Zmiana zależności

  • obniża minimalny obsługiwany poziom interfejsu API Androida do 21.

1.1.0 (28 kwietnia 2022 r.)

  • Ulepszenia wewnętrzne.

v1.0.19 (17 marca 2022 r.)

Poprawki błędów

  • Naprawiono wyciek pamięci w klasie ConsumerApi.

v1.0.14 (30 listopada 2021 r.)

Minimalny obsługiwany poziom interfejsu API Androida to teraz 23.

Zmiany w interfejsie API

  • Zmiany w klasach ConsumerTripConsumerTripManager.

    • Uprościliśmy nazwy niektórych metod, aby były bardziej zrozumiałe i zgodne z platformą iOS.
  • Zmiany w usługach ConsumerTripCallback, ConsumerTripTripInfo.

    • Zmieniono nazwy niektórych klas, aby były zgodne z iOS. Wprowadziliśmy właściwości TripModel, TirpModelManagerTripModelOptions, aby wycofać z użycia właściwości ConsumerTrip, ConsumerTripManagerConsumerTripOptions.

    • Uprościliśmy nazwy niektórych metod. zmodyfikowano lub dodano komentarze JavaDoc do metod, aby lepiej przekazywały znaczenie;

    • Ulepszona obsługa błędów.

Dostosowywanie stylów

  • Wycofane starsze obudowy

    • Parametry MarkerStyleOptionsPolylineStyleOptions zostały wycofane i zastąpione przez parametry MarkerOptionsPolylineOptions, które są udostępniane z pakietem SDK Map.

Monitorowanie awarii

  • Dodano wykrywanie awarii i rejestrowanie.

    • Dodaliśmy opcję, która umożliwia rezygnację z tej funkcji. Zrobiliśmy to w ramach szerszego projektu monitorowania awarii na całym świecie.

Zmiany dotyczące uwierzytelniania

  • Usuń niepotrzebne metody z interfejsów uwierzytelniania.
    • Usunięto parametr ServiceType.

v0.9.28 (18 maja 2021 r.)

Zmiany w interfejsie API

  • Zaktualizowano wszystkie metody ConsumerTripCallback, aby używały parametru TripInfo.
  • Dodano ConsumerTrip.isRefreshing(), który wskazuje, czy ConsumerTripaktywnie aktualizuje się o najnowsze informacje o podróży z Fleet Engine.
  • Dodano: ConsumerTripCallback.onTripRemainingRouteDistanceUpdated().
  • Dodano: ConsumerTripCallback.onTripRemainingRouteUpdated().
  • Zamień typy zwracane Guava (ImmutableSet, ImmutableList) na klasy o odpowiednich funkcjach (java.util).
  • Zmiany nazwy pakietu:

    • 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
      

Zmiany w implementacji

  • Usunięto warunek wyścigu, w którym pakiet SDK mógł się zawieszać z powodu interakcji z mapą, zanim ta była gotowa.
  • Pakiet SDK nie zawiera już odszyfrowanej kopii io.grpc.
  • Naprawiono błąd dotyczący migoczących odcinków dróg na niektórych urządzeniach. Segmenty ruchu będą teraz miały zaokrąglone końce.

v0.9.15 (7 października 2020 r.)

Zmiany w interfejsie API

  • W tej wersji wprowadzamy odcinki Polyline uwzględniające natężenie ruchu. – Dodano TripInfo.getActiveRouteTraffic() i TripInfo.getRemainingRouteTraffic().
    • Dodano ConsumerTripCallback.onTripActiveRouteTrafficUpdated()ConsumerTripCallback.onTripRemainingRouteTrafficUpdated(), aby wskazywać, kiedy nastąpiła zmiana ruchu.
    • Dodano PolylineStyleOptions do personalizacji ruchu (setTrafficEnabled(), setTrafficColorNoData(), setTrafficColorNormal(), setTrafficColorSlow(), setTrafficColorTrafficJam()).
    • Wystawiony PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION.
    • Dodano: TripWaypoint.getTrafficData().
    • Dodano typ danych TrafficData.
    • Dodano: ConsumerController.hideAllSessions(). Funkcja ConsumerController.showSession() nie akceptuje już wartości null jako argumentu.

v0.9.9 (15 lipca 2020 r.)

Zmiany w interfejsie API

  • Jest to ważna zmiana, która wprowadza architekturę modułową z bardziej przejrzystą relacją między warstwą tylko z danymi (np. ConsumerTripManager) a warstwą interfejsu użytkownika (np. JourneySharingSession). Informacje o przechodzeniu na nową architekturę znajdziesz w przewodniku po migracji do architektury modułowej. – Obiekt ConsumerTrip jest teraz uzyskiwany z poziomu ConsumerTripManager.getTrip().
    • Nazwa ConsumerTrip.unregisterCallback została zmieniona na ConsumerTrip.unregisterTripCallback.
    • Nazwa ConsumerTrip.isCallbackRegistered została zmieniona na ConsumerTrip.isTripCallbackRegistered.
    • Dodano ConsumerTrip.setConsumerTripOptions()ConsumerTrip.getConsumerTripOptions().
    • Użytkownik ConsumerTrip.setAutoRefreshInterval() został usunięty.
  • Usunięto interfejsy API do udostępniania informacji innych niż informacje o podróży.
    • Usunięto mapę gęstości pojazdów.
    • Usunięto stan podglądu podróży.
    • Usunięto stan wyboru odbioru.
    • Usunięto stan wyboru „dropoff”.
    • Usunięto te typy znaczników: SELECTED_PICKUP_POINT, SUGGESTED_PICKUP_POINT, HIGHLIGHTED_PICKUP_POINT i SELECTED_DROPOFF_POINT.
  • Zmieniono interfejsy OnConsumerMarkerClickCallbackConsumerMapReadyCallback na klasy abstrakcyjne.
  • Dodano ConsumerController.getCameraUpdate(), ConsumerController.isAutoCameraEnabled() i ConsumerController.enableAutoCamera().
  • Usunięto niestandardowy przycisk szybkiego działania i powiązane z nim metody (ConsumerController.isMyLocationFabEnabledConsumerController.setMyLocationFabEnabled).

Zmiany w implementacji

  • ConsumerTripCallback, niezależnie od tego, czy jest zarejestrowany z użyciem LifecycleOwner, czy bez niego, nie jest już automatycznie wyrejestrowany na TripStatus.COMPLETE ani TripStatus.CANCELED.
  • AutoCamera jest teraz domyślnie włączona i nigdy się nie wyłącza ani nie włączy ponownie. Wcześniej AutoCamera była automatycznie włączana na urządzeniu TripStatus.ARRIVED_AT_PICKUP i wyłączała się, gdy użytkownik wchodził w interakcję z mapą podczas udostępniania trasy.
  • W animacji udostępniania pojazdu w ramach udostępniania trasy wprowadziliśmy te ulepszenia:
    • Animacja udostępniania trasy obsługuje teraz sytuację, w której pojazd może prawidłowo wracać tą samą trasą, którą już przejechał.
    • Gdy algorytm uzna to za stosowne, pojazd będzie teraz animowany w postaci linii prostej zamiast stosować interpolację między punktami.
  • Uprawnienia FINE_LOCATION nie są już wymagane.

Inne zmiany

  • Zaktualizowano te wersje zależności:
    • 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 marca 2020 r.)

Zmiany w interfejsie API

  • Dodano TripInfo.getVehicleId(), TripInfo.getNumberOfPassengers(), TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute()TripInfo.getTripRemainingRoute().
  • Dodano klasę options używaną podczas inicjowania ConsumerApi, która umożliwia dynamiczne ustawianie adresu FleetEngine. Jeśli interfejs API nie zostanie wywołany z wartością FleetEngine, spróbuje pobrać ją z pliku manifestu Androida. W przeciwnym razie użyje wartości domyślnej.

Ulepszenia

  • Gdy stan przejazdu toARRIVED_AT_PICKUP, linia wielokąta trasy nie jest wyświetlana.
  • Ulepszony został system śledzenia pojazdów poza trasą (wymaga pakietu DriverSDK 1.15):
    • Śledzenie pojazdu nie przypina pojazdu do trasy, gdy pojazd przejeżdża przez punkt odbioru.
    • Śledzenie pojazdu umożliwia wyświetlanie pojazdu poza drogą, np. na nieskatalogowanych parkingach.
  • Ikona pojazdu jest teraz aktualizowana, gdy miejsce docelowe kierowcy nie pasuje do miejsca docelowego w Fleet Engine.

v0.8.6 (16 grudnia 2019 r.)

Zmiany w interfejsie API

  • Dodano: TripInfo.getVehicleLocation().

  • ConsumerMapView nie jest już ostateczne.

Zmiany w implementacji

  • Pozostała odległość na bieżącym odcinku jest teraz obliczana na podstawie odległości na serwerze (zgłoszona przez kierowcę + trasa statyczna w odpowiednich przypadkach) zamiast lokalnego przyciągania. Ta zmiana zapewnia dokładniejsze wartości pozostałej odległości.

Inne zmiany

  • Wymagane są nowe zależności. Szczegółowe informacje znajdziesz w pliku .pom.

    • 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
  • Dodano logi dotyczące czasu oczekiwania na prośbę o podróż.

  • Dodano dzienniki błędów odpowiedzi na podróż.

Uwagi

  • Od wersji 0.8.1 pakiet Consumer SDK na Androida jest dostarczany jako skompresowane archiwum ZIP. Informacje o tym, jak odwrócić działanie tego filtra, znajdziesz w artykule Jetifier: tryb odwrotny.

v0.8.1 (13 września 2019 r.)

Nowe funkcje

Zmiany w interfejsie API

  • Dodano funkcję ConsumerController.disableAutoCamera() jako odwrotną do funkcji centerMapForState().

  • Funkcja VehicleLocation.getUpdateTime() zwraca teraz wartość typu Long, która reprezentuje sygnaturę czasową (w milisekundach).

  • Uprościliśmy interfejs AuthTokenFactory, aby udostępnić jedną metodę generowania tokenów. Zmieniono AuthTokenFactory z interfejsu na klasę abstrakcyjną, aby umożliwić zgodność wsteczną w Java 7. Ta zmiana jest wstecznie zgodna, ale stare metody generowania tokena dla pojedynczej usługi są przestarzałe i ostatecznie zostaną usunięte.

Zmiany w implementacji

  • Zasoby są teraz wyśrodkowane w środku ikony, co eliminuje przesunięcie cienia.

  • setState na JOURNEY_SHARING onStartTripMonitoring() zamiast czekać na stan monitorowanej podróży.

  • Zawsze zwraca dane dla pierwszej aktualizacji danych podróży, nawet jeśli dane te są niezsynchronizowane.

  • Dodano Android Map Utils jako wymaganą zależność.

Poprawki błędów

  • Naprawiono uszkodzoną składnię eksportu Proguard dla grpc keep.

0.7.0 (7 sierpnia 2019 r.)

Nowe funkcje

  • Obsługa wielu miejsc docelowych w ramach udostępniania ścieżki.

Zmiany w interfejsie API

  • Nowe metody ConsumerTripCallback.

    • onTripIntermediateDestinationsUpdated().
    • onTripETAToNextTripWaypointUpdated().
  • nowe metody ConsumerController.

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

    • TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION.
    • TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION.
  • nowe metody dostępu TripWaypoint.

    • getETAMillis().
    • getDistanceMeters().
  • Dodano klasę TripInfo.

    • Możesz uzyskać TripInfo dla aktywnej podróży z ConsumerTripManager.getActiveTripInfo().
  • Dodano: WaypointType.INTERMEDIATE_DESTINATION.

  • Dodano: MarkerType.TRIP_INTERMEDIATE_DESTINATION.

  • Utworzono kampanię ConsumerMapState.JOURNEY_SHARING na podstawie połączonych kampanii ConsumerMapStates, ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFFCOMPLETE.

    • Zaktualizowano tabelę StateChangeCallbacks.

    • Dodano: onStateJourneySharing().

    • Usunięto onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute() i onStateEndofTrip().

Poprawki błędów

  • Rozwiązaliśmy błąd polegający na tym, że trasa nie jest przycinana do lokalizacji pojazdu, gdy monitorowanie przejazdu rozpoczyna się w środku aktywnego przejazdu (a nie na początku trasy).

  • Rozwiązano błąd, który powodował, że wywołania zwrotne dotyczące podróży nie były wywoływane w przypadku słuchaczy zarejestrowanych w usłudze Tripmanager po pobraniu danych o podróży przez usługę TripManager.

  • Powiększenie kamery obejmuje teraz tylko aktywną trasę i kolejną pozycję na trasie (punkt docelowy należący do trasy). Nawet jeśli pozostała część nogi jest widoczna, zoom nigdy nie obejmie jej. Wcześniej punkt docelowy był uwzględniany w powiększeniu, gdy pojazd był w drodze po odbiór lub po przybyciu na miejsce odbioru. To już nieprawda.

Ulepszenia

  • Wypełnij 0 pozostającymi punktami drogowymi za pomocą danych Kierowcy (lista pozostałych punktów drogowych jest zwracana z ConsumerTripCallback.onTripRemainingWaypointsUpdatedTripInfo.getRemainingWaypoints()).

  • Aktualizowanie czasu ETA wszystkich pozostałych punktów trasy po zmianie czasu ETA do pierwszego punktu na liście.

  • Wymuś ponowne włączenie autokamery tylko wtedy, gdy kierowca dojedzie na miejsce odbioru. Wcześniej po każdej zmianie stanu podróży ustawienie autokamera było resetowane do wartości domyślnej (włączone). Autokamera jest nadal domyślnie włączona. Autocamera nie zostanie ponownie włączona, jeśli nowa aktywna podróż zostanie ustawiona bez nowego wywołania funkcji startTripMonitoring().

v0.6.1 (26 czerwca 2019 r.)

Nowe funkcje

  • Udostępnianie przejazdów w ramach Carpool.

Zmiany w interfejsie API

  • Funkcja ConsumerController.getConsumerMapStyle() zwraca teraz wartość ConsumerMapStyle, a nie Task<ConsumerMapStyle>.

  • Dodano: PolylineStyle.setZIndex().

Poprawki błędów

  • Animacja trasy jest teraz wyświetlana tylko wtedy, gdy segment trasy jest zsynchronizowany, co poprawia komfort korzystania z aplikacji.

  • Naprawiono „migotanie” pojazdu podczas interpolacji animacji, gdy aktualizacje lokalizacji kierowcy są blisko siebie.

  • Usunięto błąd, który powodował, że pojazd zaczynał się na początku trasy, a nie w miejscu, w którym znajdował się w momencie rozpoczęcia monitorowania aktywnej podróży.

  • wyświetlanie aktywnej ścieżki w postaci polilinii nad pozostałą ścieżką, gdy się na siebie nakładają;

Ulepszenia

  • Teraz udostępnij klasę gRPC Status z niezaszyfrowanymi metodami.

v0.5.1.01 (17 maja 2019 r.)

Nowe funkcje

  • Obsługa udostępniania ścieżki w ciągu.

Zmiany w interfejsie API

  • Nowe zajęcia ConsumerController.

PolylineType

Stara wartość Nowa wartość
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

Stara wartość Nowa wartość
onTripRouteUpdated onTripActiveRouteUpdated
onTripRemainingDistanceUpdated onTripActiveRouteRemainingDistanceUpdated
onTripRemainingWaypointsUpdated()

ConsumerController

  • Możesz teraz ustawiać wywołania zwrotne dla stanów bez ich wywoływania.
Metoda Oddzwanianie
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) umożliwia ustawienie języka używanego w wywołaniach do FleetEngine (np. w przypadku opisów punktów odbioru).

Ulepszenia

  • Stan wyboru miejsca dostawy zawiera teraz pin, który można przeciągać.
  • Usunięto animację kamery w stanie INITIALIZE.
  • Zawartość komórki ManagedChannelBuilder została zastąpiona tekstem AndroidChannelBuilder.