Примечания к выпуску Consumer SDK для Android

В этом разделе содержатся примечания к выпуску Consumer SDK для Android.

Объявление: прекращение поддержки API уровней 23, 24 и 25

В соответствии с правилами поддержки версий мобильных ОС мы прекращаем поддержку Android 6 и 7 (уровни API 23, 24 и 25) в будущих основных версиях Consumer SDK для Android.

Версии Consumer SDK для Android, выпущенные начиная с четвертого квартала 2025 года, будут поддерживать Android версии не ниже 8 (уровень API 26). Более ранние версии SDK продолжат поддерживать Android 6 и 7.

Если в зависимостях не указан номер версии, IDE загрузит новейшую версию SDK, и новые сборки вашего приложения не будут поддерживать Android 6 и 7.

Укажите версию Consumer SDK для Android в зависимостях сборки приложения, чтобы контролировать, когда вы повышаете минимальную поддерживаемую ОС для новых версий приложения.

5.0.0 (9 ноября 2026 г.)

  • Добавлена поддержка полного режима R8. Правила ProGuard для SDK теперь сохраняют классы поставщиков gRPC, загружаемые с помощью рефлексии, поэтому приложения, в которых включен полный режим R8, больше не завершают работу при запуске с ошибкой Unable to load OkHttpChannelProvider.

Исправлены ошибки.

  • Исправлена ошибка, из-за которой попытки установить защищенное подключение к Fleet Engine могли оставаться в состоянии ожидания неопределенное время, если промежуточный прокси-сервер оператора связи зависал во время настройки подключения. Это препятствовало обновлению статуса поездки и отслеживанию транспортных средств в некоторых мобильных сетях. Теперь Consumer SDK принудительно применяет тайм-аут подключения и автоматически восстанавливает его при новом подключении.

Изменения в зависимостях и конфигурации

Начиная с версии 5.0.0 Consumer SDK для Android, действуют новые минимальные требования:

  • Минимальная поддерживаемая версия Android – 7.0 (уровень API 24).
  • Приложения должны быть обновлены до Kotlin 2.4.

Теперь SDK создается с помощью следующих инструментов:

  • Плагин Android Gradle обновлен до версии 9.2.0.
  • Gradle обновлен до версии 9.4.1.

4.1.0 (26 мая 2026 г.)

  • Внутренние улучшения: внутреннее хранилище данных перенесено в Jetpack DataStore.

Изменения в зависимостях и конфигурации

  • Версия зависимости Kotlin обновлена до 2.3.0.
  • Плагин Android Gradle обновлен до версии 8.13.2.
  • Gradle обновлен до версии 8.13.
  • Библиотека Desugar обновлена до версии 2.1.5.
  • Версия Maps SDK повышена до 20.0.0, а также обновлены следующие зависимости 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
  • Добавлены зависимости Jetpack Datastore (androidx.datastore:datastore-core:1.2.0, androidx.datastore:datastore-guava:1.2.0).

4.0.0 (3 октября 2025 г.)

  • Внутренние улучшения.

3.2.0 (26 июня 2025 г.)

  • Улучшено ведение внутренних журналов.

Изменения в зависимостях и конфигурации

  • Начиная с версии 3.2.0 Consumer SDK для Android, приложения должны быть обновлены до Kotlin 2.1.

Исправлены ошибки.

  • Используйте длину ломаной линии вместо расстояния по воздуху для принятия решений о внутренней анимации.

3.1.0 (10 марта 2025 г.)

  • Улучшено ведение внутренних журналов.

3.0.0 (6 декабря 2024 г.)

Изменения в зависимостях и конфигурации

2.99.0 (25 ноября 2024 г.)

Исправлены ошибки.

  • Исправлена ошибка ANR, которая возникала, когда выполнение ConsumerApi.cleanUp() занимало слишком много времени. После интеграции выпуска он будет постепенно развертываться (начиная с 0 %).
  • Исправлена ошибка, из-за которой водители получали ошибки gRPC с кодом INTERNAL и сообщением Panic! Это ошибка!". После интеграции выпуска он будет постепенно развертываться (начиная с 0 %).

2.3.0 (2 августа 2024 г.)

Изменения в API

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 инициализировался из удаленного процесса, отдельного от приложения.

  • Исправлен сбой, который происходил при выполнении анимации камеры, когда для отступа не хватало места по вертикали или горизонтали. Это происходит только в последней версии средства отрисовки карт.

  • Исправлена ошибка, из-за которой первый этап поездки с возвращением обрезался, если второй этап проходил по той же дороге.

Проблемы

  • Если экземпляр API уже существует, ConsumerApi.initialize() выдает исключение. Чтобы обойти это ограничение, сначала вызовите 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-base изменена с 18.0.1 на 18.2.0.

    • Минимальная поддерживаемая версия библиотеки play-services-basement изменена с 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 с минимальной версией 2.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 изменена с 1.0.0 на 1.6.1.

    • Минимальная требуемая версия androidx.fragment:fragment изменена с 1.0.0 на 1.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 уже создан. Чтобы определить, был ли экземпляр API создан ранее, используйте значение Task, возвращаемое методом ConsumerApi.getInstance().

Объявление: прекращение поддержки 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 версий от 18.1.0 (включительно) до 19.0.0 (не включительно).

  • Исправлена ошибка "Срок истек" при внутреннем обмене данными между SDK и сервером Google.

  • Исправлена проблема с отрисовкой на маленьких экранах и в режиме "картинка в картинке".

Руководство по переходу

1.99.1 (31 августа 2023 г.)

Исправлены ошибки.

  • Исправлен сбой, который происходил при уничтожении объекта activity или фрагмента хоста 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 версии 1.1.1 мы продлеваем поддержку приложений, работающих на Android 5, на один год (для уровней API 21 и 22).

Это означает следующее:

  • Consumer SDK, работающий в ваших приложениях для Android, будет поддерживать Android 5 (уровень API 21) или более поздней версии до 30 июня 2023 года.

  • После 30 июня 2023 года мы будем поддерживать только уровни API Android 23 и выше. Другими словами, после этой даты мы прекратим поддержку Android с уровнями API 21 и 22 во всех версиях SDK. Это означает, что ошибки, связанные с Android 21 или 22, в любой версии SDK (включая 4.x) не будут исправлены, и мы не гарантируем, что SDK будут работать правильно.

Версия 1.1.1 (25 июля 2022 г.)

Изменение зависимости

  • Минимальный поддерживаемый уровень Android API понижен до 21.

Версия 1.1.0 (28 апреля 2022 г.)

  • Внутренние улучшения.

1.0.19 (17 марта 2022 г.)

Исправлены ошибки.

  • Устранена утечка памяти в классе ConsumerApi.

Версия 1.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.

Отслеживание сбоев

  • Добавлено обнаружение сбоев и ведение журнала.

    • Мы добавили возможность отказаться от этой функции. Это было сделано в рамках более масштабной работы по мониторингу сбоев в Geo.

Изменения в аутентификации

  • Удалите ненужные методы из интерфейсов аутентификации.
    • Удален параметр ServiceType.

Версия 0.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 в качестве аргумента.

Версия 0.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().
  • Удалена настраиваемая плавающая кнопка действия и связанные с ней методы (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

Версия 0.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.

Версия 0.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. Подробнее о том, как это сделать…

Версия 0.8.1 (13 сентября 2019 г.)

Новые функции

Изменения в API

  • Добавлена функция ConsumerController.disableAutoCamera(), противоположная функции centerMapForState().

  • Теперь VehicleLocation.getUpdateTime() возвращает значение Long, которое представляет временную метку в миллисекундах.

  • Упрощен интерфейс AuthTokenFactory, чтобы предоставить один метод для создания токенов. AuthTokenFactory теперь является не интерфейсом, а абстрактным классом, что обеспечивает обратную совместимость с Java 7. Это изменение обратно совместимо, но старые методы создания токенов для одного сервиса устарели и в конечном итоге будут удалены.

Изменения в реализации

  • Объекты теперь выравниваются по центру значка, что устраняет смещение тени.

  • setState на JOURNEY_SHARING onStartTripMonitoring(), не дожидаясь статуса отслеживаемой поездки.

  • Всегда возвращает данные для первого обновления данных о поездке, даже если данные о поездке не синхронизированы.

  • Добавлена библиотека Android Map Utils в качестве предоставляемой зависимости.

Исправлены ошибки.

  • Исправлен синтаксис экспорта proguard для grpc keep.

Версия 0.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()).

  • Обновлять расчетное время прибытия для всех остальных путевых точек, когда меняется расчетное время прибытия для первой точки в списке.

  • Принудительно включать автокамеру, только когда водитель прибывает в место посадки. Раньше автоматическая камера включалась при каждом изменении состояния поездки. Автокамера по-прежнему включена по умолчанию. Автокамера не включится повторно, если новая активная поездка будет задана без нового вызова startTripMonitoring().

Версия 0.6.1 (26 июня 2019 г.)

Новые функции

  • Поддержка совместных поездок.

Изменения в API

  • Теперь ConsumerController.getConsumerMapStyle() возвращает ConsumerMapStyle вместо Task<ConsumerMapStyle>.

  • Добавлена функция PolylineStyle.setZIndex().

Исправлены ошибки.

  • Анимация маршрута теперь воспроизводится только при синхронизации сегмента маршрута, что повышает удобство для пользователей.

  • Исправлено мерцание транспортного средства во время интерполяции анимации, когда уведомления о местоположении водителя происходят близко друг к другу.

  • Исправлена ошибка, из-за которой транспортное средство начинало движение в начале маршрута, а не в последнем обновленном местоположении, когда отслеживание поездки начиналось в середине активной поездки.

  • Показывать ломаную линию активного маршрута над оставшимся маршрутом, когда они перекрываются.

Описание

  • Теперь откройте класс gRPC Status с необфусцированными методами.

Версия 0.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()

ConsumerController

  • Теперь вы можете задавать обратные вызовы для состояний, не входя в них.
Метод Обратный звонок
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) позволяет задать язык, используемый в вызовах FleetEngine (например, для описания пунктов посадки).

Описание

  • В состоянии выбора места высадки теперь есть перетаскиваемый маркер.
  • Анимация камеры удалена в состоянии INITIALIZE.
  • Значение в ячейке ManagedChannelBuilder заменено на "AndroidChannelBuilder".