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

В этом разделе содержатся примечания к выпуску 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.0.0 (25 ноября 2024 г.)

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

  • Исправлена ​​проблема, из-за которой драйверы получали ошибки gRPC с кодом «ВНУТРЕННИЙ» и «Паника! Это ошибка!» описание.
  • Внутреннее улучшение для уменьшения ошибок подключения при обновлении местоположения, особенно когда устройство переключает сети. Это будет внедряться постепенно (начиная с 0%) после интеграции релиза.

Обновления API

  • Удален устаревший интерфейс StatusListener .

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

  • Удалите зависимость от glide:cronet-integration в POM.xml.
  • Обновлен навигационный 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 с кодом «ВНУТРЕННИЙ» и «Паника! Это ошибка!» описание. Это будет внедряться постепенно (начиная с 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.

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

  • Исправлена ​​ошибка синхронизации с отключениемLocationTracking.
  • Представлен новый интерфейс DriverStatusListener, который сообщает о причине в обновлениях статуса исключения.
  • Исправлена ​​проблема с неподвижными драйверами (доступно начиная с версии 4.99.0).

v4.99.0 (9 августа 2023 г.)

  • Поддержка ряда версий зависимости NavSDK. ** Поддерживает версии от 4.5.0 до (но не включая) версии 5.0.0.
  • Предотвращает самопроизвольное уменьшение ETA, когда автомобиль неподвижен. Это изменение внедряется постепенно в качестве эксперимента, поэтому не все приложения увидят это изменение одновременно.

v4.5.0 (12 мая 2023 г.)

  • Обновите зависимость Navigation SDK до версии 4.5. Обратите внимание, что идентификаторы групп и артефактов для Navigation SDK изменились.

v4.4.3 (20 марта 2023 г.)

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

  • Обновите зависимость навигационного SDK до версии 4.4.1.

v4.4.2 (15 февраля 2023 г.)

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

  • Уменьшите время восстановления сети, когда SDK обнаруживает временную проблему с подключением. Это экспериментальное исправление.

  • Отменить запросы UpdateVehicle , которые содержат только «необработанное» местоположение.

  • Исправьте состояние гонки в ALPHA API «Обзор маршрута».

v4.4.1 (18 ноября 2022 г.)

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

  • Исправлена ​​ошибка в логике загрузки трафика.

Дополнительные изменения

  • Внутренние улучшения в заголовках запросов и отчетах о кодах состояния.

v4.4.0 (21 сентября 2022 г.)

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

  • Исправлена ​​ошибка, из-за которой уведомление «Вождение с Google Maps» не удалялось, если экземпляр API не был очищен.

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

  • Обновите зависимость Navigation SDK до версии 4.2.2.

v4.3.0 (24 августа 2022 г.)

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

Объявление: прекращение поддержки Android 5 (21 июля 2022 г.)

Для нашей последней версии SDK (v4.2.0) мы предоставляем дополнительный год поддержки приложений, работающих на Android 5, для уровней API 21 и 22.

Что это значит:

  • SDK навигации и 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.
  • Понижает минимальный поддерживаемый уровень Android API до 21.

v4.1.0 (28 апреля 2022 г.)

Обновления API

  • Свойство parentId объекта Task переименовано в trackingId . Старое свойство все еще существует, но оно устарело.

v4.0.0 (29 ноября 2021 г.)

Минимальный поддерживаемый уровень Android API для этого выпуска — 23.

Обновления API

В этом выпуске Driver SDK для Android был обновлен со следующими изменениями.

Изменение API VehicleStops

Объекты VehicleStop теперь ссылаются на список объектов TaskInfo вместо объектов List of Task . Если вам нужно состояние Task, вам рекомендуется отслеживать его в коде вашего приложения.

  • Добавлен новый класс: TaskInfo

  • Заменена функция getTasks класса VehicleStop на функцию getTaskInfoList .

  • Заменена функция setTasks в VehicleStop.Builder на функцию setTaskInfoList .

Мониторинг сбоев

Для повышения стабильности SDK были добавлены мониторинг и отчеты о сбоях. Эта функция включена по умолчанию, но вы можете отключить ее, если вызовете setAbnormalTerminationReportingEnabled() и передадите ей значение false перед инициализацией SDK.

Асинхронный getRemainingVehicleStops

Аутентификация

Удалены ненужные свойства из интерфейса AuthTokenContext . ServiceType устарел. Теперь вам нужно получать заявки только для включенного идентификатора транспортного средства и идентификатора задачи, а не полагаться на ServiceType .

18 октября 2021 г. — прекращение поддержки API уровней 23, 24 и 25.

Читать объявление от 18 октября

В связи с изменениями в наших внутренних зависимостях уровни Android API 23, 24 и 25 (Android 6, 7.0 и 7.1) не будут поддерживаться в новых версиях 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) затронутым клиентам.

Чтобы упростить интеграцию клиентов и ускорить предоставление полезных функций, мы разделили Navigation SDK для Android и Driver SDK для Android на два разных двоичных файла:

  • Навигационный SDK для Android, который предоставит вашим водителям функции навигации и маршрутизации.
  • Driver SDK для Android, который позволит вам использовать веб-службы отслеживания состояния Fleet Engine для отслеживания хода и распределения поездок или задач.

Обратите внимание, что Driver SDK для Android обязательно зависит от Navigation SDK для Android для основных функций маршрутизации.

Каковы изменения?

Основные изменения в версии 3:

  • Два двоичных файла вместо одного.
  • Более четкие определения пакетов для классов Driver SDK для Android.
  • Навигационный SDK для Android включает в себя Maps SDK для Android (начиная с Навигационного SDK для Android версии 2).
    • Это позволяет картам и функциям навигации сосуществовать на одной карте (например, рисование полилиний в NavigationView) и снижает использование памяти, поскольку используется одна карта вместо двух.
    • Навигационный SDK для Android 3.0 не имеет полной функциональности с Навигационным 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 .

Прочитать отозванное объявление

Предстоящая версия 4.0 навигационного SDK для Android и Driver SDK для Android будет поддерживать минимум [Android 6.0 (уровень API 23)](https://developer.android.com/studio/releases/platforms#6.0){: . внешний}. Текущая минимальная поддерживаемая версия — 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, до которых вы захотите обновиться, а также указано, когда они будут доступны.

Какие функции платформы драйверов вы используете? Используете ли вы эти возможности ? Тогда первые доступные версии, до которых вам следует обновиться: Ожидаемая доступность
(возможны изменения)
Миграционные ссылки
Только навигация
(методы NavSDK)
Нет НавСДК v3.0.1 Сейчас Гид
Да NavSDK v3.5 (планируется) Сентябрь 2021 г.
Навигация и отслеживание двигателей парка (методы NavSDK и DriverSDK) Нет Nav SDK v3.0 и Driver SDK v3.0 Руководство по миграции драйвера версии 3.0 доступно после выпуска
Да NavSDK v3.x и DriverSDK v3.0

Чтобы продолжить использование удаленных методов, вы можете остаться на версии 1.x, но без ожидания поддержки или обслуживания после 21 июня 2022 г. (см. следующий раздел).

Мы рекомендуем вам перейти на версию 3.x. Это означает:

* Последний выпуск версии 1.x выйдет в четвертом квартале 2021 года (с этого момента функции версии 1 «заморожены»).

* Этот последний выпуск может быть исправлен в течение 6 месяцев после этого, до 21 июня 2022 года. По истечении этого времени мы не сможем отвечать на запросы об ошибках или функциях для версии 1.x.

Пожалуйста, ознакомьтесь со следующей таблицей и [руководством по миграции](/maps/documentation/navigation-sdk-android/v2/migration), чтобы помочь вам сориентироваться в этих изменениях.

Что я могу сделать и когда?

Если вы сейчас находитесь на... Используете ли вы эти возможности ? Чтобы обновить сейчас Для обновления в сентябре 2021 г. Миграционные ссылки
v1.x
( без использования FleetEngine.java/функциональности драйвера)
Нет НавСДК v3.0 Гид
Да Нет выбора НавСДК 3.x
v1.x
(с использованием FleetEngine.java/функциональности драйвера)
Нет Нет выбора НавСДК 3.x +
ДрайверSDK 3.x
Приведенное выше руководство, а также руководство по миграции драйвера версии 3.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 для получения обновлений трафика, которые отправляются в API Fleet Engine.

Стабильность и исправления ошибок

  • Исправлен сбой во время выполнения gRPC.

v1.15.2

Функции

Добавлена ​​возможность остановить постоянное уведомление. Если отчеты о местоположении остановлены в экземпляре Fleet Engine, указания в Navigator остановлены, все прослушиватели навигации отменяются, а NavigationFragment или NavigationView приостанавливаются.

Стабильность и исправления ошибок

  • Исправлена ​​ошибка, из-за которой возникало исключение, если экземпляр Fleet Engine был очищен.

v1.15.1 (12 мая 2020 г.)

Функции

Предварительный анализ данных версии 1.15.0 показал значительные улучшения в отчетности о стабильном местоположении (уменьшение количества «застрявших» местоположений). Это исправление позволяет продолжить работу с улучшенными отчетами о местоположении. Проблема ANR не была связана с этими улучшениями.

Стабильность и исправления ошибок

  • Исправлена ​​ошибка, из-за которой иногда в пользовательском приложении отображалась прямая линия в начале маршрута.
  • Исправлена ​​ошибка, которая могла привести к возникновению ошибки ANR, когда SDK сообщает о местоположениях. Это стало результатом улучшений onArrival() , которые были подвержены конфликтам блокировок. При некоторых обстоятельствах нам удалось надежно воспроизвести ошибки ANR и убедиться, что исправления решили проблему. Модифицированное тестовое приложение для создания ошибок ANR работало в течение восьми часов без ошибок после исправления.

v1.15.0 (23 марта 2019 г.)

Функции

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

Стабильность и исправления ошибок

  • Увеличена minSdkVersion для navsdk до 19.
  • Исправлена ​​ошибка, из-за которой имена маршрутных точек широты и долготы не учитывались при сбое обратного геокодирования на стороне сервера.

Выпуск v1.14.2 (2 февраля 2019 г.)

Функции

  • Не позволяет DriverSDK отправлять данные о местоположениях 0,0 в Fleet Engine (улучшается обмен информацией о поездках и ввод данных о местоположении).
  • Дополнительное ведение журнала для устранения проблем с зависанием местоположения и уменьшения количества резервных вариантов для совместного использования путешествий.
  • Игнорируйте повторные вызовы setLocationReportingInterval() если интервал не изменится.
  • Обновлена ​​документация Java для метода setReportingInterval() с целью предотвращения повторного вызова этого метода с высокой частотой относительно используемых интервалов.
  • Улучшена надежность определения местоположения API 29.

v1.13.0

Стабильность и исправления ошибок

  • Добавляет зависимость от okhttp, которую клиенты должны будут добавить в свои сборки Gradle.

v1.11.7 (18 октября 2019 г.)

Стабильность и исправления ошибок

  • Обновления местоположения теперь продолжаются после срабатывания onArrival() для данного пункта назначения.
  • Уведомление по умолчанию (постоянная строка в режиме свободной навигации) соответствует цветовой схеме, установленной для уведомлений о навигации. Дополнительные сведения см. в разделе Общие постоянные уведомления .
  • Устранена проблема, из-за которой событие задержки обновления местоположения могло вызвать ложное обновление местоположения, вызывая такие артефакты, как прямая линия в начале маршрута.

v1.11.6 (04 октября 2019 г.)

Обновления API

  • Введен ряд изменений, которые гарантируют, что Driver SDK быстро возобновит обновление местоположений после сбоя сети. После восстановления сетевого подключения обновление местоположения начнется снова при следующем запланированном обновлении местоположения.

Стабильность и исправления ошибок

  • setVehicleState() теперь возвращает результат немедленно. Обновление FleetEngine теперь происходит в фоновом потоке. Устраняет проблему «Приложение не отвечает» (ANR).
  • Исправлена ​​проблема, из-за которой маршруты совместного путешествия отображались в виде прямой линии при использовании более старых версий Consumer SDK. Гарантирует, что Driver SDK не добавляет в маршрут одноразовые путевые точки.