В этом разделе содержатся заметки о выпуске Driver SDK для Android.
Объявление: заморозка поддержки API уровней 23, 24 и 25
В соответствии с политикой поддержки версий мобильных ОС мы замораживаем поддержку Android 6 и 7 (API уровня 23, 24 и 25) в предстоящих основных версиях Driver SDK для Android.
Версии Driver SDK для Android, выпущенные в начале четвёртого квартала 2025 года, будут поддерживать как минимум Android 8 (API уровня 26). Более ранние версии SDK продолжат поддерживать Android 6 и 7.
Если в ваших зависимостях не указан номер версии, ваша IDE загрузит новейшую версию SDK, и новые сборки вашего приложения не будут поддерживать Android 6 и 7.
Укажите версию Driver SDK для Android в зависимостях сборки вашего приложения, чтобы контролировать, когда вы повышаете минимальную поддерживаемую ОС для новых версий вашего приложения.
v6.2.0 (18 июня 2025 г.)
Исправления ошибок
- Исправлен сбой
NullPointerException
при вызовеDriverApi.createInstance()
, когдаDriverStatusListener
не указан.
Изменения зависимостей и конфигурации
Начиная с версии 6.2.0 Driver SDK для Android, приложения должны быть обновлены до Kotlin 2.1.
Обновленный Navigation SDK поддерживает ряд версий, начиная с версии 6.1.0.
v6.1.0 (10 марта 2025 г.)
Исправления ошибок
- Улучшения внутреннего ведения журнала.
v5.99.1 (10 января 2025 г.)
Исправления ошибок
- Исправлена проблема, из-за которой драйверы получали ошибки gRPC с кодом «INTERNAL» и описанием «Паника! Это ошибка!» при первом запуске приложения после установки.
v6.0.0 (25 ноября 2024 г.)
Исправления ошибок
- Исправлена ошибка, из-за которой драйверы получали ошибки gRPC с кодом «INTERNAL» и описанием «Паника! Это ошибка!».
- Внутреннее улучшение, направленное на уменьшение количества ошибок подключения при обновлении местоположения, особенно при переключении устройств между сетями. Это будет реализовано постепенно (начиная с 0%) после интеграции релиза.
обновления API
- Удален устаревший интерфейс
StatusListener
.
Изменения зависимостей и конфигурации
- Удалить зависимость от
glide:cronet-integration
в POM.xml - Обновлены поддерживаемые Navigation SDK версии с диапазоном до версии 5.x.
- Начиная с версии 6.0.0 Driver SDK для Android, приложения должны быть обновлены до Kotlin 2.0.
- Теперь targetSdk имеет уровень API 34. Это требование для всех приложений, которые будут развернуты в Google Play Store с августа 2024 года. См. раздел Соответствие требованиям целевого уровня API Google Play .
v5.99.0 (20 сентября 2024 г.)
Исправления ошибок
- Исправлена проблема, из-за которой драйверы получали ошибки gRPC с кодом «INTERNAL» и описанием «Паника! Это ошибка!». Решение будет внедряться постепенно (начиная с 0%) после интеграции релиза.
- Внутреннее улучшение, направленное на уменьшение количества ошибок подключения при обновлении местоположения, особенно при переключении устройств между сетями. Это будет реализовано постепенно (начиная с 0%) после интеграции релиза.
Изменения зависимостей и конфигурации
- Удалить зависимость от
glide:cronet-integration
в POM.xml
v5.0.0 (12 сентября 2023 г.)
Изменения зависимостей и конфигурации
- Обновлен Navigation SDK до версии 5.x.
- Обновлен
minSdkVersion
до API 23. - Обновлена версия Kotlin до 1.9.0.
- Добавлена зависимость от Room . * Приложения, использующие Driver SDK, теперь должны иметь
targetSdkVersion
API 31 или выше. - Приложения, использующие Driver SDK, теперь должны включать поддержку библиотеки Java 8. Инструкции по обновлению см. на странице https://developer.android.com/studio/write/java8-support.
- Приложения, использующие Proguard или Dexguard, необходимо обновить до версии R8. Подробнее см. на странице https://developer.android.com/build/shrink-code.
- Приложения, использующие Driver SDK, должны включать дешугаринг. Инструкции см. на странице https://developer.android.com/studio/write/java8-support#library-desugaring.
Исправления ошибок
- Исправлена проблема с синхронизацией disableLocationTracking.
- Представлен новый интерфейс DriverStatusListener, который сообщает причину в обновлениях статуса исключения.
- Исправлена проблема, из-за которой водители оставались неподвижными (доступно начиная с версии 4.99.0).
v4.99.0 (9 августа 2023 г.)
- Поддержка ряда версий для зависимости NavSDK. ** Поддерживает версии от v4.5.0 до (но не включая) v5.0.0.
- Предотвратить автоматическое уменьшение ожидаемого времени прибытия (ETA) при остановке автомобиля. Это изменение внедряется постепенно в рамках эксперимента, поэтому не все приложения увидят его одновременно.
v4.5.0 (12 мая 2023 г.)
- Обновите зависимость Navigation SDK до версии 4.5. Обратите внимание, что идентификаторы групп и артефактов Navigation SDK изменились.
v4.4.3 (20 марта 2023 г.)
Изменение зависимости
- Обновите зависимость Navigation SDK до версии 4.4.1.
v4.4.2 (15 февраля 2023 г.)
Исправления ошибок
Уменьшено время восстановления сети при возникновении временных проблем с подключением в SDK. Это экспериментальное решение.
Отклоняйте запросы
UpdateVehicle
, содержащие только «сырое» местоположение.Исправление состояния гонки в ALPHA API «Обзор маршрута».
v4.4.1 (18 ноября 2022 г.)
Исправления ошибок
- Исправлена ошибка в логике загрузки трафика.
Дополнительные изменения
- Внутренние улучшения в заголовках запросов и отчетах о кодах состояния.
v4.4.0 (21 сентября 2022 г.)
Исправления ошибок
- Исправлена ошибка, из-за которой уведомление «Вождение с Google Картами» не удалялось, если экземпляр API не был очищен.
Изменение зависимости
- Обновите зависимость Navigation SDK до версии 4.2.2.
v4.3.0 (24 августа 2022 г.)
Внутренние улучшения.
Объявление: заморозка поддержки Android 5 (21 июля 2022 г.)
Для нашей последней версии SDK (v4.2.0) мы предоставляем дополнительный год поддержки для приложений, работающих на Android 5, для уровней API 21 и 22.
Что это означает:
- Navigation SDK и Driver 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.
Настоящее уведомление отменяет уведомление о заморозке поддержки Android 21 и 22 от 21 июня 2021 г. и уведомление о заморозке поддержки Android 23, 24 и 25 от 18 октября 2021 г.
v4.2.0 (8 июня 2022 г.)
Изменение зависимости
- Обновите зависимость Nav SDK до версии 4.1.3.
- Понижает минимальный поддерживаемый уровень API Android до 21.
v4.1.0 (28 апреля 2022 г.)
обновления API
Свойство
parentId
объектаTask
переименовано вtrackingId
. Старое свойство всё ещё существует, но устарело.
v4.0.0 (29 ноября 2021 г.)
Минимально поддерживаемый уровень API Android для этого выпуска — 23.
обновления API
В этом выпуске Driver SDK для Android обновлен и включает следующие изменения.
Изменение API VehicleStops
Объекты VehicleStop
теперь ссылаются на список объектов TaskInfo
вместо списка объектов Task
. Если вам требуется состояние Task, рекомендуется отслеживать его в коде приложения.
Добавлен новый класс:
TaskInfo
Заменена функция
getTasks
VehicleStop
на функциюgetTaskInfoList
.Функция
setTasks
VehicleStop.Builder
заменена на функциюsetTaskInfoList
.
Мониторинг сбоев
Добавлены мониторинг и отчётность о сбоях для повышения стабильности SDK. Эта функция включена по умолчанию, но её можно отключить, вызвав метод setAbnormalTerminationReportingEnabled()
и передав ему значение false
перед инициализацией SDK.
- Добавлена функция
setAbnormalTerminationReportingEnabled
вDriverApi
.
Асинхронный getRemainingVehicleStops
- Изменена функция
DeliveryVehicleReporter
getRemainingVehicleStops
так, чтобы она возвращала Future<List<VehicleStop>> вместо List<VehicleStop>.
Аутентификация
Удалены ненужные свойства из интерфейса AuthTokenContext
. ServiceType
устарел. Теперь вам нужно получать заявки только для включённых идентификатора транспортного средства и идентификатора задачи, а не полагаться на ServiceType
.
Удален
ServiceType
изAuthTokenContext
.Удален
getServiceType()
изAuthTokenContext
.Удален
setServiceType
изAuthTokenContext.Builder
.
18 октября 2021 г. — Заморозка поддержки API уровней 23, 24 и 25
Прочитайте объявление от 18 октября
В связи с изменениями во внутренних зависимостях Android API уровня 23, 24 и 25 (Android 6, 7.0 и 7.1) не будут поддерживаться в новых версиях Navigation и Driver SDK для Android, начиная с третьего квартала 2022 года.
Пакеты SDK навигации и драйверов для версий Android, выпущенные начиная с третьего квартала 2022 года, будут поддерживать только устройства, работающие под управлением Android API уровня не ниже 26.
Версии приложений, созданные с использованием навигационных и драйверных SDK для Android версии 4.x или ниже, продолжат работать на устройствах под управлением Android API уровня 25 и ниже.
v3.0.4 (28 июля 2021 г.)
Функции
В этом выпуске Driver SDK официально отделен от Navigation SDK. Подробности см. в руководстве по миграции .
обновления API
Добавлены следующие методы:
`RidesharingDriverApi.getDriverSdkVersion()`Стабильность и исправление ошибок
Сообщайте об ошибках PERMISSION_DENIED
вместо того, чтобы классифицировать их как ошибки подключения.
Объявление об отмене поддержки (21 июня 2021 г.)
В настоящем объявлении описывается прекращение поддержки Driver SDK для Android и Navigation SDK для Android с указанной выше даты. Данное объявление также было разослано в качестве обязательного сервисного объявления (MSA) затронутым клиентам.
Nav/Driver SDK для Android станет Navigation SDK для Android v3.x и Driver SDK для Android v3.x для Android (разделенные двоичные файлы)
Чтобы упростить интеграцию с клиентами и ускорить предоставление полезных функций, мы разделяем Navigation SDK для Android и Driver SDK для Android на два разных двоичных файла:
- Навигационный SDK для Android, который обеспечит функциональность навигации/маршрутизации для ваших водителей.
- Driver SDK для Android, который позволит вам использовать веб-сервисы Fleet Engine с отслеживанием состояния для отслеживания хода выполнения поездки или задачи, а также ее распределения.
Обратите внимание, что Driver SDK для Android имеет обязательную зависимость от Navigation SDK для Android для основных функций маршрутизации.
Какие изменения?
Основные изменения в версии 3:
- Два двоичных файла вместо одного.
- Более четкие определения пакетов для классов Driver SDK для Android.
- Navigation SDK для Android включает в себя Maps SDK для Android как часть пакета (начиная с Navigation SDK для Android v2).
- Это позволяет картам и навигационным функциям сосуществовать на одной карте (например, рисовать полилинии на NavigationView) и сокращает использование памяти, поскольку используется одна карта вместо двух.
- Navigation SDK для Android 3.0 не обладает полным набором функций Navigation SDK для Android, но версия 3.2 решит большинство проблем. Подробнее см. в разделе «Что и когда можно сделать?».
- Ведение журнала облегчит нам устранение неполадок, с которыми вы можете столкнуться.
В версии 3 также были удалены следующие методы, которые ранее были отмечены как устаревшие и для которых уже существует альтернативное решение:
- Следующие методы Nav/Driver SDK были объявлены устаревшими в версии 1.16, выпущенной 10 августа 2020 года, и удалены в версии 3.0:
-
Waypoint#fromLatLng(*)
-
Waypoint#fromPlaceId(*)
-
Navigator#startGuidance(resumeIntent)
-
NavigationApi#initForegroundServiceManager(*)
-
- Для полноты и ясности отметим, что ряд методов был удалён при переходе с версии 1 на версию 2. Большинство из них представляли собой объединение дублирующихся классов между Navigation SDK для Android и Maps SDK для Android. Чтобы лучше понять эти изменения, см. руководство по миграции .
Устаревание Driver SDK для Android и Navigation SDK для Android v1.x
Nav/Driver SDK v1 был выпущен в 2018 году, и поскольку скоро появятся версии v3, пришло время прекратить поддержку v1, чтобы избежать неустойчивости, связанной с поддержкой множества основных версий.
Время, сэкономленное за счет отсутствия необходимости поддержки этой дополнительной версии, позволит нам лучше поддерживать последнюю основную версию и создавать больше функций, важных для наших клиентов.
Таким образом, Nav/Driver SDK v1.x устарел и больше не будет поддерживаться после 21 июня 2022 года.
Пожалуйста, уделите немного времени и посмотрите , как работают устаревшие версии SDK .
Окончание поддержки Navigation and Driver SDK для Android 21 и 22
Прочитать отозванное объявление
Предстоящие версии Navigation SDK для Android и Driver SDK для Android версии 4.0 будут поддерживать как минимум [Android 6.0 (уровень API 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. Текущая минимальная поддерживаемая версия — Android 5.0 (уровень API 21). Мы планируем выпуск версии 4.0 в четвёртом квартале 2021 года. Это означает:
- Версии приложений, созданные на основе версий ниже 4.x, продолжат работать на устройствах Android 21 и 22. Ваши приложения для водителей, интегрированные с нашими текущими SDK, продолжат работать на устройствах под управлением Android 21 и более поздних версий. Всё как и раньше.
- Версии приложений, созданные с использованием Driver SDK для Android и Navigation SDK для Android версии 4.x (выпуск запланирован на четвёртый квартал 2021 года, возможны изменения) и более поздних версий, не будут установлены на устройствах под управлением Android 21 и 22. Версия 4.x будет работать на устройствах Android 6.0 (уровень API 23 и выше), поэтому версии вашего приложения, созданные с использованием будущей версии 4.x, смогут получить только водители с устройствами Android 23 и выше. Повторюсь, это означает, что как наши изменения, связанные с SDK, так и любые внесенные вами изменения в приложение не будут доступны водителям с устройствами под управлением Android 21 и 22.
Версии Navigation SDK для Android v3 и Driver SDK для Android v3, до которых вам следует обновиться, а также время их доступности приведены в следующей таблице.
Какие функции платформы Driver вы используете? | Используете ли вы эти возможности ? | Тогда первые доступные версии, на которые вам следует обновиться, это... | Ожидаемая доступность (возможны изменения) | Миграционные ссылки |
---|---|---|---|---|
Только навигация (методы NavSDK) | Нет | NavSDK v3.0.1 | Сейчас | Гид |
Да | NavSDK v3.5 (прогнозируется) | Сентябрь 2021 г. | ||
Навигация и отслеживание двигателей автопарка (методы NavSDK и DriverSDK) | Нет | Nav SDK v3.0 и Driver SDK v3.0 | Руководство по миграции драйвера v3.0 доступно при выпуске | |
Да | NavSDK v3.x и DriverSDK v3.0 |
Чтобы продолжить использование удаленных методов, вы можете остаться на версии 1.x, но без ожидания поддержки или обслуживания после 21 июня 2022 года (см. следующий раздел).
Мы рекомендуем вам перейти на версию 3.x. Это означает:
* Последний выпуск v1.x состоится в четвертом квартале 2021 года (и, таким образом, с этого момента v1 будет «заморожена в плане функций»).
* Этот последний релиз может быть исправлен в течение 6 месяцев после этого, до 21 июня 2022 года. После этого времени мы не сможем отвечать на запросы об ошибках или функциях для v1.x.
Пожалуйста, уделите немного времени ознакомлению со следующей таблицей и [руководством по миграции](/maps/documentation/navigation-sdk-android/v2/migration), чтобы лучше ориентироваться в этих изменениях.
Что я могу сделать к какому сроку?
Если вы сейчас находитесь на... | Используете ли вы эти возможности ? | Обновить сейчас | Обновление в сентябре 2021 г. | Миграционные ссылки |
---|---|---|---|---|
v1.x ( не используя FleetEngine.java / функциональность драйвера) | Нет | NavSDK v3.0 | Гид | |
Да | Нет вариантов | NavSDK 3.x | ||
v1.x (используя FleetEngine.java / функционал драйвера) | Нет | Нет вариантов | NavSDK 3.x + DriverSDK 3.x | Руководство, приведенное выше, а также руководство по миграции Driver v3.0 будут доступны на момент выпуска. |
Да |
Мы рекомендуем вам уведомить водителей с устройствами на базе Android 21 и 22 о необходимости обновления до более новой версии Android (минимум Android 6.0) перед интеграцией Driver SDK для Android и Navigation SDK для Android версии v4.x и выше в ваше приложение для водителей.
v1.15.3 (9 октября 2020 г.)
обновления API
- Driver SDK теперь подписывается на Navigation SDK для получения обновлений дорожной ситуации, которые отправляются в Fleet Engine API.
Стабильность и исправление ошибок
- Исправлен сбой во время выполнения gRPC.
версия 1.15.2
Функции
Добавлена возможность остановки постоянных уведомлений. Если отправка данных о местоположении остановлена в экземпляре Fleet Engine, навигация останавливается в Navigator
, все прослушиватели навигации отменяются, а NavigationFragment
или NavigationView
приостанавливаются.
Стабильность и исправление ошибок
- Исправлена ошибка, приводившая к возникновению исключения при очистке экземпляра Fleet Engine.
v1.15.1 (12 мая 2020 г.)
Функции
Предварительный анализ данных версии 1.15.0 выявил значительные улучшения в стабильном определении местоположения (сокращение количества «зависших» местоположений). Это исправление позволяет продолжить работу над улучшенным определением местоположения. Проблема ANR не была связана с этими улучшениями.
Стабильность и исправление ошибок
- Исправлена ошибка, из-за которой в потребительском приложении иногда отображалась прямая линия в начале маршрута.
- Исправлена ошибка, которая могла приводить к возникновению ошибки ANR при отправке данных о местоположении через SDK. Это было связано с улучшениями
onArrival()
, которые были подвержены конфликтам блокировок. Нам удалось достоверно воспроизвести ошибки ANR в некоторых случаях и убедиться, что исправления решили проблему. Изменённое тестовое приложение для создания ошибок ANR работало восемь часов без ошибок ANR после исправления.
v1.15.0 (23 марта 2019 г.)
Функции
- Введен статус навигационного сопровождения при начале движения, отклонении от маршрута и прибытии для улучшения отслеживания местоположения транспортного средства.
- Добавлена возможность продолжать получать привязанные к дорогам местоположения независимо от состояния навигации.
- Добавлена дополнительная информация о местах, ранее отмеченных на карте, например, точность.
Стабильность и исправление ошибок
- Увеличено значение minSdkVersion для navsdk до 19.
- Исправлена ошибка, из-за которой названия точек маршрута по широте и долготе не учитывались при сбое обратного геокодирования на стороне сервера.
Выпуск v1.14.2 (2 февраля 2019 г.)
Функции
- Предотвращает отправку DriverSDK значений 0,0 местоположений в Fleet Engine (улучшенный обмен данными о поездках и распределение входных данных о местоположении).
- Дополнительная регистрация для решения проблем с определением местоположения «застрял» и сокращения количества откатов при совместном использовании поездок.
- Игнорируйте повторные вызовы
setLocationReportingInterval()
, если интервал не изменяется. - Обновлена документация Javadocs для метода
setReportingInterval()
с целью предотвращения повторного вызова этого метода с высокой частотой относительно используемых интервалов. - Повышена надежность определения местоположения API 29.
версия 1.13.0
Стабильность и исправление ошибок
- Добавляет зависимость от okhttp, которую клиенты должны будут добавить в свои сборки Gradle.
v1.11.7 (18 октября 2019 г.)
Стабильность и исправление ошибок
- Обновления местоположения теперь продолжаются после срабатывания
onArrival()
для заданного пункта назначения. - Уведомление по умолчанию (постоянная строка в режиме свободной навигации) соответствует цветовой схеме, установленной для навигационных уведомлений. Подробнее см. в разделе Общие постоянные уведомления .
- Устранена проблема, из-за которой отложенное событие обновления местоположения могло приводить к ложному обновлению местоположения, вызывая появление артефактов, таких как прямая линия в начале маршрута.
v1.11.6 (4 октября 2019 г.)
обновления API
- Внесен ряд изменений, обеспечивающих быстрое возобновление обновления местоположения Driver SDK после сбоя сети. После восстановления сетевого подключения обновление местоположения возобновляется при следующем запланированном обновлении.
Стабильность и исправление ошибок
-
setVehicleState()
теперь возвращает результат немедленно. Обновление FleetEngine теперь происходит в фоновом потоке. Решает проблему «Приложение не отвечает» (ANR). - Исправлена ошибка, из-за которой маршруты совместных поездок отображались как прямая линия при использовании старых версий Consumer SDK. Гарантируется, что Driver SDK не будет добавлять в маршрут отдельные промежуточные точки.