Как мы запустили 2ГИС под CarPlay и до сих пор расхлёбываем

iOS в каждый автомобиль

Apple CarPlay позволяет подключать iPhone 5, 5С/5S, 6/6 Plus к машине, оснащенной совместимой версией мультимедийной системы, через проприетарный кабель Lightning или по Wi-Fi. В результате на дисплей медиасистемы автомобиля выводится адаптированная версия iOS, которая превосходно подходит для управления основными функциями смартфона во время движения.

Взаимодействие с системой осуществляется через использование сенсорного экрана или другого автомобильного средства управления, а также голосового помощника Siri.

Когда вы подключите свой iPhone к машине, вам станет доступна не только возможность совершения звонков, но и различные фирменные приложения от Apple — сообщения iMessage, iTunes с функцией прослушивания загруженных подкастов и аудиокниг, а также iTunes Radio и карты из операционной системы iOS.

К слову, уже сейчас CarPlay поддерживает альтернативные сервисы потокового воспроизведения музыки, такие как Beats Radio и Spotify. Это дает нам полное право предполагать появление в скором времени в CarPlay огромного количества утилит от сторонних разработчиков — например, «Яндекс.Навигатора», «Карт Google», Foursquare и т. д.

Пользователь iPhone и автомобиля с функцией CarPlay будет избавлен от необходимости переплачивать за навигационную систему внутри машины. Встроенное приложение Apple Maps умеет не только показывать карту, но и прокладывать маршруты на основании данных о недавних поездках, адресов контактов, а также информации из текстовых сообщений и электронных писем.

Согла­ситесь, что возможность «перенести» опыт эксплуатации iPhone полностью в машину — это очень здорово. Может быть, вы удивитесь, но в основе CarPlay лежит существующая уже несколько лет на рынке и отлично зарекомендовавшая себя технология BlackBerry QNX, созданная для взаимодействия головных систем автомобилей со смартфонами.

Отметим, что эта технология доступна для пользователей Android и Windows Phone, поэтому мы наверняка увидим в ближайшее время готовые решения от других производителей, схожие по функциональности с Apple CarPlay. Первыми автомобилями, которые получат поддержку CarPlay, станут Volvo, Mercedes-Benz и Ferrari.

В обозримом будущем поддержку CarPlay добавят BMW Group, Ford, General Motors, Honda, Hyundai Motor Company, Jaguar Land Rover, Kia Motors, Mitsubishi Motors, Nissan Motor Company, PSA Peugeot Citroen, Subaru, Suzuki и Toyota Motor Corp.

Фотографии в статье: компании-производители; Arnd Wiegmann/Reuters; Ferrari S.p.A.; Apple Inc.; Daimler AG; Volvo Car Group

Проблема одной карты

Не успел я обрадоваться новости о том, что в CarPlay будет наша карта, как передо мной встала следующая проблема: из-за технических особенностей карта может быть только одна.
Быстрое решение этой проблемы было, хоть и не очень элегантное.

Обычно в момент использования 2ГИС на CarPlay телефон заблокирован и лежит где-нибудь на полочке. А значит карта в этот момент на телефоне не сильно-то и нужна (не помешает для поиска, конечно). Поэтому мы решили при подсоединении телефона к CarPlay забирать карту из основного приложения и выводить её на экран CarPlay магнитолы. А при отсоединении, соответственно, возвращать обратно в приложение на телефон.

Да, решение такое себе, но оно быстрое, до сих пор работает и не пришлось пинать пару других команд, чтобы склепать MVP.

Ну что, CarPlay в машине это реально удобно

Как ни странно, да.
Это вполне удобно.

Сажусь в машину, цепляю Lightning и напрочь забываю о существовании iPhone. Машина диктует мне все входящие сообщения, причём не только iMessage, но и обычные СМС. Базовой функциональности Карт
вполне достаточно, а звонки вообще не отвлекают от дороги.

Да, всё это можно развернуть на любом Android-ресивере. Но моё знакомство с ними омрачено зацикленной ошибкой сервисов Google. Не лечилось никак, благо машина была не моя. А здесь система работает идеально. И не требует никаких апдейтов. Она просто ЕСТЬ.

Всё это добро легко управляется кнопками на руле, «крутилками» на консоли или сенсорной панелью. Тут есть даже свой Док с тремя последними приложениями. Я в восторге.

Но CarPlay достался мне бонусом. Я бы никогда не выбирал машину только из-за данной надстройки. В этом нет определяющих преимуществ. Это как встроенная Handsfree-гарнитура: полезно, классно, но никогда не станет причиной выбора конкретной машины.

История двух реджектов

Первый реджект был связан с метадатой. В тексте реджекта говорилось, что у нас в описании (не release notes) не сказано о том, что мы поддерживаем CarPlay. Как вы можете догадаться, ни в review guideline’ах, ни у того же Google Maps такого не было. Мы не стали спорить (потому что это обычно дольше, чем править метадату), скопировали строчку из Release Notes в Description и стали ждали нового ревью.

Второй реджект случился из-за списка городов. У 2ГИСа есть очень крутая фича — полный офлайн-режим работы. Эта фича стрельнула нам в ногу.

При подключении приложения без установленного города к CarPlay, мы не показываем карту, потому что показывать нечего. За это нас и зареджектили. Решение было простым: алерт без кнопок, в котором написано, что нужно скачать город.

Apple CarPlay

Компания Apple анонсировала свою систему для автомобилей раньше, чем Google и реализовала её в качестве составляющей iOS, а не отдельного приложения. По сути система транслирует изображение с экрана смартфона. Поэтому Apple CarPlay идёт сразу в комплекте с iPhone и соответсвенно не имеет региональных ограничений, как Android Auto.

Интерфейс CarPlay тоже выполнен в стиле минимализма, только в отличие от версии Google, у Apple в нём основной фокус сделан всё-таки не на информацию, а на приложения, поэтому главный экран здесь состоит из их иконок. Навигация по CarPlay, как на первых версиях iPhone, максимально простая: можно запустить программу и нажав виртуальную кнопку «Домой» вернуться на основной экран. Вместо режима многозадачности Apple CarPlay показывает в колонке слева три приложения, которые использовались последними.

Логика автомобильной системы Apple такая же, как и у Google — меньше отвлекать водителя от дороги. Поэтому главный акцент здесь тоже сделан на аудио, а не на чтение информации с экрана. Хочется прочитать сообщение или написать кому-то? Пожалуйста, но делайте это голосом с помощью Siri.

Да и продиктовать послание можно только через встроенное в iOS приложение «Сообщения» с iMessage, да WhatsApp, поддержка которого появилась только в этом году. При этом, например, работает приём звонков через Facebook Messenger. Остальные программы для мгновенного обмена сообщений пока не поддерживаются.

Работа с аудио также предполагает прослушивание музыки, и в этом плане CarPlay есть, что предложить. Система поддерживает воспроизведение музыки, подкастов и аудиокниг. При этом слушать музыку можно как через Apple Music, так и через сторонние приложения, например, через Google Music, Deezer и Spotify.

Ещё одна важная функция в Apple CarPlay — это навигация, но сейчас она реализована не лучшим образом. Дело в том, что на момент написания этого материала система поддерживает только карты Apple Maps, а они в Украине работают не лучшим образом. Но уже в iOS 12 для CarPlay должны появиться сторонние программы для навигации. В частности, сейчас идёт тестирование Google Maps и Waze.

Подключение Apple CarPlay к автомобилю сейчас чаще всего осуществляется кабелем Lightning через порт USB, хотя ещё с iOS 9 в системе появилась возможность беспроводного подключения. Но как и в случае с Android Auto, для автопроизводителей подключение кабелем — это всё ещё самый простой и главное доступный вариант.

То, о чём нельзя говорить

Перемещение карты жестами

Примерно в это же время вышел навигатор под CarPlay от Google Maps — и там можно было передвигать карту жестами по экрану. Приватные API, подумал я, это очевидно! Ребята из Google просто пришли из соседнего здания и сказали, что им надо. Ведь документация гласит:

Однако я всё-таки решил убедиться и полез гуглить, хоть это и было почти бессмысленно, ведь никаких технических статей про CarPlay Navigation Apps не было. Однако я умудрился найти что-то полезное и, ВНЕЗАПНО, на сайте Apple.

В гайдлайнах я нашел видео, которое говорит, что документация нагло врёт. На видео видно, как карту всё-таки можно перетаскивать жестами. Я понял, что ничего не понял, и единственное, что мне оставалось, — открыть CarPlay.framework и пересмотреть все .h файлы.

И о чудо! Я нахожу в CPMapTemplate’е его делегат CPMapTemplateDelegate, в котором есть 3 метода, которые как будто кричат о том, что если их реализовать, то можно будет получить управление жестами картой.

Я реализовал их и запустил приложение на симуляторе — ничего не сработало. Не успев расстроиться, я понял, что симулятор может быть такого же качества, как и документация, и собрал на девайс. Всё завелось, счастью не было предела!

Забавный факт: CarPlay-магнитоле необходима четверть экрана, чтобы понять, что начался pan-жест. Хочу заметить, что UIPanGestureRecognizer’у нужно всего 10 поинтов.

Неодинаковость UI на разных магнитолах

Нам в поддержку поступило обращение: у пользователя в поиске вылезает всего один саджест, хотя могло бы быть и больше. Странно, подумал я, ведь на всех экранах помещается всего одна строка. Запросили скриншот:

И это совсем отличается от UI CPSearchTemplate, который я показывал выше. И это нужно учитывать при разработке, хоть и никак нельзя понять, сколько ячеек в табличке внизу может вместиться в экран.

Контрол ограничения скорости

Мы посмотрели на статистику и поняли, что навигатором для CarPlay пользуются и надо довести его хотя бы до уровня навигатора в основном приложении. В первую очередь решили добавить контрол ограничения скорости. Без проблем, конечно, не обошлось.

Вопрос номер один: где размещать?

Пошарив снова по .h файлам в CPWindow, я нашел любопытный layoutGuide:
var mapButtonSafeAreaLayoutGuide: UILayoutGuide

И это оказалось тем, что нужно. Наш контрол отлично туда вписался:

Вопрос номер два: это, вообще, законно?

Дело в том, что технически контрол находится на base view. А base view по документации не может содержать в себе ничего, кроме карты:

Но ревьюверы пропустили нас в AppStore, а значит контролы, которые касаются навигации, встраивать всё-таки можно.

Голосовой поиск

По-хорошему, эту фичу нужно было сделать в первую очередь, но у нас накопилось несколько задач из техдолга, которые мешали реализовать голосовой поиск для CarPlay. И эта задача оказалась не такой простой, как казалось.

Проблема первая: анимации. Дело в том, что в CPVoiceControlTemplate нет возможности сделать стандартные анимации. Анимацию для распознавания речи и поиска пришлось собирать покадрово из картинок и указывать, сколько они идут по времени.

Выглядит, как можете догадаться, не очень, но и размер приложения раздувать не хочется.

Проблема вторая: доступы. Алерты на доступ к микрофону и распознаванию речи появляются на дисплее телефона. Пришлось писать на дисплее магнитолы, что пользователю необходимо взять телефон в руки, дать разрешение и только потом пользоваться навигатором на магнитоле. Очень удобно!

Праворульные автомобили.

Нам прислали скриншот, в котором UI всего приложения был перевёрнут!

И, естественно, вьюпорт карты оставался таким, как мы его захардкодили, ведь никто не ожидал, что есть отдельная настройка для праворульных автомобилей. Как «правильно» это обойти, я не нашёл, но заметил, что, поскольку наш контрол ограничения скорости лежит в layoutGuide’е для контролов карты, он переместился в левую сторону.

Ультрафикс не заставил себя ждать. Сделали грубо, но это работает.

Очень надеюсь, что есть правильное решение, и я просто не дочитал.

На этом у меня всё. Если вдруг соберётесь делать свой навигатор под CarPlay, учтите, что документация и фреймворк несовершенны. Платформа абсолютно новая, никто ничего не знает, а Apple делиться знаниями не торопятся.

CarPlay это что, типа iPhone в машине

Нет, это не iPhone. Это даже не полноценная операционная система вроде iOS.

Фактически, CarPlay – этот как AirPlay. То есть это система передачи и отображения данных с вашего гаджета на внешнем дисплее. В данном случае автомобильном.

CarPlay транслирует
адаптированные версии приложений с iPhone. Вы не найдёте здесь Clash of Clans или Instagram. Купертиновцы в первую очередь думали о безопасности участников движения, и платформа очень ограничена в возможностях.

Но даже этих минимальных функций вполне достаточно.

Важный факт:
CarPlay не работает без iPhone. Поэтому он всегда является лишь частью медиасистемы автомобиля. У меня, например, можно вывести музыку через старый добрый AUX, послушать радио, включить CarPlay или запустить похожее решение для Android. У водителя всегда есть выбор.

В моей комплектации Tiguan установлена консоль с проводным CarPlay
. Беспроводной CarPlay — не такая уж редкость, просто у меня так получилось.

Но! Автомобилисты, обратите внимание. Проводной CarPlay предпочтительнее беспроводного, потому что последний насильно включает на iPhone режим модема – и это нещадно тратит батарею, что в итоге заставляет вас всё равно держать смартфон на зарядке

Не продумали.

Управление музыкой в CarPlay

Где нет равных CarPlay, так это в воспроизведении музыки и других аудиофайлов. Очень удобно, что смартфоном можно управлять с помощью кнопок переключения песен.

Экран «Сейчас играет» («Now Playing») оснащен крупными сенсорными кнопками, позволяющими ставить песни на паузу и перелистывать плейлисты.

Многие люди согласятся с тем, что нынешнее поколение молодёжи не хочет ездить; эти ребята хотят, чтобы автомобили ездили вместо них. Они не хотят покупать собственную машину, фактически, они вообще не хотят автомобилей, им нужны смартфоны. Эту тенденцию явно замечают автопроизводители и разработчики современной техники. Так, ещё в 2014 году на выставке Consumer Electronics было представлено множество технологических разработок, среди которых и Apple CarPlay.

Компания Apple явно не хочет стоять в стороне и планирует получить немалый кусочек этого пирога. Показ предварительной версии «Эппл Кар Плей» состоялся ещё в 2013 году, но уже в Женеве в 2014 году был организован официальный дебют новой системы Apple CarPlay. Как и у многих современных автомобильных систем связи, принцип работы CarPlay состоит в том, чтобы позволить водителю делать все что угодно, не отвлекаясь от управления.

Практическая часть Apple CarPlay достаточно проста, и это огромная заслуга разработчиков. Именно за простоту и логичность ценят технику Apple. Вам надо просто взять ваш «яблочный» смартфон или планшет, подключить его к автомобильному интерфейсу и всё готово! Автомобиль превращается в смартфон, чего и ожидалось. Наступил 21-й век. Автомобильный компьютер не способен на то, что позволяет делать iOS. Фактически, у него есть другие задачи, такие как считывание данных со всевозможных датчиков.

Это значит, что приложения должны быть установлены на вашем мобильном устройстве, чтобы увидеть их на дисплее, расположенном на центральной консоли автомобиля. Сенсорная панель работает так же, как сенсор на телефоне, поэтому разобраться под силу даже новичку. По сути, происходит полная синхронизация автомобильной системы с iPhone или iPad.

Не все приложения могут работать на CarPlay. Разработчики постарались сохранить высокий показатель безопасности. Идея «Эппл Кар Плей», как и у всех других развлекательных и информационных автомобильных систем, состоит в том, чтобы свести к минимуму отвлекающие факторы. По крайней мере, об этом говорят все технические специалисты.

Если вы влюбились в голосового помощника Siri и не можете жить без ее голоса, система Apple CarPlay сделает ваши мечты реальностью. Сири поговорит с вами прямо через автомобильный интерфейс. Она проверит ваш календарь и электронную почту, а также расскажет вам о запланированных деловых встречах прямо во время движения. Она прочитает ваши текстовые сообщения и предоставит возможность продиктовать свой ответ, который она затем отправит адресату. Также она поможет вам совершать звонки через громкую связь.

К сожалению, система не позволяет использовать «Карты Google» для навигации. Вам придётся использовать Карты Apple с CarPlay. Разработчики обещают, что вам понравится, но на самом деле, всё не так гладко.

Когда Apple презентовала CarPlay на Женевском автосалоне 2014 года, компания подтвердила, что она сотрудничает с десятком производителей, включая Ferrari, Honda, Hyundai, Jaguar, Mercedes-Benz и Volvo. Это довольно большой ценовой диапазон, поэтому, даже если Ferrari вам не по карману, вы, вероятно, сможете найти автомобиль, оборудованный CarPlay, который вы действительно можете себе позволить.

Технологии активно проникают практически во все сферы жизни человека от умных часов на руке до умного дома, но если отбросить пока что нишевый бизнес электромобилей, то в целом автомобильная индустрия выглядит довольно консервативно. Отчасти это продиктовано повышенными требованиями к безопасности пассажирского транспорта, поэтому принцип «работает — не трогай» здесь исповедуется десятилетиями. Но по странным стечениям обстоятельств прогресс часто обходит стороной информационно-развлекательные системы в автомобилях. Даже в дорогих моделях иногда встречаются очень простые экраны с графикой, которую рисовали лет 20 назад. Поэтому не удивительно, что в 2014 году компании Apple и Google анонсировали собственные интерфейсы для автомобильных систем. Ещё недавно производители продавали их в качестве довольно дорогостоящих опций, но сегодня они всё чаще поставляются вместе со стандартным мультимедийным центром в машине. Поэтому мы решили детальнее взглянуть на то, что могут предложить пользователям Android Auto и Apple CarPlay. И для этого использовали автомобиль , который как раз поддерживает обе системы.

Как работает КарПлей

Главное меню CarPlay, которое появляется на экране при старте, — это программы по умолчанию, выбранные Apple. Значки большие и четко обозначены, что значительно облегчает использование. Весь пользовательский интерфейс предназначен для голосового управления, которое требует знания английского языка. Это особенно верно для Apple Maps, в котором ручной ввод адреса был скрыт от пользователя. К сожалению, программа плохо распознает российские названия улиц и городов, которые произносят голосом. Таким образом, остается потратить время на ввод цели вручную. В этом отношении Apple Maps является конечно неудобной навигационной программой. К тому же Apple Maps также не имеет предупреждения о полицейских камерах и других проблемах.

Apple CarPlay работает и для прослушивания музыки, подкастов или интернет-радио. Качество звука очень хорошее, а поиск записей интуитивно понятен (вы можете использовать записи в Интернете и хранить их на iPhone). К сожалению, выбор программ очень ограничен, в этом отношении Apple продолжает уступать место Google.

Конкуренты и первые в списке по интеграции CarPlay

Поклонники Apple естественно выберут CarPlay, а вот любителям Android будет ближе по душе Android Auto. Покупая б/у автомобиль с рук, с ранее установленной системой, стоит понимать, что её никак нельзя будет сменить, разве что перешить у официального представителя.

CarPlay в автомобилях Volvo может распознать владельца машины за множеством различных параметров, которые знает только водитель и система. В случае ДТП система автоматически подаст сигнал SOS не зависимо от наличия системы экстренного вызова. Таким образом, Volvo повысила безопасность своих автомобилей.

Вывод о системе CarPlay можно сделать один, такие системы делают автомобиль умней и более безопасней.

Видео работы CarPlay в автомобиле Volvo:

Защита автомобилей Volvo с помощью IPhone:

Покупка нового автомобиля — это весело, пока вы не погрузитесь в изучение его информационно-развлекательной системы. Автопроизводители — чей опыт больше именно в транспортных средствах, а не в программном обеспечении, как правило, устанавливают слишком сложные системы, которые заставляют вас чувствовать себя пещерным человеком, в первый раз использующим смартфон.

Это не самая лучшая вещь, когда у вас есть другие приоритеты. Например, следить за состоянием на дороге.

Android Auto

Интерфейс для автомобильных информационно-развлекательных систем в Google анонсировали в 2014 году, но сама программа для Android-смартфонов вышла только через год, в 2015-ом. В компании тогда заявляли, что решили заняться разработкой новой системы, так как автомобили, несмотря на популярность, пока редко имеют интернет-соединение. Решить эту задачу в Google решили с помощью смартфонов. Поэтому для того, чтобы запустить Android Auto сначала нужно загрузить из Google Play соответствующее приложение. И вот здесь украинских пользователей ждёт неприятный сюрприз, официально программа Android Auto в Украине не доступна, так что качать и устанавливать её придётся из сторонних репозиториев.

Впрочем, со стороны Google это вполне логично, так как работа Android Auto завязана на Assistant, а он в нашей стране официально не работает. Но мешает ли это пользоваться системой в автомобиле? Нет.

Перед тем как перейти к основным функциям Android Auto, немного остановимся на интерфейсе. За его основу в Google взяли наработки, которые ранее были использованы в первых версиях операционной системы для умных часов Wear OS. Здесь также главный экран состоит из карточек, которые автоматически подстраиваются под типичные задачи пользователя.

Например, если человек каждое утро ездит на работу и запускает для этого навигацию в Google Maps попутно включая Google Music, то Android Auto первым делом покажет ему карточки этих приложений.

Кроме карточек интерфейс системы включает панель навигации, на которую вынесены кнопки быстрого доступа к картам, телефону, музыке и переходу к встроенной в машину информационной системе, а также кнопку по центу, которая отвечает за шаг назад. Собственно, это весь интерфейс, с которым придётся работать пользователю. Маловато? Да, но такова основная задумка Android Auto, всё должно быть под рукой и чтобы водитель меньше отвлекался от того, чтобы следить за дорогой. Поэтому, например, меню приложений в системе нет, хотя сторонние программы Android Auto поддерживает, но только определённых категорий. Например, вместо Google Music для прослушивания музыки можно использовать , либо выбрать одну из доступных программ для радио, аудиокниг и подкастов. Таким образом, основной акцент Google делает на аудио, так как оно меньше отвлекает водителя в автомобиле.

По этой же причине Android Auto не будет показывать на экране текст входящих сообщений, а только озвучивать их. Отвечать на них можно только голосом, здесь вступает в игру распознавание речи Google, которое вполне неплохо справляется со своей задачей. При этом стоит отметить, что если само приложение поддерживает Android Auto, то его оповещение будет озвучено системой. Сейчас систему поддерживают такие популярные мессенджеры как Telegram, WhatsApp, Skype, Hangouts, Kik, WeChat. Но вот отвечать на письма в почте Gmail нельзя и в Google пока не планируют добавлять эту возможность.

Фокус на безопасности в Android Auto проявляется даже в самых неожиданных моментах. Например, во время прослушивания музыки система не даст вам долго листать списки воспроизведения в Google Play. Если хотите запустить плей-лист, это надо делать быстро. А ещё лучше, попросить это с помощью голосовой команды.

Если оба приложения установлены на смартфоне, то при первом запуске она предлагает выбрать одно из них, и в дальнейшем оно будет открываться автоматически. Учитывая, что встроенная навигация в автомобиле — это в основном платная опция, а также то, что она не получает данные о пробках, то Google Maps и Waze позволяют значительно упростить передвижение по городу и при этом работают бесплатно.

На данный момент самый простой способ подключить смартфон к Android Auto по кабелю, через порт USB в машине. В этом году Google обеспечила поддержку беспроводного подключения к Android Auto для своих смартфонов Pixel, Pixel XL, Pixel 2 и Pixel 2 XL, но автопроизводители не спешат внедрять эту возможность, так как она повлияет на итоговую стоимость автомобиля.

В целом, можно отметить, что Android Auto не обеспечивает всю функциональность смартфона в информационно-развлекательной системе автомобиля, тем не менее, он предоставляет ряд полезных для водителя возможностей, которые не отвлекают его от дороги.

С какими автомобилями работает CarPlay

Эпл вывесил полный список совместимых автомобилей , разбитых по маркам и моделям. В списке есть 24 различных автопроизводителя, в общей сложности списке 114 моделей автомобилей, предлагающих поддержку CarPlay.

Не расстраивайтесь, хотя все автомобили в этом списке произведены в 2016 году — вы можете модернизировать старую машину поддержкой CarPlay через решения сторонних производителей. Вот несколько примеров:

  • Pioneer предлагает 11 различных вариантов неоригинальной поддержки CarPlay. Цена варьируется от $700 до $1400.
  • JBL также производит блок CarPlay , который в розничной продаже оценивается на уровне $399.
  • Alpine и Kenwood также предлагают свои собственные CarPlay-оборудованные системы.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *