Как добавить 2 гис в андроид авто
2ГИС добавил поддержку Android Auto в мобильное приложение
2ГИС первым из российских навигаторов получил поддержку Android Auto. При подключении смартфона к автомагнитоле можно прямо на экране авто находить нужные места, строить маршруты и вести автомобиль, меньше отвлекаясь от дороги.
2ГИС закончил бета-тестирование Android Auto и добавил его поддержку в мобильное приложение на ОС от Google.
2ГИС на Android Auto позволяет искать адреса и компании на картах городов и поддерживает голосовой ввод. Основные действия можно совершить в один клик, чтобы меньше отвлекаться от дороги — построить маршрут до дома или работы, позвонить из приложения по громкой связи. Навигатор озвучивает манёвры, показывает парковки рядом с конечным пунктом маршрута и пробки на дорогах. Главное преимущество 2ГИС на Android Auto — подробность и актуальность данных, доступных офлайн.
Разработка приложения началась в апреле 2020 года после выхода бета-версии Android for Cars App Library от Google. 2ГИС получил доступ к этим инструментам одним из первых в России и во время работы над навигатором помогал тестировать платформу для будущих разработчиков.
«После выхода бета-версии 2ГИС на Android Auto в ноябре прошлого года мы получили разнообразный фидбэк от пользователей по всей стране. К открытому тестированию присоединились около 15 тысяч человек. Они ежедневно пользовались 2ГИС на экранах авто и сообщали нам о каждом недочёте — обратная связь очень помогла доработать приложение», — говорит менеджер продукта 2ГИС Александр Сырков.
Например, к публичному релизу Android Auto в приложении 2ГИС появился режим free roam — в нём можно пользоваться навигатором без ввода конечного пункта маршрута, например, видеть на карте пробки и камеры.
Новые функции в навигаторе 2ГИС будут появляться по мере обновления Android for Cars App Library.
Версия приложения 2ГИС с поддержкой Android Auto уже доступна в Google Play. Подключить смартфон к авто можно с помощью USB-кабеля или WiFi. Сейчас Android Auto, по данным Google, поддерживает более 500 моделей автомобилей и магнитол.
Парковка магнитолы и гайдлайны Гугла: с чем мы столкнулись, интегрируя навигатор 2ГИС в Android Auto
Привет! Я Аня, QA-инженер из команды Android в 2ГИС. В середине прошлого года мы наладили контакт с командой Гугла. На тот момент релиза SDK Android Auto ещё не было. Но мы получили ранний доступ к SDK и смогли интегрировать в него навигатор первыми в России. В статье я расскажу о том, как это было.
Если вы не знаете, что такое Android Auto, вот официальный ролик:
Постепенно узнавали требования и ограничения
Мы стартовали в июне, когда документация для Android Auto была написана не вся. Целиком она появилась к октябрю 2020-го. До октября мы работали с начальной версией документации.
У Гугла строгие требования к сторонним разработчикам. Условия, что мы узнавали из документации, приходилось учитывать. Нам пришлось или отказываться от первоначальных идей, или внедрять их по-иному. Срезали функционал и дизайн. Приведу несколько примеров.
Выбросили кейсы, где предполагались тачи. Их планировали добавить только во второй версии SDK. Поэтому на всех экранах пришлось добавить кнопки зума, чтобы дать пользователю масштабировать карту.
Отказались от показа времени пути до объекта. Изначально планировали так: пользователь набрал в поиске «Кафе», 2ГИС показал пины кафе на карте и мини-карточки. В мини-карточках указаны названия и прочая информация.
Так выглядят мини-карточки
В мини-карточки мы хотели добавить время пути
Но сделать это не вышло. Так как на фоне поисковой выдачи отрисована карта, по требованиям Гугла, нужно указывать именно расстояние.
Оказалось нельзя отрисовать свой UI. Гугл требует, чтобы все навигаторы выглядели единообразно. Пользователь занят вождением, нельзя тратить его внимание на новый интерфейс. Поэтому весь UI создаётся фреймворком. Мы же смогли только выбрать готовый шаблон и нарисовать на его фоне карту 2ГИС. Нельзя было использовать свои шрифты, управлять дневной и ночной темами.
Пример гайдов Гугла по дизайну
Убрали уведомления о камерах измерения скорости. Потому что места под эти уведомления оказались заняты другими кнопками и контролами. А количество элементов на экране ограничено.
Пришлось ограничивать списки до шести пунктов. По требованиям, юзер-стори должны быть короткими, с минимумом информации. Поэтому в Android Auto не больше шести элементов списка, будь то настройки приложения или результаты поиска. Для пользователя это непривычно, но отображать больше элементов в списках нельзя. Система следит за соблюдением ограничений. Если нарушить правило, приложение будет остановлено.
Это же правило наложило на нас лимит глубины в пять экранов. Например: главный экран → зайти в поиск → получить список кафе → открыть карточку кафе → выбрать альтернативный маршрут — всё, лимит исчерпан.
Все эти ограничения заставили нас пересмотреть свой процесс внедрения фич.
Обычно он выглядел так:
В задаче внедрения навигатора процесс изменился:
От привычных этапов работы пришлось отказаться. В нетипичной задаче велик риск сделать что-то, а потом выяснить, что нужно иное. Поэтому мы шли короткими итерациями. Разработка, тестирование и работа над дизайнами в разных частях проекта были параллельны. Это помогало быстро определять, что реально сделать, а что — нет.
Тестировали на собственном железе и тестовом окружении
Первая сборка для QA появилась в конце августа 2020-го. Мы получили магнитолы — такие же, как ставят в автомобили. Но автомобили были не у всех тестировщиков, поэтому наши магнитолы модернизировали: к каждой из них админы припаяли вилку и блок питания на 12В от компьютера.
Когда я начала тестировать магнитолу, столкнулась с проблемой: если я имитирую движение, смотреть карту можно, а копаться в настройках нельзя. Оказалось, что настраивать приложение можно только когда машина стоит — таковы стандарты безопасности. То есть мне надо доказать системе Android Auto, что моя «машина» запаркована.
Моя «машина»
Экран настройки Android Auto, когда «машина» не запаркована
Пришлось эмулировать стояночный тормоз или режим парковки. Я замкнула провод Parking на корпус магнитолы и вошла в настройки.
Ещё мы добавляли железо, когда тестировали озвучку навигатора. У магнитолы нет своих динамиков, она воспроизводит звук через аудиосистему автомобиля. Но наши «машины» её не имели. Значит нужно такое тестовое окружение, которое повторяло бы эту схему.
Я нашла старую колонку, мы с разработчиками придумали, как присоединить её к магнитоле. Зачищаю провода, подключаю — звука всё равно нет.
Тестовый стенд для озвучки — старые колонки Genius
Было три варианта, в чём проблема: колонка, магнитола или приложение. Я запустила радио — звук появился. Проблема в приложении! Так я нашла первый баг с приоритетом blocker. Мы зарепортили его в Гугл, и баг пофиксили.
Ещё одним из требований была поддержка Cluster Display. Это дополнительный экран у новых автомобилей, обычно выпущенных после 2020-го года.
Cluster Display
Отдельно, как магнитолу, его не купишь. Найти авто с ним непросто. В автосалонах Новосибирска машин с таким дисплеем не было — это проверил наш продакт. Так что мы настроили эмулятор головного устройства и надеялись, что этого достаточно. Естественно, при ревью в стор выяснилось, что это не так. Маневры в Cluster Display не всегда соответствовали маневрам в навигаторе. Эту проблему мы исправили.
Манёвры в Cluster Display не соответствуют манёврам в приложении
Отлавливали баги даже перед релизом
Баги делились на две категории: те, что воспроизводятся только на магнитоле, и те, что воспроизводятся только на авто.
Из первых запомнился баг, когда через несколько минут вождения пропадала навигация. Я запускала эмуляцию движения и через несколько минут меня выкидывало на главный экран. В логах было пусто. Мы решили, что проблема в моей магнитоле и перестали волноваться. Как оказалось, зря. Спустя пару месяцев этот баг усложнил жизнь одному из коллег, когда он установил наш навигатор и поехал на Алтай.
Фикс этого бага осложнялся тем, что у разработчиков баг по-прежнему не всплывал. Чтобы понять, в чём дело, пришлось обратиться к ребятам из Гугла. Они подсказали нам решение, и баг пофиксили.
Баги, которые воспроизводились только на автомобиле, коллеги отлавливали на своих машинах. Особенно интересным был баг геопозиции. Когда я сидела дома, то меняла свою геопозицию с помощью внутренней утилиты: в ней можно изменить направление движения, остановиться, сойти с маршрута с маршрута и так далее. Тестирование проходило успешно, пока мы не поехали на реальной машине. Выяснилось, что когда машина долго стоит, в пробке или на светофорах, маркер геопозиции крутится вокруг своей оси.
Баг с крутящимся маркером
Выяснилось, что это даже не баг, а особенность реализации. При низких скоростях движения GNSS сообщает маркеру случайное направление. Как будто мы топчемся на месте всё время поворачиваем. Лечится это тем, что при снижении скорости ниже какого-то порога направление замораживается. В основном приложении 2ГИС это было сделано много лет назад, но в реализации для Android Auto пришлось снова про это вспомнить.
В самом SDK тоже были баги. В наших интересах было работать со стабильным SDK, поэтому мы помогали отлавливать эти баги: собирали логи и видео, отправляли их в багрепортах разработчикам Гугла. Они быстро выходили на диалог и помогали решить проблему — или фиксили баг, или подсказывали, что сделать нам. Было понятно, что им совсем не всё равно, как и когда будет решена проблема. От такого участия у меня осталось очень приятное впечатление.
В SDK мы поймали баг с голосовым поиском. 2ГИС не влияет на контекст распознавания голосового ввода, это часть Гугла. В Академгородке, где находится один из наших офисов, есть столовая «Кукуруза». Когда наш продакт попытался построить маршрут до неё, услышал: «Кукуруза — однолетнее травянистое культурное растение…». Образовательно, конечно, но до котлеток дойти не помогло.
Наконец, мы всё пофиксили и вышли на ревью в стор. Обычно от ревью до релиза у нас проходило 12 часов, но не в этот раз. Приложение вернулось на доработку, потому что «использовало разрешение, не разрешённое для этой категории».
Пользователи уже злились: в анонсе, написанном до ревью, мы пообещали Android Auto, но в сторе его по-прежнему нет:
Мы искали проблему несколько дней. Оказалось, наше приложение не останавливалось, когда пользователь запускал другую программу для навигации. На экране всплывали оповещения сразу от двух приложений. По ТЗ это было запрещено. Само собой, такую ошибку в стор пропустить не могли.
Баг, из-за которого приложение не пропустили в стор
Проблему исправили и 12 ноября 2020 года мы запустили публичный бета-тест. Мы были горды — 2ГИС первыми из сторонних разработчиков в России выпустили приложение для Android Auto.
Тестовые стенды, сделанные самостоятельно, и тысячи километров на своих машинах. Плотное общение с разработчиками Гугла, разница во времени с которыми — 14 часов. И работа, где нестандартные решения нужно искать прямо на ходу. Этот проект оказался очень запоминающимся и я рада, что участвовала в нём.
2gis и Android Auto: непримиримые враги или закадычные друзья?
Автовладельцы часто спрашивают о совместимости двух приложений — 2GIS, Android Auto. Такой интерес не удивителен, ведь 2 ГИС часто рассматривается в качестве альтернативы для Яндекс Навигатора и других аналогичных приложений. Ниже рассмотрим, работает ли 2 ГИС на Андроид Авто, и можно ли их «подружить» в случае необходимости.
Можно ли пользоваться 2 ГИС на Андроид Авто
Добавить навигатор 2GIS на Android Auto, по крайней мере, официально, пока не получится. Лишь недавно разработчики сделали доступным ПО для главного конкурента — Apple CarPlay. Представители компании указали, что для них интересно подключение на головных устройствах, но пока процесс идет поэтапно. В дальнейшем планируется поддержка 2ГИС на Android Auto.
Интересно, что возможность применения 2GIS на CarPlay появилась после выпуска iOS12. Сразу после этого навигатор был адаптирован под новую систему. При этом приложение имеет следующий функционал:
- Быстрый поиск маршрута.
- Наличие информации по адресам, телефонам и времени работы.
- Подключение по USB или Bluetooth.
- Возможность прокладки маршрута в самой программе или на головном устройстве.
- Информация о дорожных событиях и т. д.
В дальнейшем разработчики планируют добавить 2 ГИС в Android Auto, но пока точная дата не озвучивается.
Как добавить 2 ГИС в Андроид Авто
Многие автовладельцы не хотят ждать официального релиза и намерены использовать 2GIS на Android Auto уже сегодня. Для этого можно воспользоваться следующей инструкцией:
- Установите на телефоне права рут. Это можно сделать с помощью специальных приложений или через компьютер.
- Скачайте и установите софт AAMirror. Благодаря этой программе, можно использовать 2GIS и Андроид Авто, а также подключить другой софт, к примеру, Яндекс Навигатор.
- Установите AA Phenotype Patcher, после чего разблокируйте работу сторонних программ. Войдите в меню Android Auto, жмите 10 раз на надпись Об Андроид Авто и уберите отметку с пункта установки софта с посторонних источников.
- Войдите в AA Phenotype Patcher, перейдите в меню и жмите на Triggers Manager. Удалите триггеры если они имеются.
- Перейдите в App List и поставьте отметку на пункте AAMirror.
- Переходите в основное меню и жмите на Patch.
- Войдите в режим разработчика Android Auto и снова поставьте отметку в пункте загрузки софта из неизвестных источников.
- Перейдите в AAMirror и задайте необходимые настройки.
После этого установите приложение и проверьте, работает 2ГИС в Андроид Авто или нет.
Но если Вам не хочется заморачиваться с окольными путями, можно пойти и напрямик и просто установить совместимое приложение для Андроид Авто с теми же функциями.
Как видно из статьи, официально 2GIS пока не поддерживается, но разработчики обещают исправить эту проблему. Пока же пользователи Android Auto могут использовать альтернативные навигаторы или получить режим рут на телефон с последующим использованием его в приложении.