В этом разделе содержатся примечания к выпуску Consumer SDK для Android.
2.3.0 (2 августа 2024 г.)
Изменения API
Добавьте поддержку стилей облачных карт , которая позволит вам создавать персонализированные дорожные карты для ваших пользователей без необходимости обновлять код ваших приложений каждый раз, когда вы меняете стиль карты. Дополнительную информацию см. в разделе Оформление карты с помощью стилей облачных карт .
Добавьте метод
getServerTimeMillis()
вVehicleLocation
, чтобы определить время получения обновления местоположения Fleet Engine.
2.2.0 (7 мая 2024 г.)
Изменения API
- Добавлен API поддержки для интеграции Jetpack Compose. Это экспериментальная функция. Для получения подробной информации об интеграции с Jetpack Compose обратитесь к своему представителю.
2.1.0 (17 января 2024 г.)
Исправления ошибок
- Устраняет сбой, возникающий, когда SDK инициализируется более одного раза в течение жизненного цикла приложения.
Изменения API
- Представляет метод для получения экземпляра
GoogleMap
, созданного SDK (ConsumerGoogleMap.getGoogleMap()
). - Представляет API для получения экземпляров
Marker
, созданных SDK для представления транспортного средства (ConsumerController.getConsumerMarker()
). - Представляет API для получения клиентских прогнозируемых обновлений времени и расстояния во время совместного использования путешествий (
ProjectedRouteEta
).
1.99.2 (3 ноября 2023 г.)
Устраняет сбой, возникающий при инициализации SDK из удаленного процесса, отдельного от приложения.
Устраняет сбой, возникающий при выполнении анимации камеры, когда для заполнения недостаточно вертикального или горизонтального пространства. Это происходит только в последней версии рендерера карт.
Исправлена ошибка, из-за которой первый этап маршрута «Впереди назад» обрезался, когда второй этап проходит по той же дороге.
Проблемы
-
ConsumerApi.initialize()
выдает исключение, если он вызывается, когда экземпляр API уже существует. Чтобы обойти эту проблему, сначала вызовитеConsumerApi.getInstance()
и оцените возвращеннуюTask
, чтобы определить, существует ли уже экземпляр API.
2.0.0 (15 сентября 2023 г.)
Объявление: критические изменения
Минимальные требования к уровню API изменены с 21 на 23.
Обновлены требования к версии Maps SDK с версии 17.0.0 до версии 18.1.0.
Минимальные требования к версии стандартной библиотеки Kotlin обновлены с версии 1.6.10 до версии 1.9.0.
Обновите версии зависимостей сервисов Google Play.
Минимальные требования к версии базовой библиотеки play-services обновлены с версии 18.0.1 до версии 18.2.0.
Минимальные требования к версии библиотеки play-services-base обновлены с версии 18.0.0 до версии 18.2.0.
Минимальные требования к версии библиотеки play-services-location обновлены с версии 17.0.0 до версии 21.0.1.
Минимальные требования к версии библиотеки play-services-tasks обновлены с версии 18.0.1 до версии 18.0.2.
Добавляет библиотеку androidx.room:room-runtime с минимальным требованием к версии v2.5.2.
Обновите следующие версии зависимостей
Минимальные требования к версии библиотеки android-maps-utils обновлены с версии 0.4.2 до версии 3.5.2.
Минимальные требования к версии com.google.android.datatransport:transport-backend-cct обновлены с версии 3.0.0 до версии 3.1.9.
Минимальные требования к версии com.google.android.datatransport:transport-runtime обновлены с версии 3.0.1 до версии 3.1.9.
Минимальные требования к версии androidx.lifecycle:lifecycle-extensions обновлены с версии 2.0.0 до версии 2.2.0.
Минимальные требования к версии androidx.lifecycle:lifecycle-common-java8 обновлены с версии 2.0.0 до версии 2.6.1.
Минимальные требования к версии androidx.appcompat:appcompat обновлены с v1.0.0 до v1.6.1.
Минимальные требования к версии androidx.fragment:fragment обновлены с v1.0.0 до v1.6.1.
Удаляет следующие ранее устаревшие API:
ConsumerTrip
,ConsumerTripCallback
,ConsumerTripManager
,ConsumerTripOptions
. На смену им пришлиTripModel
,TripModelCallback
,TripModelManager
иTripModelOptions
.Приложения, использующие Consumer SDK, теперь должны иметь
targetSdkVersion
API 31 или более поздней версии,compileSdkVersion
API 33 или более поздней версии.Приложения, использующие Consumer SDK, теперь должны включать поддержку библиотеки Java 8. См. https://developer.android.com/studio/write/java8-support для получения инструкций по обновлению.
Приложения, использующие Proguard или Dexguard, должны перейти на R8. См. https://developer.android.com/build/shrink-code для получения дополнительной информации.
Приложения, использующие Consumer SDK, должны включать обессеривание. Инструкции см. на https://developer.android.com/studio/write/java8-support#library-desugaring.
Метод
ConsumerApi.initialize()
теперь генерирует исключение, если он вызывается, когда уже создан экземпляр API.Task
, возвращаемаяConsumerApi.getInstance()
должна использоваться для определения того, существует ли заранее созданный экземпляр API.
Объявление: прекращение поддержки API
Устаревшие классы аннотаций
Trip.TripStatus
иTrip.TripType
, вместо них добавляются классы аннотацийTripInfo.TripStatus
иTripInfo.TripType
.В рамках этого изменения
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)
устарел, а вместо него добавленTripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status)
.В рамках этого изменения
TripInfo#getTripStatus()
устарел, вместо него добавленTripInfo#getCurrentTripStatus()
.В рамках этого изменения
TripInfo#getTripType()
устарел, вместо него добавленTripInfo#getCurrentTripType()
.
Устаревший класс
Trip
.
Другие изменения и исправления ошибок
Поддерживает запрос последней версии средства визуализации Maps SDK. Подробности см. в разделе «Новый рендерер карт» .
Обеспечивает поддержку диапазона Maps SDK версий от v18.1.0 (включительно) до v19.0.0 (эксклюзивно).
Исправляет ошибку «превышен срок» для внутренней связи между SDK и серверной частью Google.
Устранена проблема с рендерингом для экрана небольшого размера и режима «картинка в картинке».
Руководство по миграции
1.99.1 (31 августа 2023 г.)
Исправления ошибок
Устраняет сбой, возникающий при уничтожении активности или фрагмента хоста SDK.
Устраняет сбой, возникающий, когда размеры MapView равны 0 (высота или ширина).
Исправлен сбой, возникающий при проецировании местоположения автомобиля на полилинию маршрута.
Улучшения
- Предотвращает сбой SDK, когда ведущее приложение загружено неопубликовано, а визуальные ресурсы по умолчанию отсутствуют.
1.99.0 (22 июня 2023 г.)
Исправления ошибок
Устранена проблема с рендерингом на экранах небольшого размера и в режиме «картинка в картинке».
Устраняет мерцание автомобиля во время совместного путешествия.
1.2.1 (7 июня 2023 г.)
Исправления ошибок
- Исправлена ошибка, из-за которой автомобиль мерцал во время совместного путешествия.
1.2.0 (21 ноября 2022 г.)
Исправления ошибок
- Исправлена ошибка, из-за которой в обратном вызове
onTripActiveRouteTrafficUpdated
сообщался пустой трафик.
Новые возможности
- «Полилинии с учетом трафика» теперь общедоступны.
1.1.2 (27 октября 2022 г.)
Исправления ошибок
- Устранена ошибка, приводившая к исчезновению полилинии маршрута после запуска
JourneySharingSession
более одного раза дляTripModel
.
Объявление: прекращение поддержки Android 5 (25 июля 2022 г.)
Для нашей версии SDK v1.1.1 мы предоставляем дополнительный год поддержки приложений, работающих на Android 5, для уровней API 21 и 22.
Что это значит:
Потребительский SDK, работающий в ваших приложениях Android, будет поддерживать как минимум Android 5 (уровень API 21) до 30 июня 2023 года.
После 30 июня 2023 г. мы будем поддерживать только Android API уровня 23 и выше. Другими словами, после этой даты мы прекратим поддержку Android API уровней 21 и 22 во всех версиях SDK. Это означает, что ошибки, связанные с Android 21 или 22, в любой версии SDK (включая 4.x) не будут исправлены, и мы не гарантируем корректную работу SDK.
v1.1.1 (25 июля 2022 г.)
Изменение зависимости
- Понижает минимальный поддерживаемый уровень Android API до 21.
v1.1.0 (28 апреля 2022 г.)
- Внутренние улучшения.
v1.0.19 (17 марта 2022 г.)
Исправления ошибок
- Исправлена утечка памяти в классе
ConsumerApi
.
v1.0.14 (30 ноября 2021 г.)
Минимальный поддерживаемый уровень Android API теперь равен 23.
Изменения API
Изменения в классах
ConsumerTrip
иConsumerTripManager
.- Исправлены имена некоторых методов, чтобы сделать их значение более понятным и привести в соответствие с платформой iOS.
Изменения в
ConsumerTripCallback
,ConsumerTrip
иTripInfo
.Изменены имена некоторых классов, чтобы обеспечить равенство с iOS. Введены
TripModel
,TirpModelManager
иTripModelOptions
, чтобы объявить устаревшимиConsumerTrip
,ConsumerTripManager
иConsumerTripOptions
.Подчищены имена некоторых методов. Пересмотрены или добавлены комментарии JavaDoc к методам для более четкой передачи смысла.
Улучшена обработка ошибок.
Настройка стиля
Устаревшие устаревшие оболочки
-
MarkerStyleOptions
иPolylineStyleOptions
устарели и замененыMarkerOptions
иPolylineOptions
, которые используются совместно с Maps SDK.
-
Мониторинг сбоев
Добавлено обнаружение и журналирование сбоев.
- Было сделано дополнение, позволяющее отказаться от этой функции. Это было сделано в рамках более масштабных усилий по мониторингу сбоев в масштабах всего региона.
Изменения аутентификации
- Удалите ненужные методы из интерфейсов аутентификации.
- Удален параметр
ServiceType
.
- Удален параметр
v0.9.28 (18 мая 2021 г.)
Изменения API
- Обновлены все методы
ConsumerTripCallback
для использованияTripInfo
в качестве параметра. - Добавлен
ConsumerTrip.isRefreshing()
, который указывает, активно лиConsumerTrip
обновляет себя свежей информацией о поездке из Fleet Engine. - Добавлен
ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
. - Добавлен
ConsumerTripCallback.onTripRemainingRouteUpdated()
. - Замените типы возвращаемых данных Guava (
ImmutableSet
,ImmutableList
) эквивалентными классамиjava.util
. Изменения имени пакета:
- 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
Изменения реализации
- Исправлено состояние гонки, из-за которого SDK мог аварийно завершить работу из-за взаимодействия с картой до того, как она была готова.
- SDK больше не содержит незашифрованную копию
io.grpc
. - Исправлена ошибка с мерцанием полилиний трафика на некоторых устройствах. Сегменты трафика теперь будут иметь закругленные концы.
v0.9.15 (7 октября 2020 г.)
Изменения API
- В этом выпуске представлены полилинии с учетом трафика . - Добавлены
TripInfo.getActiveRouteTraffic()
иTripInfo.getRemainingRouteTraffic()
.- Добавлены
ConsumerTripCallback.onTripActiveRouteTrafficUpdated()
иConsumerTripCallback.onTripRemainingRouteTrafficUpdated()
чтобы указать, когда изменился трафик. - Добавлены
PolylineStyleOptions
для настройки трафика (setTrafficEnabled()
,setTrafficColorNoData()
,setTrafficColorNormal()
,setTrafficColorSlow()
,setTrafficColorTrafficJam()
). - Открытый
PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
. - Добавлен
TripWaypoint.getTrafficData()
. - Добавлен тип данных
TrafficData
. - Добавлен
ConsumerController.hideAllSessions()
.ConsumerController.showSession()
больше не принимает значение null в качестве аргумента.
- Добавлены
v0.9.9 (15 июля 2020 г.)
Изменения API
- Это серьезное изменение, которое представляет модульную архитектуру с более четкой взаимосвязью между уровнем только данных (например,
ConsumerTripManager
) и уровнем пользовательского интерфейса (например,JourneySharingSession
). Информацию о переходе на новую архитектуру см. в Руководстве по миграции на модульность . — ОбъектConsumerTrip
теперь получается изConsumerTripManager.getTrip()
.-
ConsumerTrip.unregisterCallback
был переименован вConsumerTrip.unregisterTripCallback
. -
ConsumerTrip.isCallbackRegistered
переименован вConsumerTrip.isTripCallbackRegistered
. - Добавлены
ConsumerTrip.setConsumerTripOptions()
иConsumerTrip.getConsumerTripOptions()
. - Удален
ConsumerTrip.setAutoRefreshInterval()
.
-
- Удалены API, не связанные с обменом данными о поездках.
- Удалена карта плотности транспорта.
- Убрано состояние предварительного просмотра поездки.
- Убрано состояние выбора пикапа.
- Убрано состояние выбора выпадающего списка.
- Удалены следующие типы маркеров:
SELECTED_PICKUP_POINT
,SUGGESTED_PICKUP_POINT
,HIGHLIGHTED_PICKUP_POINT
иSELECTED_DROPOFF_POINT
.
-
OnConsumerMarkerClickCallback
иConsumerMapReadyCallback
изменены с интерфейсов на абстрактные классы. - Добавлены
ConsumerController.getCameraUpdate()
,ConsumerController.isAutoCameraEnabled()
иConsumerController.enableAutoCamera()
. - Удалены пользовательский FAB и связанные с ним методы (
ConsumerController.isMyLocationFabEnabled
иConsumerController.setMyLocationFabEnabled
).
Изменения реализации
-
ConsumerTripCallback
, независимо от того, зарегистрирован ли он сLifecycleOwner
или без него, больше не отменяет автоматическую регистрацию вTripStatus.COMPLETE
илиTripStatus.CANCELED
. - AutoCamera теперь включена по умолчанию и никогда не включается и не отключается автоматически. Ранее AutoCamera автоматически повторно включалась в
TripStatus.ARRIVED_AT_PICKUP
и отключалась, когда пользователь взаимодействовал с картой во время совместного использования поездки. - Следующие улучшения были внесены в анимацию транспортных средств для совместного использования:
- Анимация совместного путешествия теперь учитывает ситуацию, когда транспортное средство может законно вернуться по уже пройденному маршруту.
- Транспортное средство теперь будет анимироваться по прямой линии вместо интерполяции маршрута между точками, когда алгоритмически это будет определено как подходящее.
- Разрешения
FINE_LOCATION
больше не требуются.
Другие изменения
- Обновлены следующие версии зависимостей:
- 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 марта 2020 г.)
Изменения API
- Добавлены
TripInfo.getVehicleId()
,TripInfo.getNumberOfPassengers()
,TripInfo.getIntermediateDestinationIndex()
,TripInfo.getTripActiveRoute()
иTripInfo.getTripRemainingRoute()
. - Добавлен класс
options
, используемый во время инициализацииConsumerApi
, который позволяет динамически устанавливать адресFleetEngine
. Если API не вызывается со значениемFleetEngine
, он пытается получить его из манифеста Android или возвращается к значению по умолчанию.
Улучшения
- Полилиния маршрута не отображается, если статус поездки —
ARRIVED_AT_PICKUP
. - Улучшено отслеживание транспортных средств вне маршрута (требуется DriverSDK 1.15):
- Отслеживание транспортных средств не привязывает транспортное средство к маршруту, когда транспортное средство проезжает мимо точки посадки.
- Отслеживание транспортных средств позволяет отображать транспортное средство вне дороги; например, на не нанесенных на карту парковках.
- Значок транспортного средства теперь обновляется, когда пункт назначения водителя не совпадает с пунктом назначения в Fleet Engine.
v0.8.6 (16 декабря 2019 г.)
Изменения API
Добавлен
TripInfo.getVehicleLocation()
.ConsumerMapView
больше не является окончательным.
Изменения реализации
- Оставшееся расстояние активного участка теперь рассчитывается с использованием расстояния сервера (сообщенное водителем + статический маршрут, если применимо) вместо локальной привязки. Это изменение дает более точные значения оставшегося расстояния.
Другие изменения
Требуются новые зависимости. Подробности смотрите в файле .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
Добавлены журналы задержки запроса на поездку.
Добавлены журналы ошибок реагирования на поездки.
Примечания
- Начиная с версии 0.8.1 Consumer SDK для Android поставляется в виде сжатого zip-архива. Информацию о том, как его отменить, см. в разделе Jetifier: обратный режим .
v0.8.1 (13 сентября 2019 г.)
Новые возможности
Поддержка ConsumerMapView .
Артефакты ODRD теперь поставляются в репозитории maven вместо zip-файла .aar. Дополнительные сведения см. в разделе Добавление потребительского SDK в ваше приложение .
Изменения API
Добавлен
ConsumerController.disableAutoCamera()
как функция, противоположнаяcenterMapForState()
.VehicleLocation.getUpdateTime()
теперь возвращает значение Long, которое представляет метку времени (в миллисекундах).Упрощен интерфейс
AuthTokenFactory
, чтобы предоставить единый метод для генерации токенов.AuthTokenFactory
изменен с интерфейса на абстрактный класс, чтобы обеспечить обратную совместимость с Java7. Это изменение обратно совместимо, но старые методы генерации токенов одной службы устарели и в конечном итоге будут удалены.
Изменения реализации
Ресурсы теперь центрируются по центру значков, устраняя смещение теней.
setState
вJOURNEY_SHARING onStartTripMonitoring()
вместо ожидания статуса отслеживаемой поездки.Всегда возвращает данные для первого обновления данных о поездке, даже если данные о поездке не синхронизированы.
В качестве зависимости добавлены Android Map Utils.
Исправления ошибок
- Исправлен некорректный синтаксис экспорта proguard для grpc Keep.
v0.7.0 (7 августа 2019 г.)
Новые возможности
- Поддержка нескольких пунктов назначения для совместного использования путешествий.
Изменения API
Новые методы для
ConsumerTripCallback
.-
onTripIntermediateDestinationsUpdated()
. -
onTripETAToNextTripWaypointUpdated()
.
-
Новые методы
ConsumerController
.-
getIntermediateDestinations()
. -
setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
.
-
Новые
TripStatuses
.-
TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION
. -
TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION
.
-
Новые геттеры
TripWaypoint
.-
getETAMillis()
. -
getDistanceMeters()
.
-
Добавлен класс
TripInfo
.- Вы можете получить
TripInfo
для активной поездки с помощьюConsumerTripManager.getActiveTripInfo()
.
- Вы можете получить
Добавлен
WaypointType.INTERMEDIATE_DESTINATION
.Добавлен
MarkerType.TRIP_INTERMEDIATE_DESTINATION
.Создан
ConsumerMapState.JOURNEY_SHARING
из объединенныхConsumerMapStates
ENROUTE_TO_PICKUP
,ARRIVED_AT_PICKUP
,ENROUTE_TO_DROPOFF
иCOMPLETE
.StateChangeCallbacks
обновлены.Добавлен
onStateJourneySharing()
.Удалены
onStateWaitingForPickup()
,onStateDriverArrived()
,onStateEnroute()
иonStateEndofTrip()
.
Исправления ошибок
Исправлена ошибка, из-за которой маршрут не обрезался до местоположения транспортного средства, когда мониторинг поездки начинался в середине активной поездки (а не в начале маршрута).
Исправлена ошибка, из-за которой обратные вызовы поездки не вызывались для прослушивателей, зарегистрированных в Tripmanager, после того, как TripManager уже получил данные о поездке.
Масштаб камеры теперь включает только активный маршрут и следующую путевую точку поездки (путевую точку, принадлежащую поездке). Даже если оставшаяся нога видна, зум никогда не включит ее. Раньше точка высадки включалась в масштабирование, когда транспортное средство либо направлялось к месту выдачи, либо прибывало к месту выдачи. Это уже не так.
Улучшения
Заполните нулевую оставшуюся путевую точку данными водителя (оставшийся список путевых точек возвращается из
ConsumerTripCallback.onTripRemainingWaypointsUpdated
иTripInfo.getRemainingWaypoints()
.Обновите ETA всех оставшихся путевых точек, когда изменится ETA до первой путевой точки в списке.
Принудительно повторно включите автокамеру только тогда, когда водитель подъедет к месту получения. Раньше автокамера сбрасывалась во включенное состояние при каждом изменении состояния поездки. Автокамера по-прежнему включена по умолчанию. Autocamera не включится повторно, если будет установлена новая активная поездка без нового вызова
startTripMonitoring()
.
v0.6.1 (26 июня 2019 г.)
Новые возможности
- Поддержка Carpool для совместного путешествия.
Изменения API
ConsumerController.getConsumerMapStyle()
теперь возвращаетConsumerMapStyle
а неTask<ConsumerMapStyle>
.Добавлен
PolylineStyle.setZIndex()
.
Исправления ошибок
Анимация маршрута теперь происходит только тогда, когда сегмент маршрута синхронизирован, что улучшает взаимодействие с пользователем.
Исправлено «мерцание» автомобиля во время интерполяции анимации, когда обновления местоположения водителя расположены близко друг к другу.
Исправлена ошибка, из-за которой транспортное средство стартовало в начале маршрута, а не в самом обновленном месте, когда мониторинг поездки начинался в середине активной поездки.
Отображение полилинии активного маршрута над оставшимся маршрутом, когда они перекрываются.
Улучшения
- Теперь откройте класс gRPC
Status
с помощью незапутанных методов.
v0.5.1.01 (17 мая 2019 г.)
Новые возможности
- Постоянная поддержка Journey Sharing.
Изменения API
- Новый класс
ConsumerController
.
Тип полилинии
Старое значение | Новое значение |
---|---|
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 |
ПотребительПоездкаОбратный вызов
Старое значение | Новое значение |
---|---|
onTripRouteUpdated | onTripActiveRouteUpdated |
onTripRemainingDistanceUpdated | onTripActiveRouteRemainingDistanceUpdated |
onTripRemainingWaypointsUpdated() |
ПотребительКонтроллер
- Теперь вы можете устанавливать обратные вызовы для состояний, не входя в состояние.
Метод | Перезвонить |
---|---|
startPickupSelection | setPickupSelectionCallback |
startDropoffSelection | setDropoffSelectionCallback |
startTripPreview | setTripPreviewSelectionCallback |
-
ConsumerController.setLanguage(String languageCode)
позволяет вам установить язык, используемый в вызовах FleetEngine (например, для описаний точек выдачи).
Улучшения
- Состояние выбора выбора теперь имеет перетаскиваемую булавку.
- Удалена анимация камеры в состоянии
INITIALIZE
. -
ManagedChannelBuilder
заменен наAndroidChannelBuilder
.
В этом разделе содержатся примечания к выпуску Consumer SDK для Android.
2.3.0 (2 августа 2024 г.)
Изменения API
Добавьте поддержку стилей облачных карт , которая позволит вам создавать персонализированные дорожные карты для ваших пользователей без необходимости обновлять код ваших приложений каждый раз, когда вы меняете стиль карты. Дополнительную информацию см. в разделе Оформление карты с помощью стилей облачных карт .
Добавьте метод
getServerTimeMillis()
вVehicleLocation
, чтобы определить время получения обновления местоположения Fleet Engine.
2.2.0 (7 мая 2024 г.)
Изменения API
- Добавлен API поддержки для интеграции Jetpack Compose. Это экспериментальная функция. Для получения подробной информации об интеграции с Jetpack Compose обратитесь к своему представителю.
2.1.0 (17 января 2024 г.)
Исправления ошибок
- Устраняет сбой, возникающий, когда SDK инициализируется более одного раза в течение жизненного цикла приложения.
Изменения API
- Представляет метод для получения экземпляра
GoogleMap
, созданного SDK (ConsumerGoogleMap.getGoogleMap()
). - Представляет API для получения экземпляров
Marker
, созданных SDK для представления транспортного средства (ConsumerController.getConsumerMarker()
). - Представляет API для получения клиентских прогнозируемых обновлений времени и расстояния во время совместного использования путешествий (
ProjectedRouteEta
).
1.99.2 (3 ноября 2023 г.)
Устраняет сбой, возникающий при инициализации SDK из удаленного процесса, отдельного от приложения.
Устраняет сбой, возникающий при выполнении анимации камеры, когда для заполнения недостаточно вертикального или горизонтального пространства. Это происходит только в последней версии рендерера карт.
Исправлена ошибка, из-за которой первый этап маршрута «Впереди назад» обрезался, когда второй этап проходит по той же дороге.
Проблемы
-
ConsumerApi.initialize()
выдает исключение, если он вызывается, когда экземпляр API уже существует. Чтобы обойти эту проблему, сначала вызовитеConsumerApi.getInstance()
и оцените возвращеннуюTask
, чтобы определить, существует ли уже экземпляр API.
2.0.0 (15 сентября 2023 г.)
Объявление: критические изменения
Минимальные требования к уровню API изменены с 21 на 23.
Обновлены требования к версии Maps SDK с версии 17.0.0 до версии 18.1.0.
Минимальные требования к версии стандартной библиотеки Kotlin обновлены с версии 1.6.10 до версии 1.9.0.
Обновите версии зависимостей сервисов Google Play.
Минимальные требования к версии базовой библиотеки play-services обновлены с версии 18.0.1 до версии 18.2.0.
Минимальные требования к версии библиотеки play-services-base обновлены с версии 18.0.0 до версии 18.2.0.
Минимальные требования к версии библиотеки play-services-location обновлены с версии 17.0.0 до версии 21.0.1.
Минимальные требования к версии библиотеки play-services-tasks обновлены с версии 18.0.1 до версии 18.0.2.
Добавляет библиотеку androidx.room:room-runtime с минимальным требованием к версии v2.5.2.
Обновите следующие версии зависимостей
Минимальные требования к версии библиотеки android-maps-utils обновлены с версии 0.4.2 до версии 3.5.2.
Минимальные требования к версии com.google.android.datatransport:transport-backend-cct обновлены с версии 3.0.0 до версии 3.1.9.
Минимальные требования к версии com.google.android.datatransport:transport-runtime обновлены с версии 3.0.1 до версии 3.1.9.
Минимальные требования к версии androidx.lifecycle:lifecycle-extensions обновлены с версии 2.0.0 до версии 2.2.0.
Минимальные требования к версии androidx.lifecycle:lifecycle-common-java8 обновлены с версии 2.0.0 до версии 2.6.1.
Минимальные требования к версии androidx.appcompat:appcompat обновлены с v1.0.0 до v1.6.1.
Минимальные требования к версии androidx.fragment:fragment обновлены с v1.0.0 до v1.6.1.
Удаляет следующие ранее устаревшие API:
ConsumerTrip
,ConsumerTripCallback
,ConsumerTripManager
,ConsumerTripOptions
. На смену им пришлиTripModel
,TripModelCallback
,TripModelManager
иTripModelOptions
.Приложения, использующие Consumer SDK, теперь должны иметь
targetSdkVersion
API 31 или более поздней версии,compileSdkVersion
API 33 или более поздней версии.Приложения, использующие Consumer SDK, теперь должны включать поддержку библиотеки Java 8. См. https://developer.android.com/studio/write/java8-support для получения инструкций по обновлению.
Приложения, использующие Proguard или Dexguard, должны перейти на R8. См. https://developer.android.com/build/shrink-code для получения дополнительной информации.
Приложения, использующие Consumer SDK, должны включать обессеривание. Инструкции см. на странице https://developer.android.com/studio/write/java8-support#library-desugaring.
Метод
ConsumerApi.initialize()
теперь генерирует исключение, если он вызывается, когда уже создан экземпляр API.Task
, возвращаемаяConsumerApi.getInstance()
должна использоваться для определения наличия заранее созданного экземпляра API.
Объявление: прекращение поддержки API
Устаревшие классы аннотаций
Trip.TripStatus
иTrip.TripType
, вместо них добавляются классы аннотацийTripInfo.TripStatus
иTripInfo.TripType
.В рамках этого изменения
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)
устарел, а вместо него добавленTripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status)
.В рамках этого изменения
TripInfo#getTripStatus()
устарел, вместо него добавленTripInfo#getCurrentTripStatus()
.В рамках этого изменения
TripInfo#getTripType()
устарел, вместо него добавленTripInfo#getCurrentTripType()
.
Устаревший класс
Trip
.
Другие изменения и исправления ошибок
Поддерживает запрос последней версии средства визуализации Maps SDK. Подробности см. в разделе «Новый рендерер карт» .
Обеспечивает поддержку диапазона Maps SDK версий от v18.1.0 (включительно) до v19.0.0 (эксклюзивно).
Исправляет ошибку «превышен срок» для внутренней связи между SDK и серверной частью Google.
Устранена проблема с рендерингом для экрана небольшого размера и режима «картинка в картинке».
Руководство по миграции
1.99.1 (31 августа 2023 г.)
Исправления ошибок
Устраняет сбой, возникающий при уничтожении активности или фрагмента хоста SDK.
Устраняет сбой, возникающий, когда размеры MapView равны 0 (высота или ширина).
Исправлен сбой, возникающий при проецировании местоположения автомобиля на полилинию маршрута.
Улучшения
- Предотвращает сбой SDK, когда ведущее приложение загружено неопубликовано, а визуальные ресурсы по умолчанию отсутствуют.
1.99.0 (22 июня 2023 г.)
Исправления ошибок
Устранена проблема с рендерингом на экранах небольшого размера и в режиме «картинка в картинке».
Устраняет мерцание автомобиля во время совместного путешествия.
1.2.1 (7 июня 2023 г.)
Исправления ошибок
- Исправлена ошибка, из-за которой автомобиль мерцал во время совместного путешествия.
1.2.0 (21 ноября 2022 г.)
Исправления ошибок
- Исправлена ошибка, из-за которой в обратном вызове
onTripActiveRouteTrafficUpdated
сообщался пустой трафик.
Новые возможности
- «Полилинии с учетом трафика» теперь общедоступны.
1.1.2 (27 октября 2022 г.)
Исправления ошибок
- Устранена ошибка, приводившая к исчезновению полилинии маршрута после запуска
JourneySharingSession
более одного раза дляTripModel
.
Объявление: прекращение поддержки Android 5 (25 июля 2022 г.)
Для нашей версии SDK v1.1.1 мы предоставляем дополнительный год поддержки приложений, работающих на Android 5, для уровней API 21 и 22.
Что это значит:
Потребительский SDK, работающий в ваших приложениях Android, будет поддерживать как минимум Android 5 (уровень API 21) до 30 июня 2023 года.
После 30 июня 2023 г. мы будем поддерживать только Android API уровня 23 и выше. Другими словами, после этой даты мы прекратим поддержку Android API уровней 21 и 22 во всех версиях SDK. Это означает, что ошибки, связанные с Android 21 или 22, в любой версии SDK (включая 4.x) не будут исправлены, и мы не гарантируем корректную работу SDK.
v1.1.1 (25 июля 2022 г.)
Изменение зависимости
- Понижает минимальный поддерживаемый уровень Android API до 21.
v1.1.0 (28 апреля 2022 г.)
- Внутренние улучшения.
v1.0.19 (17 марта 2022 г.)
Исправления ошибок
- Исправлена утечка памяти в классе
ConsumerApi
.
v1.0.14 (30 ноября 2021 г.)
Минимальный поддерживаемый уровень Android API теперь равен 23.
Изменения API
Изменения в классах
ConsumerTrip
иConsumerTripManager
.- Исправлены имена некоторых методов, чтобы сделать их значение более понятным и привести в соответствие с платформой iOS.
Изменения в
ConsumerTripCallback
,ConsumerTrip
иTripInfo
.Изменены имена некоторых классов, чтобы обеспечить равенство с iOS. Введены
TripModel
,TirpModelManager
иTripModelOptions
, чтобы объявить устаревшимиConsumerTrip
,ConsumerTripManager
иConsumerTripOptions
.Подчищены имена некоторых методов. Пересмотрены или добавлены комментарии JavaDoc к методам для более четкой передачи смысла.
Улучшена обработка ошибок.
Настройка стиля
Устаревшие устаревшие оболочки
-
MarkerStyleOptions
иPolylineStyleOptions
устарели и замененыMarkerOptions
иPolylineOptions
, которые используются совместно с Maps SDK.
-
Мониторинг сбоев
Добавлено обнаружение и журналирование сбоев.
- Было сделано дополнение, позволяющее отказаться от этой функции. Это было сделано в рамках более масштабных усилий по мониторингу сбоев в масштабах всего региона.
Изменения аутентификации
- Удалите ненужные методы из интерфейсов аутентификации.
- Удален параметр
ServiceType
.
- Удален параметр
v0.9.28 (18 мая 2021 г.)
Изменения API
- Обновлены все методы
ConsumerTripCallback
для использованияTripInfo
в качестве параметра. - Добавлен
ConsumerTrip.isRefreshing()
, который указывает, активно лиConsumerTrip
обновляет себя свежей информацией о поездке из Fleet Engine. - Добавлен
ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
. - Добавлен
ConsumerTripCallback.onTripRemainingRouteUpdated()
. - Замените типы возвращаемых данных Guava (
ImmutableSet
,ImmutableList
) эквивалентными классамиjava.util
. Изменения имени пакета:
- 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
Изменения реализации
- Исправлена ситуация гонки, из-за которой SDK мог аварийно завершить работу из-за взаимодействия с картой до того, как она была готова.
- SDK больше не содержит незашифрованную копию
io.grpc
. - Исправлена ошибка с мерцанием полилиний трафика на некоторых устройствах. Сегменты трафика теперь будут иметь закругленные концы.
v0.9.15 (7 октября 2020 г.)
Изменения API
- В этом выпуске представлены полилинии с учетом трафика . - Добавлены
TripInfo.getActiveRouteTraffic()
иTripInfo.getRemainingRouteTraffic()
.- Добавлены
ConsumerTripCallback.onTripActiveRouteTrafficUpdated()
иConsumerTripCallback.onTripRemainingRouteTrafficUpdated()
чтобы указать, когда изменился трафик. - Добавлены
PolylineStyleOptions
для настройки трафика (setTrafficEnabled()
,setTrafficColorNoData()
,setTrafficColorNormal()
,setTrafficColorSlow()
,setTrafficColorTrafficJam()
). - Открытый
PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
. - Добавлен
TripWaypoint.getTrafficData()
. - Добавлен тип данных
TrafficData
. - Добавлен
ConsumerController.hideAllSessions()
.ConsumerController.showSession()
больше не принимает значение null в качестве аргумента.
- Добавлены
v0.9.9 (15 июля 2020 г.)
Изменения API
- Это серьезное изменение, которое представляет модульную архитектуру с более четкой взаимосвязью между уровнем только данных (например,
ConsumerTripManager
) и уровнем пользовательского интерфейса (например,JourneySharingSession
). Информацию о переходе на новую архитектуру см. в Руководстве по миграции на модульность . — ОбъектConsumerTrip
теперь получается изConsumerTripManager.getTrip()
.-
ConsumerTrip.unregisterCallback
был переименован вConsumerTrip.unregisterTripCallback
. -
ConsumerTrip.isCallbackRegistered
был переименован вConsumerTrip.isTripCallbackRegistered
. - Добавлены
ConsumerTrip.setConsumerTripOptions()
иConsumerTrip.getConsumerTripOptions()
. - Удален
ConsumerTrip.setAutoRefreshInterval()
.
-
- Удалены API, не связанные с обменом данными о поездках.
- Удалена карта плотности транспорта.
- Убрано состояние предварительного просмотра поездки.
- Убрано состояние выбора пикапа.
- Убрано состояние выбора выпадающего списка.
- Удалены следующие типы маркеров:
SELECTED_PICKUP_POINT
,SUGGESTED_PICKUP_POINT
,HIGHLIGHTED_PICKUP_POINT
иSELECTED_DROPOFF_POINT
.
-
OnConsumerMarkerClickCallback
иConsumerMapReadyCallback
изменены с интерфейсов на абстрактные классы. - Добавлены
ConsumerController.getCameraUpdate()
,ConsumerController.isAutoCameraEnabled()
иConsumerController.enableAutoCamera()
. - Удалены пользовательский FAB и связанные с ним методы (
ConsumerController.isMyLocationFabEnabled
иConsumerController.setMyLocationFabEnabled
).
Изменения реализации
-
ConsumerTripCallback
, независимо от того, зарегистрировано в или безLifecycleOwner
, больше не автоматически не зарегистрировано наTripStatus.COMPLETE
илиTripStatus.CANCELED
. - Autocamera теперь включена по умолчанию и никогда не восстанавливает и не отключает себя. Ранее Autocamera автоматически восстанавливается на
TripStatus.ARRIVED_AT_PICKUP
и отключил себя, когда пользователь взаимодействовал с картой во время обмена путешествиями. - Были сделаны следующие улучшения для обмена анимацией транспортных средств:
- Анимация по обмену путешествиями теперь обрабатывает ситуацию, когда транспортное средство может законно перейти обратно по уже прослеживаемому маршруту.
- Автомобиль теперь будет прямым анимированием вместо маршрута, интерполяющего между точками, когда он определяется алгоритмически подходящим.
- Разрешения
FINE_LOCATION
больше не требуются.
Другие изменения
- Обновлено следующие версии зависимостей:
- 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 марта 2020 г.)
API меняется
- Добавлен
TripInfo.getVehicleId()
,TripInfo.getNumberOfPassengers()
,TripInfo.getIntermediateDestinationIndex()
,TripInfo.getTripActiveRoute()
иTripInfo.getTripRemainingRoute()
. - Класс добавленных
options
, используемый во время инициализацииConsumerApi
, который позволяет динамически устанавливать адресFleetEngine
. Если API не вызывается со значениемFleetEngine
, он пытается извлечь его из манифеста Android, иначе возвращается к значению по умолчанию.
Улучшения
- Полилин маршрута не отображается, когда статус поездки
ARRIVED_AT_PICKUP
. - Отслеживание транспортных средств вне маршрута было улучшено (требует Driversdk 1.15):
- Отслеживание транспортных средств не прижимает автомобиль к маршруту, когда транспортное средство проезжает мимо точки сбора.
- Отслеживание транспортных средств позволяет отображать автомобиль с дороги; Например, на парковочных местах не нанесенных на карту.
- Значок транспортного средства теперь обновляется, когда направление водителя не соответствует пункту назначения в двигателе флота.
v0.8.6 (16 декабря 2019 г.)
API меняется
Добавлен
TripInfo.getVehicleLocation()
.ConsumerMapView
больше не является окончательным.
Изменения в реализации
- Остальное расстояние активной ноги в настоящее время рассчитывается с использованием дистанции сервера (Driver сообщил + статический маршрут, где это применимо) вместо локального щелчка. Это изменение дает более точные оставшиеся значения расстояния.
Другие изменения
Требуются новые зависимости. Смотрите файл .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
Добавлены журналы для задержки запроса на поездку.
Добавлены журналы для ошибок ответа на поездку.
Примечания
- Со времени версии 0.8.1, потребитель SDK для Android -судов в качестве реактивного zip Archive. Для получения информации о том, как его де-джитификация, см. Jetifier: обратный режим .
v0.8.1 (13 сентября 2019 г.)
Новые функции
Поддержка ConsumpermapView .
Артефакты ODRD теперь поставляются в хранилище Maven вместо Zipfile .aar. Для получения дополнительной информации см. Добавьте потребитель SDK в ваше приложение .
API меняется
Добавлен
ConsumerController.disableAutoCamera()
как противоположная функция сcenterMapForState()
.VehicleLocation.getUpdateTime()
теперь возвращает длинную, представляющую временную метку (в миллисекундах).Упростил интерфейс
AuthTokenFactory
, чтобы выявить один метод для генерации токенов. ИзмененоAuthTokenFactory
с интерфейса на абстрактный класс, чтобы обеспечить обратную совместимость в Java7. Это изменение является обратно совместимым, но старые методы генерации токенов с одним сервисом устарели и в конечном итоге будут удалены.
Изменения в реализации
Активы теперь сосредоточены на Icon Center, исключая смещение Shadow.
setState
TOJOURNEY_SHARING onStartTripMonitoring()
вместо ожидания контролируемого статуса поездки.Всегда возвращает данные для обновления данных первой поездки, даже когда данные о поездке не синхронизированы.
Добавлены Android Map Utils в качестве обеспеченной зависимости.
Исправления ошибок
- Исправлено сломанный синтаксис экспорта прогноза для GRPC Keep.
v0.7.0 (7 августа 2019 г.)
Новые функции
- Многократная поддержка для обмена путешествиями.
API меняется
Новые методы для
ConsumerTripCallback
.-
onTripIntermediateDestinationsUpdated()
. -
onTripETAToNextTripWaypointUpdated()
.
-
Новые методы
ConsumerController
.-
getIntermediateDestinations()
. -
setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
.
-
Новые
TripStatuses
.-
TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION
. -
TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION
.
-
Новые
TripWaypoint
Getters.-
getETAMillis()
. -
getDistanceMeters()
.
-
Добавлен класс
TripInfo
.- Вы можете получить
TripInfo
для активной поездки сConsumerTripManager.getActiveTripInfo()
.
- Вы можете получить
Добавлен
WaypointType.INTERMEDIATE_DESTINATION
.Добавлен
MarkerType.TRIP_INTERMEDIATE_DESTINATION
.Создан
ConsumerMapState.JOURNEY_SHARING
из объединенныхConsumerMapStates
ENROUTE_TO_PICKUP
,ARRIVED_AT_PICKUP
,ENROUTE_TO_DROPOFF
иCOMPLETE
.StateChangeCallbacks
обновляется.Добавлено
onStateJourneySharing()
.Удален
onStateWaitingForPickup()
,onStateDriverArrived()
,onStateEnroute()
иonStateEndofTrip()
.
Исправления ошибок
Исправлена ошибка, в которой маршрут не обрезается в местоположении транспортного средства, когда мониторинг поездки начинается в середине активной поездки (не в головке маршрута).
Исправлена ошибка, в которой обратные вызовы поездки не вызываются для слушателей, зарегистрированных в Tripmanager после того, как TripManager уже получил данные о поездке.
Увеличение камеры теперь включает в себя только активный маршрут и следующую путевую точку поездки (путешествующая точка, которая принадлежит поездке). Даже если оставшаяся нога видна, зум никогда не будет включать его. Ранее точка высадки была включена в зум, когда транспортное средство либо зарекомендовало себя, либо прибыли в пикап. Это больше не правда.
Улучшения
Заполнить оставшуюся вещество -точки нулевой точки с данными драйверов (оставшиеся список путевой точки возвращается от
ConsumerTripCallback.onTripRemainingWaypointsUpdated
иTripInfo.getRemainingWaypoints()
.Обновите все оставшиеся путевые точки ETA, когда ETA на первую путевую точку в списке изменяется.
Force повторно создает автокамеры только тогда, когда водитель прибывает в пикап. Ранее Autocamera сбрасывалась в допущение к каждому изменению состояния поездки. Autocamera по -прежнему включена по умолчанию. Autocamera не будет повторно, если новая активная поездка будет установлена без свежего вызова для
startTripMonitoring()
.
v0.6.1 (26 июня 2019 г.)
Новые функции
- Поддержка автомобиля для обмена путешествиями.
API меняется
ConsumerController.getConsumerMapStyle()
теперь возвращаетConsumerMapStyle
а неTask<ConsumerMapStyle>
.Добавлен
PolylineStyle.setZIndex()
.
Исправления ошибок
Анимация маршрута теперь происходит только тогда, когда сегмент маршрута синхронизируется, что приводит к улучшению пользовательского опыта.
Фиксированное транспортное средство «мерцание» во время интерполяции анимации, когда обновления местоположения водителя находятся близко друг к другу.
Исправлена ошибка, в которой автомобиль начинается с головки маршрута, а не в его наиболее обновленном месте, когда мониторинг поездки начинается в середине активной поездки.
Покажите активную маршруту полилинии над оставшимся маршрутом, когда они перекрываются.
Улучшения
- Теперь разоблачайте класс
Status
GRPC неопубликованными методами.
v0.5.1.01 (17 мая 2019 г.)
Новые функции
- Блюда к спине поддержки для обмена путешествиями.
API меняется
- Новый класс
ConsumerController
.
PolylineType
Старая стоимость | Новое значение |
---|---|
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
Старая стоимость | Новое значение |
---|---|
onTripRouteUpdated | onTripActiveRouteUpdated |
onTripRemainingDistanceUpdated | onTripActiveRouteRemainingDistanceUpdated |
onTripRemainingWaypointsUpdated() |
ConsumperController
- Теперь вы можете установить обратные вызовы для штатов, не въезжая в штат.
Метод | Перезвонить |
---|---|
startPickupSelection | setPickupSelectionCallback |
startDropoffSelection | setDropoffSelectionCallback |
startTripPreview | setTripPreviewSelectionCallback |
-
ConsumerController.setLanguage(String languageCode)
позволяет устанавливать язык, используемый в вызовах FleetEngine (например, для описаний точек пикапа).
Улучшения
- Состояние выбора высадки теперь имеет выталкиваемую булавку.
- Удаленная анимация камеры в состоянии
INITIALIZE
. - Заменил
ManagedChannelBuilder
сAndroidChannelBuilder
.
Этот раздел содержит заметки о выпуске для потребителя SDK для Android.
2.3.0 (2 августа 2024 г.)
API меняется
Добавьте облачную поддержку стиля карт , которая позволяет создавать индивидуальный опыт дорожной карты для ваших пользователей, не обновляя код ваших приложений каждый раз, когда вы вносите изменение в стиле карты. Для получения дополнительной информации см. Style the Map с облачным стилем карт .
Добавьте метод
getServerTimeMillis()
вVehicleLocation
, чтобы определить время, когда обновление местоположения было получено Fleet Engine.
2.2.0 (7 мая 2024 г.)
API меняется
- Добавлена поддержка API для JetPack Compose Integration. Это экспериментальная функция. Для получения подробной информации об интеграции с JetPack Compose, обратитесь к своему представителю.
2.1.0 (17 января 2024 г.)
Исправления ошибок
- Исправляет сбой, который возникает, когда SDK инициализируется более одного раза в жизненном цикле приложения.
API меняется
- Вводит метод для извлечения экземпляра
GoogleMap
, созданного SDK (ConsumerGoogleMap.getGoogleMap()
). - Представляет API для извлечения экземпляров
Marker
, созданных SDK, для представления транспортного средства (ConsumerController.getConsumerMarker()
). - Предводит API для получения прогнозируемых обновлений клиента для времени и расстояния во время обмена путешествиями (
ProjectedRouteEta
).
1.99.2 (3 ноября 2023 г.)
Исправляет сбой, который происходит, когда SDK инициализируется из удаленного процесса, отдельно от приложения.
Исправляет сбой, который происходит при выполнении анимации камеры, и для прокладки недостаточно вертикального или горизонтального пространства. Это происходит только на последних картах.
Исправляет ошибку, которая заставляет первое этап обратной поездки, когда вторая нога проходит по одной и той же дороге.
Проблемы
-
ConsumerApi.initialize()
вызывает исключение, если вы вызываете, когда экземпляр API уже существует. Чтобы обойти это, сначала вызовитеConsumerApi.getInstance()
и оцените возвращеннуюTask
, чтобы определить, существует ли уже экземпляр API.
2.0.0 (15 сентября 2023 г.)
Объявление: нарушение изменений
Минимальный требование уровня API обновляется с 21 до 23.
Обновления Maps SDK версии Требование от V17.0.0 до V18.1.0
Минимальное требование к стандартной библиотеке Kotlin обновляется с v1.6.10 до v1.9.0
Обновить версии зависимостей Google Play Services
Минимальное требование к версии библиотеки в библиотеке с минимальными играми обновляется от V18.0.1 до v18.2.0
Минимальная версия библиотеки с минимальными игроками обновляется от V18.0.0 до v18.2.0
Минимальное требование к версии библиотеки в библиотеке воспроизведения обновляется с v17.0.0 до v21.0.1
Минимальные задачи по вопросам игровых услуг.
Добавляет библиотеку Androidx.room: Room-Runtime с минимальными требованиями версии, установленной на v2.5.2
Обновить следующие версии зависимостей
Минимальные требования к версии библиотеки Android-Maps-Utils обновляются с V0.4.2 до v3.5.2
Минимальный com.google.android.datatransport: Требование версии Transport-Backend-CCT обновляется с v3.0.0 до v3.1.9
Минимальный com.google.android.datatransport: Требование к версии транспортировки обновляется с v3.0.1 до v3.1.9
Минимальный androidx.lifecycle: Жизненный цикл-экстенсионные требования версии обновляются с v2.0.0 до v2.2.0
Минимальный Androidx.lifecycle: Требование версии LifeCycle-Common-Java8 обновляется с v2.0.0 до v2.6.1
Минимальный androidx.appcompat: требование версии appcompat обновляется с v1.0.0 до v1.6.1
Минимальный Androidx.Fragment: требование к версии фрагментов обновляется с v1.0.0 до v1.6.1
Удаляет следующие ранее устаревшие API:
ConsumerTrip
,ConsumerTripCallback
,ConsumerTripManager
,ConsumerTripOptions
. Они были замененыTripModel
,TripModelCallback
,TripModelManager
иTripModelOptions
.Приложения, которые используют потребительский SDK, теперь должны иметь
targetSdkVersion
API 31 или более,compileSdkVersion
API 33 или более.Приложения, которые используют потребительский SDK, теперь должны включать поддержку библиотеки Java 8. См. https://developer.android.com/studio/write/java8-support для получения инструкций по обновлению.
Приложения, использующие Proguard или Dexguard, должны перейти на R8. См. https://developer.android.com/build/shrink-code для получения дополнительной информации.
Приложения, которые используют потребительский SDK, должны включать десугарирование. См. Https://developer.android.com/studio/write/java8-support#library-desugaring для инструкций.
Метод
ConsumerApi.initialize()
теперь бросает исключение, если его вызывают, когда уже создан экземпляр API.Task
, возвращаемаяConsumerApi.getInstance()
должна использоваться для определения того, есть ли экземпляр API, созданный заранее.
Объявление: аспекты API
Университет
Trip.TripStatus
иTrip.TripType
Annotation Class, добавляетTripInfo.TripStatus
иTripInfo.TripType
Annation Class, чтобы заменить их.В рамках этого изменения,
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)
иTripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status)
добавляется, чтобы заменить его.В рамках этого изменения
TripInfo#getTripStatus()
TripInfo#getCurrentTripStatus()
устарел, чтобы заменить его.В рамках этого изменения
TripInfo#getTripType()
TripInfo#getCurrentTripType()
, чтобы заменить его.
Обеспечивает занятия
Trip
.
Другие изменения и исправления ошибок
Поддерживает запрашивание последних карт рендеринга SDK. Смотрите новую карту рендерера для деталей.
Обеспечивает поддержку диапазона SDK от V18.1.0 (включительно) до V19.0.0 (эксклюзивные) версии.
Исправляет ошибку «крайний крайний срок» для внутренней связи между SDK и Backend Google.
Исправляет проблему рендеринга для экрана небольшого размера и режима изображения в картинке.
Миграционный гид
1.99.1 (31 августа 2023 г.)
Исправления ошибок
Исправляет сбой, который возникает, когда активность или фрагмент хоста SDK разрушаются.
Исправляет сбой, который происходит, когда размеры MapView составляют 0 (высота или ширина).
Исправляет сбой, который возникает при проецировании местоположения автомобиля на маршруте.
Улучшения
- Предотвращает сбое SDK, когда хост -приложение будет загружено, а визуальные ресурсы по умолчанию отсутствуют.
1,99,0 (22 июня 2023 г.)
Исправления ошибок
Исправляет проблему рендеринга для экрана небольшого размера и для режима изображения в картине.
Исправляет мерцающие транспортные средства во время обмена путешествиями.
1.2.1 (7 июня 2023 г.)
Исправления ошибок
- Исправляет ошибку, которая заставляет транспортное средство мерцать во время обмена путешествиями.
1.2.0 (21 ноября 2022 г.)
Исправления ошибок
- Исправляет ошибку, которая заставила сообщать о
onTripActiveRouteTrafficUpdated
вызове с пустым трафиком.
Новые функции
- «Полилички с дорожным планом» в настоящее время обычно доступны.
1.1.2 (27 октября 2022 г.)
Исправления ошибок
- Адреса ошибку, которая заставляет маршрут, полилиний исчезает после того, как
JourneySharingSession
запускается более одного раза дляTripModel
.
Объявление: поддержка замораживания Android 5 (25 июля 2022 г.)
Для нашей версии V1.1.1 SDK мы предоставляем дополнительный год поддержки приложений, работающих на Android 5, для обоих уровней API 21 и 22.
Что это значит:
Потребитель SDK, работающий в ваших приложениях Android, будет поддерживать минимальный Android 5 (уровень 21 API) до 30 июня 2023 года.
После 30 июня 2023 года мы будем поддерживать только уровни API API Android 23 и выше. Другими словами, мы перестанем поддерживать уровни API API Android 21 и 22 во всех версиях SDK после этой даты. Это означает, что ошибки, связанные с Android 21 или 22, в любой версии SDK (включая 4.x) не будут исправлены, и мы не гарантируем, что SDK будут вести себя правильно.
v1.1.1 (25 июля 2022 г.)
Изменение зависимости
- Понижает минимальный поддерживаемый API -уровень Android -поддерживаемого до 21.
v1.1.0 (28 апреля 2022 г.)
- Внутренние улучшения.
v1.0.19 (17 марта 2022 г.)
Исправления ошибок
- Исправлена утечка памяти в классе
ConsumerApi
.
v1.0.14 (30 ноября 2021 г.)
Минимальный уровень поддерживаемого API Api API сейчас составляет 23.
API меняется
Изменения в классах
ConsumerTrip
иConsumerTripManager
.- Очистил некоторые названия методов, чтобы сделать их значение более яснее, и чтобы соответствовать платформе iOS.
Изменения в
ConsumerTripCallback
,ConsumerTrip
иTripInfo
.Изменил некоторые имена классов, чтобы сформировать паритет с iOS. Представили
TripModel
,TirpModelManager
иTripModelOptions
для сниженияConsumerTrip
,ConsumerTripManager
иConsumerTripOptions
.Очистил некоторые названия методов. Пересмотренный или добавленный Javadoc Комментарии к методам передачи более четких значений.
Улучшенная обработка ошибок.
Настройка стиля
Устаревшие унаследованные обертки
-
MarkerStyleOptions
иPolylineStyleOptions
были устарели и замененыMarkerOptions
иPolylineOptions
, которые оба обмениваются с картами SDK.
-
Мониторинг сбоя
Добавлены обнаружение аварий и регистрацию.
- Было сделано дополнение, чтобы позволить вам отказаться от этой функциональности. Это было сделано в рамках более крупной гео-усилий для мониторинга сбоев.
Аутентификация изменяется
- Удалить ненужные методы из интерфейсов аутентификации.
- Удалили параметр
ServiceType
.
- Удалили параметр
v0.9.28 (18 мая 2021 г.)
API меняется
- Обновлено все методы
ConsumerTripCallback
, чтобы использоватьTripInfo
в качестве параметра. - Добавлен
ConsumerTrip.isRefreshing()
, что указывает, активно лиConsumerTrip
активно обновляется с информацией о свежем путешествии из двигателя флота. - Добавлен
ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
. - Добавлен
ConsumerTripCallback.onTripRemainingRouteUpdated()
. - Замените типы возврата гуавы (
ImmutableSet
,ImmutableList
) на эквивалентные классыjava.util
. Изменения имени пакета:
- 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
Изменения в реализации
- Исправлена условие гонки, где SDK может сбиться с взаимодействия с картой, прежде чем она будет готова.
- SDK больше не содержит неопущенную копию
io.grpc
. - Исправлена ошибка с мерцающим трафиком на определенных устройствах. Трафические сегменты теперь будут закругленными концами.
v0.9.15 (7 октября 2020 г.)
API меняется
- Этот релиз представляет полилинии, осведомленные о трафике . - Добавлена
TripInfo.getActiveRouteTraffic()
иTripInfo.getRemainingRouteTraffic()
.- Добавлен
ConsumerTripCallback.onTripActiveRouteTrafficUpdated()
иConsumerTripCallback.onTripRemainingRouteTrafficUpdated()
чтобы указать, когда изменился трафик. - Добавлены
PolylineStyleOptions
для настройки трафика (setTrafficEnabled()
,setTrafficColorNoData()
,setTrafficColorNormal()
,setTrafficColorSlow()
,setTrafficColorTrafficJam()
). - Появляемый
PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
. - Добавлен
TripWaypoint.getTrafficData()
. - Добавлен тип данных
TrafficData
. - Добавлен
ConsumerController.hideAllSessions()
.ConsumerController.showSession()
больше не принимает NULL в качестве аргумента.
- Добавлен
v0.9.9 (15 июля 2020 г.)
API меняется
- Это основное изменение, которое вводит модульную архитектуру с более четкой взаимосвязи между слоем только для данных (например,
ConsumerTripManager
) и уровнем пользовательского интерфейса (например,JourneySharingSession
). Для получения информации о миграции в новую архитектуру см. Руководство по миграции модуляризации . - ОбъектConsumerTrip
теперь получается отConsumerTripManager.getTrip()
.-
ConsumerTrip.unregisterCallback
был переименован вConsumerTrip.unregisterTripCallback
. -
ConsumerTrip.isCallbackRegistered
был переименован вConsumerTrip.isTripCallbackRegistered
. - Добавлен
ConsumerTrip.setConsumerTripOptions()
иConsumerTrip.getConsumerTripOptions()
. - Удален
ConsumerTrip.setAutoRefreshInterval()
.
-
- Удалили API-интерфейсы без Journey.
- Удаленная карта плотности автомобиля.
- Удаленное государство предварительного просмотра.
- Удаленное состояние выбора пикапа.
- Удаленное состояние отбора высадки.
- Удалили следующие типы маркеров:
SELECTED_PICKUP_POINT
,SUGGESTED_PICKUP_POINT
,HIGHLIGHTED_PICKUP_POINT
иSELECTED_DROPOFF_POINT
.
- Изменено
OnConsumerMarkerClickCallback
иConsumerMapReadyCallback
от интерфейсов на абстрактные классы. - Добавлен
ConsumerController.getCameraUpdate()
,ConsumerController.isAutoCameraEnabled()
иConsumerController.enableAutoCamera()
. - Удалил пользовательский FAB и связанные с ним методы (
ConsumerController.isMyLocationFabEnabled
иConsumerController.setMyLocationFabEnabled
).
Изменения в реализации
-
ConsumerTripCallback
, независимо от того, зарегистрировано в или безLifecycleOwner
, больше не автоматически не зарегистрировано наTripStatus.COMPLETE
илиTripStatus.CANCELED
. - Autocamera теперь включена по умолчанию и никогда не восстанавливает и не отключает себя. Ранее Autocamera автоматически восстанавливается на
TripStatus.ARRIVED_AT_PICKUP
и отключил себя, когда пользователь взаимодействовал с картой во время обмена путешествиями. - Были сделаны следующие улучшения для обмена анимацией транспортных средств:
- Анимация по обмену путешествиями теперь обрабатывает ситуацию, когда транспортное средство может законно перейти обратно по уже прослеживаемому маршруту.
- Автомобиль теперь будет прямым анимированием вместо маршрута, интерполяющего между точками, когда он определяется алгоритмически подходящим.
- Разрешения
FINE_LOCATION
больше не требуются.
Другие изменения
- Обновлено следующие версии зависимостей:
- 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 марта 2020 г.)
API меняется
- Добавлен
TripInfo.getVehicleId()
,TripInfo.getNumberOfPassengers()
,TripInfo.getIntermediateDestinationIndex()
,TripInfo.getTripActiveRoute()
иTripInfo.getTripRemainingRoute()
. - Класс добавленных
options
, используемый во время инициализацииConsumerApi
, который позволяет динамически устанавливать адресFleetEngine
. Если API не вызывается со значениемFleetEngine
, он пытается извлечь его из манифеста Android, иначе возвращается к значению по умолчанию.
Улучшения
- Полилин маршрута не отображается, когда статус поездки
ARRIVED_AT_PICKUP
. - Отслеживание транспортных средств вне маршрута было улучшено (требует Driversdk 1.15):
- Отслеживание транспортных средств не прижимает автомобиль к маршруту, когда транспортное средство проезжает мимо точки сбора.
- Отслеживание транспортных средств позволяет отображать автомобиль с дороги; Например, на парковочных местах не нанесенных на карту.
- Значок транспортного средства теперь обновляется, когда направление водителя не соответствует пункту назначения в двигателе флота.
v0.8.6 (16 декабря 2019 г.)
API меняется
Добавлен
TripInfo.getVehicleLocation()
.ConsumerMapView
больше не является окончательным.
Изменения в реализации
- Остальное расстояние активной ноги теперь рассчитывается с использованием дистанции сервера (драйвер сообщил + статический маршрут, где это применимо) вместо локального снимка. Это изменение дает более точные оставшиеся значения расстояния.
Другие изменения
Требуются новые зависимости. Смотрите файл .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
Добавлены журналы для задержки запроса на поездку.
Добавлены журналы для ошибок ответа на поездку.
Примечания
- Со времени версии 0.8.1, потребитель SDK для Android -судов в качестве реактивного zip Archive. Для получения информации о том, как его де-джитификация, см. Jetifier: обратный режим .
v0.8.1 (13 сентября 2019 г.)
Новые функции
Поддержка ConsumpermapView .
Артефакты ODRD теперь поставляются в хранилище Maven вместо Zipfile .aar. Для получения дополнительной информации см. Добавьте потребитель SDK в ваше приложение .
API меняется
Добавлен
ConsumerController.disableAutoCamera()
как противоположная функция сcenterMapForState()
.VehicleLocation.getUpdateTime()
теперь возвращает длинную, представляющую временную метку (в миллисекундах).Упростил интерфейс
AuthTokenFactory
, чтобы выявить один метод для генерации токенов. ИзмененоAuthTokenFactory
с интерфейса на абстрактный класс, чтобы обеспечить обратную совместимость в Java7. Это изменение является обратно совместимым, но старые методы генерации токенов с одним сервисом устарели и в конечном итоге будут удалены.
Изменения в реализации
Активы теперь сосредоточены на Icon Center, исключая смещение Shadow.
setState
TOJOURNEY_SHARING onStartTripMonitoring()
вместо ожидания контролируемого статуса поездки.Всегда возвращает данные для обновления данных первой поездки, даже когда данные о поездке не синхронизированы.
Добавлены Android Map Utils в качестве обеспеченной зависимости.
Исправления ошибок
- Исправлено сломанный синтаксис экспорта прогноза для GRPC Keep.
v0.7.0 (7 августа 2019 г.)
Новые функции
- Многократная поддержка для обмена путешествиями.
API меняется
Новые методы для
ConsumerTripCallback
.-
onTripIntermediateDestinationsUpdated()
. -
onTripETAToNextTripWaypointUpdated()
.
-
Новые методы
ConsumerController
.-
getIntermediateDestinations()
. -
setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
.
-
Новые
TripStatuses
.-
TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION
. -
TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION
.
-
Новые
TripWaypoint
Getters.-
getETAMillis()
. -
getDistanceMeters()
.
-
Добавлен класс
TripInfo
.- Вы можете получить
TripInfo
для активной поездки сConsumerTripManager.getActiveTripInfo()
.
- Вы можете получить
Добавлен
WaypointType.INTERMEDIATE_DESTINATION
.Добавлен
MarkerType.TRIP_INTERMEDIATE_DESTINATION
.Создан
ConsumerMapState.JOURNEY_SHARING
из объединенныхConsumerMapStates
ENROUTE_TO_PICKUP
,ARRIVED_AT_PICKUP
,ENROUTE_TO_DROPOFF
иCOMPLETE
.StateChangeCallbacks
обновляется.Добавлено
onStateJourneySharing()
.Удален
onStateWaitingForPickup()
,onStateDriverArrived()
,onStateEnroute()
иonStateEndofTrip()
.
Исправления ошибок
Исправлена ошибка, в которой маршрут не обрезается в местоположении транспортного средства, когда мониторинг поездки начинается в середине активной поездки (не в головке маршрута).
Исправлена ошибка, в которой обратные вызовы поездки не вызываются для слушателей, зарегистрированных в Tripmanager после того, как TripManager уже получил данные о поездке.
Увеличение камеры теперь включает в себя только активный маршрут и следующую путевую точку поездки (путешествующая точка, которая принадлежит поездке). Даже если оставшаяся нога видна, зум никогда не будет включать его. Ранее точка высадки была включена в зум, когда транспортное средство либо зарекомендовало себя, либо прибыли в пикап. Это больше не правда.
Улучшения
Заполнить оставшуюся вещество -точки нулевой точки с данными драйверов (оставшиеся список путевой точки возвращается от
ConsumerTripCallback.onTripRemainingWaypointsUpdated
иTripInfo.getRemainingWaypoints()
.Обновите все оставшиеся путевые точки ETA, когда ETA на первую путевую точку в списке изменяется.
Force повторно создает автокамеры только тогда, когда водитель прибывает в пикап. Ранее Autocamera сбрасывалась в допущение к каждому изменению состояния поездки. Autocamera по -прежнему включена по умолчанию. Autocamera не будет повторно, если новая активная поездка будет установлена без свежего вызова для
startTripMonitoring()
.
v0.6.1 (26 июня 2019 г.)
Новые функции
- Поддержка автомобиля для обмена путешествиями.
API меняется
ConsumerController.getConsumerMapStyle()
теперь возвращаетConsumerMapStyle
а неTask<ConsumerMapStyle>
.Добавлен
PolylineStyle.setZIndex()
.
Исправления ошибок
Анимация маршрута теперь происходит только тогда, когда сегмент маршрута синхронизируется, что приводит к улучшению пользовательского опыта.
Фиксированное транспортное средство «мерцание» во время интерполяции анимации, когда обновления местоположения водителя находятся близко друг к другу.
Исправлена ошибка, в которой автомобиль начинается с головки маршрута, а не в его наиболее обновленном месте, когда мониторинг поездки начинается в середине активной поездки.
Покажите активную маршруту полилинии над оставшимся маршрутом, когда они перекрываются.
Улучшения
- Теперь разоблачайте класс
Status
GRPC неопубликованными методами.
v0.5.1.01 (17 мая 2019 г.)
Новые функции
- Блюда к спине поддержки для обмена путешествиями.
API меняется
- Новый класс
ConsumerController
.
PolylineType
Старая стоимость | Новое значение |
---|---|
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
Старая стоимость | Новое значение |
---|---|
onTripRouteUpdated | onTripActiveRouteUpdated |
onTripRemainingDistanceUpdated | onTripActiveRouteRemainingDistanceUpdated |
onTripRemainingWaypointsUpdated() |
ConsumperController
- Теперь вы можете установить обратные вызовы для штатов, не въезжая в штат.
Метод | Перезвонить |
---|---|
startPickupSelection | setPickupSelectionCallback |
startDropoffSelection | setDropoffSelectionCallback |
startTripPreview | setTripPreviewSelectionCallback |
-
ConsumerController.setLanguage(String languageCode)
позволяет устанавливать язык, используемый в вызовах FleetEngine (например, для описаний точек пикапа).
Улучшения
- Состояние выбора высадки теперь имеет выталкиваемую булавку.
- Удаленная анимация камеры в состоянии
INITIALIZE
. - Заменил
ManagedChannelBuilder
сAndroidChannelBuilder
.
Этот раздел содержит заметки о выпуске для потребителя SDK для Android.
2.3.0 (2 августа 2024 г.)
API меняется
Добавьте облачную поддержку стиля карт , которая позволяет создавать индивидуальный опыт дорожной карты для ваших пользователей, не обновляя код ваших приложений каждый раз, когда вы вносите изменение в стиле карты. Для получения дополнительной информации см. Style the Map с облачным стилем карт .
Добавьте метод
getServerTimeMillis()
вVehicleLocation
, чтобы определить время, когда обновление местоположения было получено Fleet Engine.
2.2.0 (7 мая 2024 г.)
API меняется
- Добавлена поддержка API для JetPack Compose Integration. Это экспериментальная функция. Для получения подробной информации об интеграции с JetPack Compose, обратитесь к своему представителю.
2.1.0 (17 января 2024 г.)
Исправления ошибок
- Исправляет сбой, который возникает, когда SDK инициализируется более одного раза в жизненном цикле приложения.
API меняется
- Вводит метод для извлечения экземпляра
GoogleMap
, созданного SDK (ConsumerGoogleMap.getGoogleMap()
). - Представляет API для извлечения экземпляров
Marker
, созданных SDK, для представления транспортного средства (ConsumerController.getConsumerMarker()
). - Предводит API для получения прогнозируемых обновлений клиента для времени и расстояния во время обмена путешествиями (
ProjectedRouteEta
).
1.99.2 (3 ноября 2023 г.)
Исправляет сбой, который происходит, когда SDK инициализируется из удаленного процесса, отдельно от приложения.
Исправляет сбой, который происходит при выполнении анимации камеры, и для прокладки недостаточно вертикального или горизонтального пространства. Это происходит только на последних картах.
Исправляет ошибку, которая заставляет первое этап обратной поездки, когда вторая нога проходит по одной и той же дороге.
Проблемы
-
ConsumerApi.initialize()
вызывает исключение, если вы вызываете, когда экземпляр API уже существует. Чтобы обойти это, сначала вызовитеConsumerApi.getInstance()
и оцените возвращеннуюTask
, чтобы определить, существует ли уже экземпляр API.
2.0.0 (15 сентября 2023 г.)
Объявление: нарушение изменений
Минимальный требование уровня API обновляется с 21 до 23.
Обновления Maps SDK версии Требование от V17.0.0 до V18.1.0
Минимальное требование к стандартной библиотеке Kotlin обновляется с v1.6.10 до v1.9.0
Обновить версии зависимостей Google Play Services
Минимальное требование к версии библиотеки в библиотеке с минимальными играми обновляется от V18.0.1 до v18.2.0
Минимальная версия библиотеки с минимальными игроками обновляется от V18.0.0 до v18.2.0
Минимальное требование к версии библиотеки в библиотеке воспроизведения обновляется с v17.0.0 до v21.0.1
Минимальные задачи по вопросам игровых услуг.
Добавляет библиотеку Androidx.room: Room-Runtime с минимальными требованиями версии, установленной на v2.5.2
Обновить следующие версии зависимостей
Минимальные требования к версии библиотеки Android-Maps-Utils обновляются с V0.4.2 до v3.5.2
Минимальный com.google.android.datatransport: Требование версии Transport-Backend-CCT обновляется с v3.0.0 до v3.1.9
Минимальный com.google.android.datatransport: Требование к версии транспортировки обновляется с v3.0.1 до v3.1.9
Минимальный androidx.lifecycle: Жизненный цикл-экстенсионные требования версии обновляются с v2.0.0 до v2.2.0
Минимальный Androidx.lifecycle: Требование версии LifeCycle-Common-Java8 обновляется с v2.0.0 до v2.6.1
Минимальный androidx.appcompat: требование версии appcompat обновляется с v1.0.0 до v1.6.1
Минимальный Androidx.Fragment: требование к версии фрагментов обновляется с v1.0.0 до v1.6.1
Удаляет следующие ранее устаревшие API:
ConsumerTrip
,ConsumerTripCallback
,ConsumerTripManager
,ConsumerTripOptions
. Они были замененыTripModel
,TripModelCallback
,TripModelManager
иTripModelOptions
.Приложения, которые используют потребительский SDK, теперь должны иметь
targetSdkVersion
API 31 или более,compileSdkVersion
API 33 или более.Приложения, которые используют потребительский SDK, теперь должны включать поддержку библиотеки Java 8. См. https://developer.android.com/studio/write/java8-support для получения инструкций по обновлению.
Приложения, использующие Proguard или Dexguard, должны перейти на R8. См. https://developer.android.com/build/shrink-code для получения дополнительной информации.
Приложения, которые используют потребительский SDK, должны включать десугарирование. См. Https://developer.android.com/studio/write/java8-support#library-desugaring для инструкций.
Метод
ConsumerApi.initialize()
теперь бросает исключение, если его вызывают, когда уже создан экземпляр API.Task
, возвращаемаяConsumerApi.getInstance()
должна использоваться для определения того, есть ли экземпляр API, созданный заранее.
Объявление: аспекты API
Deprecates
Trip.TripStatus
andTrip.TripType
annotation classes, addsTripInfo.TripStatus
andTripInfo.TripType
annotation classes to replace them.As part of to this change,
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)
is deprecated andTripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status)
is added to replace it.As part of to this change,
TripInfo#getTripStatus()
is deprecated,TripInfo#getCurrentTripStatus()
is added to replace it.As part of to this change,
TripInfo#getTripType()
is deprecated,TripInfo#getCurrentTripType()
is added to replace it.
Deprecates
Trip
class.
Other Changes and bug fixes
Supports requesting the latest Maps SDK renderer. See New Map Renderer for details.
Provides Maps SDK range support from v18.1.0(inclusive) to v19.0.0(exclusive) versions.
Fixes "deadline exceeded" error for internal communications between SDK and Google backend.
Fixes rendering issue for small size screen and picture-in-picture mode.
Migration guide
1.99.1 (August 31, 2023)
Исправления ошибок
Fixes crash that occurs when the SDK host activity or fragment is destroyed.
Fixes crash that occurs when the dimensions of the MapView are 0 (either height or width).
Fixes crash that occurs when projecting the vehicle location on the route polyline.
Improvements
- Prevents the SDK from crashing when the host application is sideloaded, and the default visual resources aren't present.
1.99.0 (June 22, 2023)
Исправления ошибок
Fixes rendering issue for small-size screen and for picture-in-picture mode.
Fixes vehicle flickers during journey sharing.
1.2.1 (June 7, 2023)
Исправления ошибок
- Fixes a bug that causes the vehicle to flicker during journey sharing.
1.2.0 (November 21, 2022)
Исправления ошибок
- Fixes bug that caused empty traffic to be reported in the
onTripActiveRouteTrafficUpdated
callback.
New features
- "Traffic-aware polylines" is now generally available.
1.1.2 (October 27, 2022)
Исправления ошибок
- Addresses bug that cause the route polyline to disappear after a
JourneySharingSession
is started more than once for aTripModel
.
Announcement: Freezing support for Android 5 (July 25, 2022)
For our v1.1.1 SDK version, we are providing an additional year of support for apps running on Android 5, for both API levels 21 and 22.
What this means:
Consumer SDK running on your Android apps will support a minimum Android 5 (API level 21) until June 30, 2023.
After June 30, 2023, we will support only Android API levels 23 and above. In other words, we will stop supporting Android API levels 21 and 22 across all SDK versions after that date. This means that bugs related to Android 21 or 22 in any SDK version (including 4.x) will not be fixed, and we do not guarantee that the SDKs will behave correctly.
v1.1.1 (July 25, 2022)
Dependency change
- Downgrades the minimum supported Android API level to 21.
v1.1.0 (April 28, 2022)
- Internal improvements.
v1.0.19 (March 17, 2022)
Исправления ошибок
- Fixed a memory leak in the
ConsumerApi
class.
v1.0.14 (November 30, 2021)
The minimum supported Android API level is now 23.
API changes
Changes to the
ConsumerTrip
andConsumerTripManager
classes.- Cleaned up some method names to make their meaning clearer, and to align with the iOS platform.
Changes to
ConsumerTripCallback
,ConsumerTrip
andTripInfo
.Changed some class names to form parity with iOS. Introduced
TripModel
,TirpModelManager
, andTripModelOptions
to deprecateConsumerTrip
,ConsumerTripManager
andConsumerTripOptions
.Cleaned up some method names. Revised or added JavaDoc comments to methods to convey clearer meanings.
Improved error handling.
Styling customization
Deprecated legacy wrappers
-
MarkerStyleOptions
andPolylineStyleOptions
were deprecated and replaced byMarkerOptions
andPolylineOptions
, which are both shared with the Maps SDK.
-
Crash monitoring
Added crash detection and logging.
- An addition was made to allow you to opt out of this functionality. This was done as a part of a larger Geo-wide effort for crash monitoring.
Authentication changes
- Remove unnecessary methods from the Authentication interfaces.
- Removed the
ServiceType
parameter.
- Removed the
v0.9.28 (May 18, 2021)
API changes
- Updated all
ConsumerTripCallback
methods to useTripInfo
as the parameter. - Added
ConsumerTrip.isRefreshing()
, which indicates whetherConsumerTrip
is actively updating itself with fresh trip information from Fleet Engine. - Added
ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
. - Added
ConsumerTripCallback.onTripRemainingRouteUpdated()
. - Replace Guava return types (
ImmutableSet
,ImmutableList
) withjava.util
equivalent classes. Package name changes:
- 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
Implementation changes
- Fixed a race condition where the SDK could crash from interactions with the map before it is ready.
- The SDK no longer contains an unobfuscated copy of
io.grpc
. - Fixed a bug with flickering traffic polylines on certain devices. Traffic segments will now have rounded ends.
v0.9.15 (October 7, 2020)
API changes
- This release introduces Traffic Aware Polylines . - Added
TripInfo.getActiveRouteTraffic()
andTripInfo.getRemainingRouteTraffic()
.- Added
ConsumerTripCallback.onTripActiveRouteTrafficUpdated()
andConsumerTripCallback.onTripRemainingRouteTrafficUpdated()
to indicate when traffic has changed. - Added
PolylineStyleOptions
for traffic customization (setTrafficEnabled()
,setTrafficColorNoData()
,setTrafficColorNormal()
,setTrafficColorSlow()
,setTrafficColorTrafficJam()
). - Exposed
PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
. - Added
TripWaypoint.getTrafficData()
. - Added
TrafficData
data type. - Added
ConsumerController.hideAllSessions()
.ConsumerController.showSession()
no longer accepts null as an argument.
- Added
v0.9.9 (July 15, 2020)
API changes
- This is a major change that introduces a modularized architecture with a clearer relationship between the data-only layer (for example,
ConsumerTripManager
) and the user interface layer (for example,JourneySharingSession
). For information on migrating to the new architecture, see the Modularization Migration Guide . - TheConsumerTrip
object is now obtained fromConsumerTripManager.getTrip()
.-
ConsumerTrip.unregisterCallback
has been renamed toConsumerTrip.unregisterTripCallback
. -
ConsumerTrip.isCallbackRegistered
has been renamed toConsumerTrip.isTripCallbackRegistered
. - Added
ConsumerTrip.setConsumerTripOptions()
andConsumerTrip.getConsumerTripOptions()
. - Removed
ConsumerTrip.setAutoRefreshInterval()
.
-
- Removed non-journey sharing APIs.
- Removed vehicle density map.
- Removed trip preview state.
- Removed pickup selection state.
- Removed dropoff selection state.
- Removed the following marker types:
SELECTED_PICKUP_POINT
,SUGGESTED_PICKUP_POINT
,HIGHLIGHTED_PICKUP_POINT
, andSELECTED_DROPOFF_POINT
.
- Changed
OnConsumerMarkerClickCallback
andConsumerMapReadyCallback
from interfaces to abstract classes. - Added
ConsumerController.getCameraUpdate()
,ConsumerController.isAutoCameraEnabled()
, andConsumerController.enableAutoCamera()
. - Removed the custom FAB and its associated methods (
ConsumerController.isMyLocationFabEnabled
andConsumerController.setMyLocationFabEnabled
).
Implementation changes
- A
ConsumerTripCallback
, whether registered with or without aLifecycleOwner
, no longer automatically unregisters onTripStatus.COMPLETE
orTripStatus.CANCELED
. - AutoCamera is now enabled by default and never reenables or disables itself. Previously, AutoCamera automatically reenabled on
TripStatus.ARRIVED_AT_PICKUP
and disabled itself when the user interacted with the map during journey sharing. - The following improvements have been made to journey sharing vehicle animation:
- Journey sharing animation now handles the situation where a vehicle may legitimately travel back along an already-traversed route.
- The vehicle will now straight-line animate instead of route interpolating between points when it is determined algorithmically to be appropriate.
-
FINE_LOCATION
permissions are no longer required.
Другие изменения
- Updated the following dependency versions:
- 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 (March 23, 2020)
API changes
- Added
TripInfo.getVehicleId()
,TripInfo.getNumberOfPassengers()
,TripInfo.getIntermediateDestinationIndex()
,TripInfo.getTripActiveRoute()
, andTripInfo.getTripRemainingRoute()
. - Added
options
class used duringConsumerApi
initialization that lets theFleetEngine
address to be dynamically set. If the API is not called with aFleetEngine
value, it attempts to fetch it from the Android manifest or else falls back to the default value.
Improvements
- The route polyline is not displayed when the trip status is
ARRIVED_AT_PICKUP
. - Off-route vehicle tracking has been improved (requires DriverSDK 1.15):
- Vehicle tracking does not snap the vehicle to the route when the vehicle drives past the pickup point.
- Vehicle tracking enables displaying the vehicle off the road; for example, in unmapped parking lots.
- The vehicle icon now updates when the driver's destination does not match the destination in Fleet Engine.
v0.8.6 (December 16, 2019)
API changes
Added
TripInfo.getVehicleLocation()
.ConsumerMapView
is no longer final.
Implementation changes
- The active leg remaining distance is now calculated using server distance (driver reported + static route where applicable) instead of local snapping. This change produces more accurate remaining distance values.
Другие изменения
New dependencies required. See the .pom file for details.
- 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
Added logs for trip request latency.
Added logs for trip response errors.
Примечания
- Since version 0.8.1, the Consumer SDK for Android ships as a jetified zip archive. For information about how to de-jetify it, see Jetifier: Reverse mode .
v0.8.1 (September 13, 2019)
New features
Support for ConsumerMapView .
ODRD artifacts now ship in a maven repository instead of an .aar zipfile. For more information, see Add the Consumer SDK to your app .
API changes
Added
ConsumerController.disableAutoCamera()
as the opposite function tocenterMapForState()
.VehicleLocation.getUpdateTime()
now returns a Long that represents the timestamp (in milliseconds).Simplified the
AuthTokenFactory
interface to expose a single method for token generation. ChangedAuthTokenFactory
from an interface to an abstract class to enable backwards compatibility in Java7. This change is backward compatible, but the old methods for single service token generation are deprecated, and will eventually be removed.
Implementation changes
Assets now centered to icon center, eliminating shadow offset.
setState
toJOURNEY_SHARING onStartTripMonitoring()
instead of waiting for monitored Trip's status.Always returns data for first trip data update, even when trip data is out of sync.
Added Android Map Utils as a provided dependency.
Исправления ошибок
- Fixed broken proguard export syntax for grpc keep.
v0.7.0 (August 7, 2019)
New features
- Multidestination support for Journey Sharing.
API changes
New methods for
ConsumerTripCallback
.-
onTripIntermediateDestinationsUpdated()
. -
onTripETAToNextTripWaypointUpdated()
.
-
New
ConsumerController
methods.-
getIntermediateDestinations()
. -
setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
.
-
New
TripStatuses
.-
TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION
. -
TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION
.
-
New
TripWaypoint
getters.-
getETAMillis()
. -
getDistanceMeters()
.
-
Added the
TripInfo
class.- You can obtain
TripInfo
for the active trip withConsumerTripManager.getActiveTripInfo()
.
- You can obtain
Added
WaypointType.INTERMEDIATE_DESTINATION
.Added
MarkerType.TRIP_INTERMEDIATE_DESTINATION
.Created
ConsumerMapState.JOURNEY_SHARING
from mergedConsumerMapStates
ENROUTE_TO_PICKUP
,ARRIVED_AT_PICKUP
,ENROUTE_TO_DROPOFF
, andCOMPLETE
.StateChangeCallbacks
updated.Added
onStateJourneySharing()
.Removed
onStateWaitingForPickup()
,onStateDriverArrived()
,onStateEnroute()
, andonStateEndofTrip()
.
Исправления ошибок
Fixed a bug where route is not trimmed to the vehicle location when trip monitoring starts in the middle of an active trip (not at head of route).
Fixed a bug where trip callbacks are not invoked for listeners registered on the Tripmanager after the TripManager has already fetched trip data.
Camera zoom now includes only the active route and the next trip waypoint (waypoint that belongs to the trip). Even if the remaining leg is visible, the zoom will never include it. Previously, the drop-off point was included in the zoom when the vehicle was either enroute to pickup, or arrived at pickup. This is no longer true.
Improvements
Populate the zeroth remaining waypoint with Driver data (remaining waypoint list is returned from
ConsumerTripCallback.onTripRemainingWaypointsUpdated
andTripInfo.getRemainingWaypoints()
.Update all remaining waypoint ETAs when the ETA to the first waypoint in the list changes.
Force re-enable autocamera only when driver arrives at pickup. Previously, autocamera would reset to enabled for every trip state change. Autocamera is still enabled by default. Autocamera will not re-enable if a new active trip is set without a fresh call to
startTripMonitoring()
.
v0.6.1 (June 26, 2019)
New features
- Carpool support for journey sharing.
API changes
ConsumerController.getConsumerMapStyle()
now returnsConsumerMapStyle
rather thanTask<ConsumerMapStyle>
.Added
PolylineStyle.setZIndex()
.
Исправления ошибок
Route animation now happens only when the route segment is in sync, resulting in an improved user experience.
Fixed vehicle "flickering" during animation interpolation when driver location updates are close together.
Fixed a bug where the vehicle starts at the head of the route instead of at its most updated location when trip monitoring starts in the middle of an active trip.
Display the active route polyline above the remaining route when they overlap.
Improvements
- Now expose the gRPC
Status
class with unobfuscated methods.
v0.5.1.01 (May 17, 2019)
New features
- Back-to-back support for Journey Sharing.
API changes
- New
ConsumerController
class.
PolylineType
Old Value | New Value |
---|---|
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
Old Value | New Value |
---|---|
onTripRouteUpdated | onTripActiveRouteUpdated |
onTripRemainingDistanceUpdated | onTripActiveRouteRemainingDistanceUpdated |
onTripRemainingWaypointsUpdated() |
ConsumerController
- You can now set callbacks for states without entering the state.
Метод | Перезвонить |
---|---|
startPickupSelection | setPickupSelectionCallback |
startDropoffSelection | setDropoffSelectionCallback |
startTripPreview | setTripPreviewSelectionCallback |
-
ConsumerController.setLanguage(String languageCode)
allows you to set the language used in FleetEngine calls (for pickup point descriptions, for example).
Improvements
- Dropoff selection state now has a draggable pin.
- Removed camera animation in
INITIALIZE
state. - Replaced
ManagedChannelBuilder
withAndroidChannelBuilder
.