В этом разделе содержатся заметки о выпуске Driver SDK для Android.
Объявление: заморозка поддержки API уровней 23, 24 и 25
В соответствии с политикой поддержки версий мобильных ОС мы замораживаем поддержку Android 6 и 7 (API Level 23, 24 и 25) в будущих основных версиях Driver SDK для Android.
Версии Driver SDK для Android, выпущенные в начале четвертого квартала 2025 года, будут поддерживать как минимум Android 8 (API Level 26). Более ранние версии SDK продолжат поддерживать Android 6 и 7.
Если в ваших зависимостях не указан номер версии, ваша IDE загрузит новейшую версию SDK, и новые сборки вашего приложения не будут поддерживать Android 6 и 7.
Укажите версию Driver SDK для Android в зависимостях сборки вашего приложения, чтобы контролировать, когда вы повышаете минимальную поддерживаемую ОС для новых версий вашего приложения.
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 года. См. раздел Соответствие требованиям Google Play к целевому уровню API .
v5.99.0 (20 сентября 2024 г.)
Исправления ошибок
- Исправлена проблема, при которой драйверы получали ошибки gRPC с кодом "INTERNAL" и описанием "Panic! This is a bug!". Это будет внедряться постепенно (начиная с 0%) после интеграции релиза.
- Внутреннее улучшение для уменьшения ошибок соединения обновления местоположения, особенно когда устройство переключает сети. Это будет внедряться постепенно (начиная с 0%) после интеграции релиза.
Изменения зависимостей и конфигурации
- Удалить зависимость от
glide:cronet-integration
в POM.xml
v5.0.0 (12 сентября 2023 г.)
Изменения зависимостей и конфигурации
- Обновлен навигационный 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 Level 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 для основных функций маршрутизации.
Какие изменения?
Основные изменения в v3:
- Два двоичных файла вместо одного.
- Более четкие определения пакетов для классов Driver SDK для Android.
- Navigation SDK для Android включает в себя Maps SDK для Android как часть пакета (начиная с Navigation SDK для Android v2).
- Это позволяет картам и навигационным функциям сосуществовать на одной карте (например, рисовать полилинии на NavigationView) и сокращает использование памяти, поскольку используется одна карта вместо двух.
- Navigation SDK для Android 3.0 не имеет полного соответствия функциям Navigation SDK для Android, но v3.2 решит большинство проблем здесь. Подробнее см. в разделе Что я могу сделать и когда?.
- Ведение журнала облегчит нам устранение неполадок, с которыми вы можете столкнуться.
В версии 3 также были удалены следующие методы, которые ранее были отмечены как устаревшие и для которых уже существует альтернативное решение:
- Следующие методы Nav/Driver SDK были объявлены устаревшими в версии 1.16, выпущенной 10 августа 2020 года, и удалены в версии 3.0:
-
Waypoint#fromLatLng(*)
-
Waypoint#fromPlaceId(*)
-
Navigator#startGuidance(resumeIntent)
-
NavigationApi#initForegroundServiceManager(*)
-
- Для полноты и ясности обратите внимание, что ряд методов были удалены при переходе с v1 на v2. Большинство из них были объединены дублирующими классами между 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
Прочитать отозванное объявление
Предстоящая версия 4.0 Navigation SDK для Android и Driver SDK для Android будет поддерживать как минимум [Android 6.0 (уровень API 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. Текущая минимальная поддерживаемая версия — Android 5.0 (уровень API 21). Мы прогнозируем выпуск версии 4.0 в четвертом квартале 2021 года. Это означает:
- Версии приложений, созданные с использованием версий ниже v4.x, продолжат работать на устройствах Android 21 и 22. Ваши приложения драйверов, в которые интегрированы наши текущие SDK, продолжат работать на устройствах под управлением Android 21+. Это то же самое, что и раньше.
- Версии приложений, созданные с помощью Driver SDK для Android и Navigation SDK для Android v4.x (выпуск запланирован на четвертый квартал 2021 года, возможны изменения) и более поздние версии, не смогут быть установлены на устройствах под управлением Android 21 и 22. v4.x будет работать на минимальной версии Android 6.0 (уровень API 23), поэтому версии вашего приложения, созданные с помощью предстоящей v4.x, смогут получить только водители с устройствами под управлением Android 23+. Повторим, это означает, что как наши изменения, связанные с SDK, так и любые внесенные вами изменения в приложение не будут доступны водителям с устройствами под управлением Android 21 и 22.
Версии Navigation SDK для Android v3 и Driver SDK для Android v3, до которых вам следует обновиться, а также время их доступности приведены в следующей таблице.
Какие функции платформы Driver вы используете? | Используете ли вы эти возможности ? | Тогда первые доступные версии, до которых вам следует обновиться, это... | Ожидаемая доступность (возможны изменения) | Ссылки на миграцию |
---|---|---|---|---|
Только навигация (методы NavSDK) | Нет | Навигационный SDK 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 года (см. следующий раздел).
Мы рекомендуем вам перейти на v3.x. Это означает:
* Последний выпуск v1.x состоится в четвертом квартале 2021 года (и, таким образом, с этого момента v1 будет «заморожена в плане функций»).
* Этот последний выпуск может быть исправлен в течение 6 месяцев после этого, до 21 июня 2022 года. После этого времени мы не сможем отвечать на запросы об ошибках или функциях для v1.x.
Пожалуйста, уделите немного времени изучению следующей таблицы и [руководства по миграции](/maps/documentation/navigation-sdk-android/v2/migration), чтобы вам было легче ориентироваться в этих изменениях.
Что я могу сделать к какому сроку?
Если вы сейчас находитесь на... | Используете ли вы эти возможности ? | Чтобы обновить сейчас | Для обновления в сентябре 2021 г. | Ссылки на миграцию |
---|---|---|---|---|
v1.x ( не используя FleetEngine.java / функциональность драйвера) | Нет | Навигационный SDK v3.0 | Гид | |
Да | Нет выбора | Навигационный SDK 3.x | ||
v1.x (используя FleetEngine.java / функциональность драйвера) | Нет | Нет выбора | Навигационный SDK 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()
для указанного пункта назначения. - Уведомление по умолчанию (постоянная строка в режиме Free Nav) соответствует цветовой схеме, установленной для навигационных уведомлений. Для получения дополнительной информации см. Общие постоянные уведомления .
- Устранена проблема, из-за которой отложенное обновление местоположения могло приводить к ложному обновлению местоположения, вызывая появление артефактов, таких как прямая линия в начале маршрута.
v1.11.6 (4 октября 2019 г.)
API-обновления
- Введен ряд изменений, которые гарантируют, что Driver SDK быстро возобновляет обновления местоположения после сбоя сети. После восстановления сетевого соединения обновления местоположения начинаются снова при следующем запланированном обновлении местоположения.
Стабильность и исправление ошибок
-
setVehicleState()
теперь возвращает немедленно. Обновление FleetEngine теперь происходит в фоновом потоке. Решает проблему Application Not Responding (ANR). - Исправлена ошибка, из-за которой маршруты совместного использования поездок отображались как прямая линия при использовании старых версий Consumer SDK. Гарантирует, что Driver SDK не добавит в маршрут одноразовые путевые точки.