Ta sekcja zawiera informacje o wersjach pakietu SDK dla konsumentów na Androida.
Ogłoszenie: wstrzymanie obsługi interfejsów API na poziomach 23, 24 i 25
Zgodnie z zasadami obsługi wersji mobilnego systemu operacyjnego wstrzymujemy obsługę Androida 6 i 7 (interfejs API na poziomie 23, 24 i 25) w nadchodzących głównych wersjach pakietu Consumer SDK na Androida.
Wersje pakietu Consumer SDK na Androida wydane od IV 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, środowisko IDE wczyta najnowszą wersję pakietu SDK, a nowe kompilacje aplikacji nie będą obsługiwać Androida 6 i 7.
Określ wersję pakietu SDK Consumer na Androida w zależnościach kompilacji aplikacji, aby kontrolować, kiedy podnosisz minimalną obsługiwaną wersję systemu operacyjnego dla nowych wersji aplikacji.
5.0.0 (9 listopada 2026 r.)
- Dodaliśmy obsługę trybu pełnego R8. Reguły ProGuard pakietu SDK zachowują teraz klasy dostawcy gRPC, które są wczytywane przez refleksję, dzięki czemu aplikacje, które włączają pełny tryb R8, nie ulegają już awarii podczas uruchamiania z błędem
Unable to load OkHttpChannelProvider.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że próby bezpiecznego połączenia z Fleet Engine mogły pozostawać w stanie oczekiwania w nieskończoność, jeśli pośredni serwer proxy operatora zawiesił się podczas konfigurowania połączenia, co uniemożliwiało odświeżanie stanu przejazdu i aktualizacji śledzenia pojazdu w niektórych sieciach komórkowych. Pakiet Consumer SDK wymusza teraz limit czasu połączenia i automatycznie przywraca połączenie po nawiązaniu nowego.
Zmiany zależności i konfiguracji
Od wersji 5.0.0 pakietu SDK dla konsumentów na Androida obowiązują nowe wymagania minimalne:
- Minimalna obsługiwana wersja Androida to Android 7.0 (poziom interfejsu API 24).
- Aplikacje muszą zostać uaktualnione do Kotlina 2.4.
Pakiet SDK jest teraz tworzony za pomocą tych narzędzi:
- Uaktualniono wtyczkę Androida do obsługi Gradle do wersji 9.2.0.
- Zaktualizowano Gradle do wersji 9.4.1.
4.1.0 (26 maja 2026 r.)
- Ulepszenia wewnętrzne: przeniesiono wewnętrzny magazyn danych do Jetpack DataStore.
Zmiany zależności i konfiguracji
- Zaktualizowano wersję zależności Kotlin do wersji 2.3.0.
- Uaktualniono wtyczkę Androida do obsługi Gradle do wersji 8.13.2.
- Zaktualizowaliśmy Gradle do wersji 8.13.
- Zaktualizowano bibliotekę Desugar do wersji 2.1.5.
- Zaktualizowano pakiet Maps SDK do wersji 20.0.0 i te zależności GMS Core:
- play-services-location: 21.3.0
- play-services-tasks: 18.4.1
- play-services-common: 18.1.0
- play-services-basement: 18.1.0
- Dodano zależności Jetpack Datastore (androidx.datastore:datastore-core:1.2.0, androidx.datastore:datastore-guava:1.2.0).
4.0.0 (3 października 2025 r.)
- Ulepszenia wewnętrzne.
3.2.0 (26 czerwca 2025 r.)
- Ulepszenia wewnętrznego rejestrowania.
Zmiany zależności i konfiguracji
- Od wersji 3.2.0 pakietu Consumer SDK na Androida aplikacje muszą zostać uaktualnione do Kotlina 2.1.
Poprawki błędów
- Używaj długości linii łamanej zamiast odległości w linii prostej do podejmowania decyzji dotyczących animacji wewnętrznej.
3.1.0 (10 marca 2025 r.)
- Ulepszenia wewnętrznego rejestrowania.
3.0.0 (6 grudnia 2024 r.)
Zmiany zależności i konfiguracji
- Od wersji 3.0.0 pakietu Consumer SDK na Androida aplikacje muszą zostać uaktualnione do wersji Kotlin 2.0. Zapoznaj się z przewodnikiem po migracji do pakietu Consumer SDK na Androida w wersji 3.0.
- Wartość targetSdk dla pakietu SDK dla klientów to teraz Android 14 (API na poziomie 34). Od sierpnia 2024 r. jest to wymagane w przypadku wszystkich aplikacji wdrażanych w Sklepie Google Play. Zobacz Spełnianie wymagań Google Play dotyczących docelowego poziomu interfejsu API.
2.99.0 (25 listopada 2024 r.)
Poprawki błędów
- Naprawia błąd ANR, który występuje, gdy wykonywanie
ConsumerApi.cleanUp()trwa zbyt długo. Po zintegrowaniu wersji zostanie ona stopniowo wdrożona (zaczynając od 0%). - Rozwiązaliśmy problem, który powodował, że kierowcy otrzymywali błędy gRPC z kodem „INTERNAL” i komunikatem „Panic! To błąd!”. Po zintegrowaniu wersji zostanie ona stopniowo wdrożona (zaczynając od 0%).
2.3.0 (2 sierpnia 2024 r.)
Zmiany w interfejsie API
Dodaj obsługę definiowania stylów map w Google Cloud, która umożliwia tworzenie niestandardowych map drogowych dla użytkowników bez konieczności modyfikowania kodu aplikacji za każdym razem, gdy wprowadzasz zmianę stylu mapy. Więcej informacji znajdziesz w artykule Definiowanie stylów map w Google Cloud.
Dodaj metodę
getServerTimeMillis()doVehicleLocation, aby określić czas, w którym Fleet Engine otrzymał informację o zmianie lokalizacji.
2.2.0 (7 maja 2024 r.)
Zmiany w interfejsie API
- Dodaliśmy interfejs API obsługi integracji z Jetpack Compose. To funkcja eksperymentalna. Aby dowiedzieć się więcej o integracji z Jetpack Compose, skontaktuj się z przedstawicielem.
2.1.0 (17 stycznia 2024 r.)
Poprawki błędów
- Naprawiliśmy błąd powodujący awarię, gdy pakiet SDK jest inicjowany więcej niż raz w cyklu życia aplikacji.
Zmiany w interfejsie API
- Wprowadzono metodę pobierania instancji
GoogleMaputworzonej przez pakiet SDK (ConsumerGoogleMap.getGoogleMap()). - Wprowadzono interfejs API do pobierania instancji
Markerutworzonych przez pakiet SDK do reprezentowania pojazdu (ConsumerController.getConsumerMarker()). - Wprowadzono interfejs API do otrzymywania prognozowanych aktualizacji czasu i odległości od klienta podczas udostępniania przejazdu (
ProjectedRouteEta).
1.99.2 (3 listopada 2023 r.)
Naprawiono błąd powodujący awarię, gdy pakiet SDK jest inicjowany z procesu zdalnego, oddzielnego od aplikacji.
Naprawiliśmy błąd, który powodował awarię podczas wykonywania animacji kamery, gdy nie było wystarczającej ilości miejsca w pionie lub poziomie na dopełnienie. Dzieje się tak tylko w przypadku najnowszego mechanizmu renderowania map.
Naprawiliśmy błąd, który powodował, że pierwszy etap przejazdu łączonego był usuwany, gdy drugi etap przebiegał tą samą drogą.
Problemy
- Jeśli metoda
ConsumerApi.initialize()zostanie wywołana, gdy instancja interfejsu API już istnieje, zgłosi wyjątek. Aby obejść ten problem, najpierw wywołajConsumerApi.getInstance()i oceń zwrócony obiektTask, aby określić, czy instancja interfejsu API już istnieje.
2.0.0 (15 września 2023 r.)
Ogłoszenie: zmiany powodujące niezgodność
Minimalny poziom interfejsu API został zmieniony z 21 na 23.
Zaktualizowano wymagania dotyczące wersji pakietu Maps SDK z wersji 17.0.0 na 18.1.0.
Minimalna wymagana wersja biblioteki standardowej Kotlin została zaktualizowana z 1.6.10 do 1.9.0.
Aktualizowanie wersji zależności usług Google Play
Minimalna wymagana wersja biblioteki play-services-base została zmieniona z 18.0.1 na 18.2.0.
Minimalna wymagana wersja biblioteki play-services-basement została zmieniona z 18.0.0 na 18.2.0.
Zaktualizowano minimalną wymaganą wersję biblioteki play-services-location z 17.0.0 do 21.0.1.
Minimalna wymagana wersja biblioteki play-services-tasks została zmieniona z 18.0.1 na 18.0.2.
Dodaje bibliotekę androidx.room:room-runtime z minimalną wymaganą wersją ustawioną na 2.5.2.
Zaktualizuj te wersje zależności
Minimalna wymagana wersja biblioteki android-maps-utils została zmieniona z 0.4.2 na 3.5.2.
Minimalna wymagana wersja com.google.android.datatransport:transport-backend-cct została zaktualizowana z 3.0.0 do 3.1.9
Minimalna wymagana wersja com.google.android.datatransport:transport-runtime została zmieniona z 3.0.1 na 3.1.9
Minimalna wymagana wersja androidx.lifecycle:lifecycle-extensions została zaktualizowana z 2.0.0 do 2.2.0
Minimalna wymagana wersja androidx.lifecycle:lifecycle-common-java8 została zaktualizowana z 2.0.0 do 2.6.1
Minimalna wymagana wersja androidx.appcompat:appcompat została zaktualizowana z 1.0.0 do 1.6.1.
Minimalna wymagana wersja androidx.fragment:fragment została zaktualizowana z 1.0.0 do 1.6.1
Usuwa te wycofane wcześniej interfejsy API:
ConsumerTrip,ConsumerTripCallback,ConsumerTripManager,ConsumerTripOptions. Zastąpiły je te parametry:TripModel,TripModelCallback,TripModelManageriTripModelOptions.Aplikacje korzystające z Consumer SDK muszą teraz mieć
targetSdkVersioninterfejsu API 31 lub nowszego,compileSdkVersioninterfejsu API 33 lub nowszego.Aplikacje korzystające z Consumer SDK muszą teraz mieć włączoną obsługę biblioteki Java 8. Instrukcje aktualizacji znajdziesz na stronie https://developer.android.com/studio/write/java8-support.
Aplikacje, które używają Proguard lub Dexguard, muszą przejść na R8. Więcej informacji znajdziesz na stronie https://developer.android.com/build/shrink-code.
Aplikacje, które używają pakietu Consumer SDK, muszą mieć włączone odlukrzanie. thought 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 instancja interfejsu API została już utworzona.Taskzwracany przezConsumerApi.getInstance()musi służyć do określenia, czy wcześniej utworzono instancję interfejsu API.
Ogłoszenie: wycofanie interfejsów API
Wycofuje klasy adnotacji
Trip.TripStatusiTrip.TripType, dodaje klasy adnotacjiTripInfo.TripStatusiTripInfo.TripType, aby je zastąpić.W ramach tej zmiany wycofujemy
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)i zastępujemy go przezTripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status).W ramach tej zmiany wycofujemy
TripInfo#getTripStatus()i zastępujemy goTripInfo#getCurrentTripStatus().W ramach tej zmiany wycofujemy
TripInfo#getTripType()i zastępujemy goTripInfo#getCurrentTripType().
Wycofuje klasę
Trip.
Inne zmiany i poprawki błędów
Obsługuje żądania najnowszego mechanizmu renderowania pakietu Maps SDK. Więcej informacji znajdziesz w artykule Nowy mechanizm renderowania map.
Zapewnia obsługę pakietu Maps SDK w wersjach od 18.1.0 (włącznie) do 19.0.0 (wyłącznie).
Naprawiono błąd „przekroczono termin” w przypadku komunikacji wewnętrznej między pakietem SDK a backendem Google.
Rozwiązuje problem 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
Naprawiliśmy błąd powodujący awarię, gdy aktywność lub fragment hosta pakietu SDK zostaną zniszczone.
Naprawiono błąd powodujący awarię, gdy wymiary MapView (wysokość lub szerokość) wynosiły 0.
Naprawiliśmy błąd powodujący awarię podczas rzutowania lokalizacji pojazdu na polilinię trasy.
Ulepszenia
- Zapobiega awariom pakietu SDK, gdy aplikacja hostowana jest instalowana z nieoficjalnych źródeł i nie ma domyślnych zasobów wizualnych.
1.99.0 (22 czerwca 2023 r.)
Poprawki błędów
Rozwiązaliśmy problem z renderowaniem na małych ekranach i w trybie obrazu w obrazie.
Rozwiązaliśmy problem z migotaniem pojazdu podczas udostępniania przejazdu.
1.2.1 (7 czerwca 2023 r.)
Poprawki błędów
- Naprawiliśmy błąd, który powodował migotanie pojazdu podczas udostępniania przejazdu.
1.2.0 (21 listopada 2022 r.)
Poprawki błędów
- Naprawiliśmy błąd, który powodował, że w wywołaniu zwrotnym
onTripActiveRouteTrafficUpdatedbył zgłaszany pusty ruch.
Nowe funkcje
- „Łamane uwzględniające natężenie ruchu” są teraz ogólnie dostępne.
1.1.2 (27 października 2022 r.)
Poprawki błędów
- Naprawiliśmy błąd, który powodował, że łamana trasy znikała, gdy
JourneySharingSessionbyła uruchamiana więcej niż raz dlaTripModel.
Ogłoszenie: wstrzymanie pomocy dotyczącej Androida 5 (25 lipca 2022 r.)
W przypadku pakietu SDK w wersji 1.1.1 zapewniamy dodatkowy rok pomocy dotyczącej aplikacji działających na Androidzie 5, zarówno na poziomie interfejsu API 21, jak i 22.
Co to oznacza:
Pakiet SDK dla klientó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 interfejsy API Androida na poziomie 23 lub wyższym. Innymi słowy, 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 będą naprawiane i nie gwarantujemy, że pakiety SDK będą działać prawidłowo.
Wersja 1.1.1 (25 lipca 2022 r.)
Zmiana zależności
- Obniża minimalny obsługiwany poziom interfejsu Android API do 21.
Wersja 1.1.0 (28 kwietnia 2022 r.)
- Ulepszenia wewnętrzne.
Wersja 1.0.19 (17 marca 2022 r.)
Poprawki błędów
- Naprawiliśmy wyciek pamięci w klasie
ConsumerApi.
Wersja 1.0.14 (30 listopada 2021 r.)
Minimalny obsługiwany poziom interfejsu Android API to teraz 23.
Zmiany w interfejsie API
Zmiany w klasach
ConsumerTripiConsumerTripManager.- Uporządkowaliśmy niektóre nazwy metod, aby ich znaczenie było bardziej zrozumiałe i zgodne z platformą iOS.
Zmiany w
ConsumerTripCallback,ConsumerTripiTripInfo.Zmieniono niektóre nazwy klas, aby zachować zgodność z iOS. Wprowadziliśmy
TripModel,TirpModelManageriTripModelOptions, aby wycofaćConsumerTrip,ConsumerTripManageriConsumerTripOptions.Uporządkowaliśmy nazwy niektórych metod. Poprawiono lub dodano komentarze JavaDoc do metod, aby lepiej wyjaśnić ich znaczenie.
Ulepszona obsługa błędów.
Dostosowywanie stylu
Wycofane starsze kody
- Metody
MarkerStyleOptionsiPolylineStyleOptionszostały wycofane i zastąpione przezMarkerOptionsiPolylineOptions, które są udostępniane pakietowi Maps SDK.
- Metody
Monitorowanie awarii
Dodano wykrywanie i rejestrowanie awarii.
- Dodaliśmy możliwość rezygnacji z tej funkcji. Zrobiliśmy to w ramach szerszych działań związanych z monitorowaniem awarii w usługach geograficznych.
Zmiany dotyczące uwierzytelniania
- Usuń niepotrzebne metody z interfejsów uwierzytelniania.
- Usunięto parametr
ServiceType.
- Usunięto parametr
Wersja 0.9.28 (18 maja 2021 r.)
Zmiany w interfejsie API
- Zaktualizowano wszystkie metody
ConsumerTripCallback, aby używały parametruTripInfo. - Dodano
ConsumerTrip.isRefreshing(), który wskazuje, czyConsumerTripaktywnie aktualizuje się, korzystając z najnowszych informacji o przejazdach z Fleet Engine. - Dodano:
ConsumerTripCallback.onTripRemainingRouteDistanceUpdated(). - Dodano:
ConsumerTripCallback.onTripRemainingRouteUpdated(). - Zastąp zwracane typy Guava (
ImmutableSet,ImmutableList) odpowiednimi klasamijava.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 we wdrażaniu
- Naprawiliśmy sytuację wyścigu, w której pakiet SDK mógł ulec awarii z powodu interakcji z mapą, zanim była ona gotowa.
- Pakiet SDK nie zawiera już niezaszyfrowanej kopii
io.grpc. - Naprawiliśmy błąd powodujący migotanie linii łamanych natężenia ruchu na niektórych urządzeniach. Segmenty natężenia ruchu będą teraz miały zaokrąglone końce.
Wersja 0.9.15 (7 października 2020 r.)
Zmiany w interfejsie API
- W tej wersji wprowadziliśmy linie łamane uwzględniające natężenie ruchu.
– Dodano
TripInfo.getActiveRouteTraffic()iTripInfo.getRemainingRouteTraffic().- Dodano
ConsumerTripCallback.onTripActiveRouteTrafficUpdated()iConsumerTripCallback.onTripRemainingRouteTrafficUpdated(), aby wskazać, kiedy ruch się zmienił. - Dodano
PolylineStyleOptionsna potrzeby dostosowywania ruchu (setTrafficEnabled(),setTrafficColorNoData(),setTrafficColorNormal(),setTrafficColorSlow(),setTrafficColorTrafficJam()). - Wyświetlono
PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION. - Dodano:
TripWaypoint.getTrafficData(). - Dodaliśmy typ danych
TrafficData. - Dodano:
ConsumerController.hideAllSessions(). FunkcjaConsumerController.showSession()nie akceptuje już wartości null jako argumentu.
- Dodano
v0.9.9 (15 lipca 2020 r.)
Zmiany w interfejsie API
- Jest to poważna zmiana, która wprowadza architekturę modułową z wyraźniejszą relacją między warstwą zawierającą tylko dane (np.
ConsumerTripManager) a warstwą interfejsu (np.JourneySharingSession). Informacje o migracji do nowej architektury znajdziesz w przewodniku po migracji do modułów. - ObiektConsumerTripjest teraz uzyskiwany zConsumerTripManager.getTrip().- Nazwa notatnika
ConsumerTrip.unregisterCallbackzostała zmieniona naConsumerTrip.unregisterTripCallback. - Nazwa notatnika
ConsumerTrip.isCallbackRegisteredzostała zmieniona naConsumerTrip.isTripCallbackRegistered. - Dodano:
ConsumerTrip.setConsumerTripOptions()iConsumerTrip.getConsumerTripOptions(). - Użytkownik
ConsumerTrip.setAutoRefreshInterval()został usunięty.
- Nazwa notatnika
- Usunęliśmy interfejsy API, które nie służą do udostępniania przejazdu.
- Usunięto mapę gęstości pojazdów.
- Usunięto stan podglądu przejazdu.
- Usunięto stan wyboru odbioru.
- Usunięto stan wyboru miejsca zwrotu.
- Usunęliśmy te typy znaczników:
SELECTED_PICKUP_POINT,SUGGESTED_PICKUP_POINT,HIGHLIGHTED_PICKUP_POINTiSELECTED_DROPOFF_POINT.
- Zmieniono
OnConsumerMarkerClickCallbackiConsumerMapReadyCallbackz interfejsów na klasy abstrakcyjne. - Dodano:
ConsumerController.getCameraUpdate(),ConsumerController.isAutoCameraEnabled()iConsumerController.enableAutoCamera(). - Usunęliśmy niestandardowy przycisk FAB i powiązane z nim metody (
ConsumerController.isMyLocationFabEnablediConsumerController.setMyLocationFabEnabled).
Zmiany we wdrażaniu
ConsumerTripCallback, niezależnie od tego, czy jest zarejestrowany zLifecycleOwnerczy bez, nie jest już automatycznie wyrejestrowywany wTripStatus.COMPLETEaniTripStatus.CANCELED.- Funkcja AutoCamera jest teraz domyślnie włączona i nigdy nie włącza się ani nie wyłącza automatycznie.
Wcześniej funkcja AutoCamera automatycznie włączała się ponownie na
TripStatus.ARRIVED_AT_PICKUPi wyłączała się, gdy użytkownik wchodził w interakcję z mapą podczas udostępniania przejazdu. - Wprowadziliśmy te ulepszenia animacji pojazdu podczas udostępniania przejazdu:
- Animacja udostępniania przejazdu obsługuje teraz sytuację, w której pojazd może zgodnie z prawem wrócić po już przebytej trasie.
- Pojazd będzie teraz animowany w linii prostej, a nie interpolowany między punktami, gdy zostanie to określone algorytmicznie.
- Uprawnienia
FINE_LOCATIONnie 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
Wersja 0.9.1 (23 marca 2020 r.)
Zmiany w interfejsie API
- Dodano:
TripInfo.getVehicleId(),TripInfo.getNumberOfPassengers(),TripInfo.getIntermediateDestinationIndex(),TripInfo.getTripActiveRoute()iTripInfo.getTripRemainingRoute(). - Dodano klasę
optionsużywaną podczas inicjowaniaConsumerApi, która umożliwia dynamiczne ustawianie adresuFleetEngine. Jeśli interfejs API nie zostanie wywołany z wartościąFleetEngine, spróbuje pobrać ją z pliku manifestu Androida lub użyje wartości domyślnej.
Ulepszenia
- Gdy stan przejazdu to
ARRIVED_AT_PICKUP, polilinia trasy nie jest wyświetlana. - Ulepszyliśmy śledzenie pojazdu poza trasą (wymaga pakietu DriverSDK w wersji 1.15):
- Śledzenie pojazdu nie przyciąga go do trasy, gdy pojazd przejeżdża obok punktu odbioru.
- Śledzenie pojazdu umożliwia wyświetlanie pojazdu poza drogą, np. na parkingach, które nie są uwzględnione na mapie.
- Ikona pojazdu jest teraz aktualizowana, gdy miejsce docelowe kierowcy nie jest zgodne z miejscem docelowym w Fleet Engine.
Wersja 0.8.6 (16 grudnia 2019 r.)
Zmiany w interfejsie API
Dodano:
TripInfo.getVehicleLocation().Wersja
ConsumerMapViewnie jest już ostateczna.
Zmiany we wdrażaniu
- Pozostała odległość aktywnego odcinka jest teraz obliczana na podstawie odległości serwera (zgłoszonej przez kierowcę + trasy statycznej, jeśli dotyczy), a nie 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
Dodaliśmy logi dotyczące czasu oczekiwania na prośbę o przejazd.
Dodano logi błędów odpowiedzi dotyczących przejazdu.
Uwagi
- Od wersji 0.8.1 pakiet SDK dla konsumentów na Androida jest dostarczany jako zjetifikowane archiwum ZIP. Informacje o tym, jak to zrobić, znajdziesz w sekcji Jetifier: tryb odwrotny.
Wersja 0.8.1 (13 września 2019 r.)
Nowe funkcje
Obsługa ConsumerMapView.
Artefakty ODRD są teraz dostarczane w repozytorium Maven, a nie w pliku zip .aar. Więcej informacji znajdziesz w artykule Dodawanie pakietu SDK Consumer do aplikacji.
Zmiany w interfejsie API
Dodano funkcję
ConsumerController.disableAutoCamera()jako funkcję przeciwną docenterMapForState().VehicleLocation.getUpdateTime()zwraca teraz wartość typu Long, która reprezentuje sygnaturę czasową (w milisekundach).Uproszczono interfejs
AuthTokenFactory, aby udostępnić jedną metodę generowania tokenów. ZmienionoAuthTokenFactoryz interfejsu na klasę abstrakcyjną, aby umożliwić zgodność wsteczną w języku Java 7. Ta zmiana jest zgodna wstecznie, ale stare metody generowania tokenów pojedynczej usługi zostały wycofane i zostaną usunięte.
Zmiany we wdrażaniu
Zasoby są teraz wyśrodkowane względem środka ikony, co eliminuje przesunięcie cienia.
setStatenaJOURNEY_SHARING onStartTripMonitoring()zamiast czekać na stan monitorowanego przejazdu.Zawsze zwraca dane dotyczące pierwszej aktualizacji danych o podróży, nawet jeśli dane o podróży nie są zsynchronizowane.
Dodano Android Map Utils jako udostępnioną zależność.
Poprawki błędów
- Naprawiono nieprawidłową składnię eksportu ProGuard dla grpc keep.
Wersja 0.7.0 (7 sierpnia 2019 r.)
Nowe funkcje
- Obsługa wielu miejsc docelowych w ramach udostępniania przejazdu.
Zmiany w interfejsie API
Nowe metody dla:
ConsumerTripCallback.onTripIntermediateDestinationsUpdated().onTripETAToNextTripWaypointUpdated().
Nowe metody
ConsumerController.getIntermediateDestinations().setIntermediateDestinations(List<TerminalLocation> intermediateDestinations).
Nowy:
TripStatuses.TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION.TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION.
Nowe metody pobierające
TripWaypoint.getETAMillis().getDistanceMeters().
Dodano klasę
TripInfo.- Możesz uzyskać
TripInfodla aktywnego przejazdu za pomocąConsumerTripManager.getActiveTripInfo().
- Możesz uzyskać
Dodano:
WaypointType.INTERMEDIATE_DESTINATION.Dodano:
MarkerType.TRIP_INTERMEDIATE_DESTINATION.Utworzono
ConsumerMapState.JOURNEY_SHARINGze scalonychConsumerMapStates,ENROUTE_TO_PICKUP,ARRIVED_AT_PICKUP,ENROUTE_TO_DROPOFFiCOMPLETE.Zaktualizowano tabelę
StateChangeCallbacks.Dodano:
onStateJourneySharing().Usunięto:
onStateWaitingForPickup(),onStateDriverArrived(),onStateEnroute()ionStateEndofTrip().
Poprawki błędów
Naprawiliśmy błąd, który powodował, że trasa nie była przycinana do lokalizacji pojazdu, gdy monitorowanie przejazdu rozpoczynało się w połowie aktywnego przejazdu (nie na początku trasy).
Naprawiliśmy błąd, który powodował, że wywołania zwrotne dotyczące przejazdu nie były wywoływane w przypadku detektorów zarejestrowanych w usłudze TripManager po pobraniu przez nią danych o przejeździe.
Powiększenie kamery obejmuje teraz tylko aktywną trasę i następny punkt na trasie przejazdu (punkt na trasie, który należy do przejazdu). Nawet jeśli pozostały odcinek jest widoczny, powiększenie nigdy go nie obejmie. Wcześniej punkt wysiadania był uwzględniany w powiększeniu, gdy pojazd był w drodze do punktu odbioru lub dotarł do niego. To już nieaktualne.
Ulepszenia
Wypełnij zerowy pozostały punkt orientacyjny danymi kierowcy (lista pozostałych punktów orientacyjnych jest zwracana z
ConsumerTripCallback.onTripRemainingWaypointsUpdatediTripInfo.getRemainingWaypoints().Zaktualizuj szacowany czas dotarcia na miejsce dla wszystkich pozostałych punktów na trasie, gdy zmieni się szacowany czas dotarcia na miejsce dla pierwszego punktu na trasie na liście.
Wymuś ponowne włączenie kamery automatycznej tylko wtedy, gdy kierowca dotrze do miejsca odbioru. Wcześniej kamera automatyczna była ponownie włączana przy każdej zmianie stanu przejazdu. Automatyczna kamera jest nadal domyślnie włączona. Automatyczna kamera nie zostanie ponownie włączona, jeśli nowy aktywny przejazd zostanie ustawiony bez nowego wywołania funkcji
startTripMonitoring().
Wersja 0.6.1 (26 czerwca 2019 r.)
Nowe funkcje
- Obsługa wspólnych przejazdów w ramach udostępniania przejazdu.
Zmiany w interfejsie API
ConsumerController.getConsumerMapStyle()zwraca terazConsumerMapStylezamiastTask<ConsumerMapStyle>.Dodano:
PolylineStyle.setZIndex().
Poprawki błędów
Animacja trasy jest teraz wyświetlana tylko wtedy, gdy segment trasy jest zsynchronizowany, co poprawia wrażenia użytkownika.
Rozwiązaliśmy problem z „migotaniem” pojazdu podczas interpolacji animacji, gdy informacje o zmianie lokalizacji kierowcy są blisko siebie.
Naprawiliśmy błąd, który powodował, że pojazd zaczynał trasę od początku, a nie od najbardziej aktualnej lokalizacji, gdy monitorowanie przejazdu rozpoczynało się w trakcie aktywnego przejazdu.
Wyświetlaj linię łamaną aktywnej trasy nad pozostałą trasą, gdy się nakładają.
Ulepszenia
- Teraz udostępnij klasę gRPC
Statusz niezaciemnionymi metodami.
Wersja 0.5.1.01 (17 maja 2019 r.)
Nowe funkcje
- Obsługa kolejnych udostępnień przejazdu.
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 wprowadzania.
| Metoda | Oddzwanianie |
|---|---|
startPickupSelection |
setPickupSelectionCallback |
startDropoffSelection |
setDropoffSelectionCallback |
startTripPreview |
setTripPreviewSelectionCallback |
ConsumerController.setLanguage(String languageCode)umożliwia ustawienie języka używanego w wywołaniach FleetEngine (np. w przypadku opisów punktów odbioru).
Ulepszenia
- Stan wyboru miejsca wysiadania ma teraz pinezkę, którą można przeciągać.
- Usunięto animację kamery w stanie
INITIALIZE. ManagedChannelBuilderzastąpiono tekstemAndroidChannelBuilder.