Эксклюзив: три лучшие функции Android 11 будут не на каждом устройстве

Три лучшие функции Android 11 появятся не на всех смартфонах и планшетах. Это потому, что Google не требует использования этих функций.

Каждый год Google выпускает новую версию операционной системы Android. Google выпустила первую предварительную версию Android 11 для разработчиков еще в феврале, а за последние несколько месяцев последовали вторая, третья и четвертая предварительные версии для разработчиков. Ранее в этом месяце Google представила первая бета-версия Android 11 и подробно рассказал о лучших функциях, которые могут понравиться пользователям и которые разработчики могут реализовать. Однако теперь мы узнали, что три основные функции Android 11 будут доступны не на всех устройствах Android.

Чтобы понять, как это возможно, нам нужно кратко объяснить, как ОС Android распространяется от Google среди производителей смартфонов. Андроид – это операционная система с открытым исходным кодом Лицензия Apache 2.0 означает, что любой, от независимых разработчиков до крупных компаний, может свободно модифицировать и распространять ОС на своих устройствах. Большинство новых функций ОС, которые Google представила для Android 11, станут частью проекта Android с открытым исходным кодом (AOSP), который предназначен для смартфонов. производители устройств основывают свое собственное программное обеспечение, но лицензия Apache 2.0, как я упоминал ранее, позволяет любому модифицировать программное обеспечение по своему усмотрению. соответствовать. Чтобы обеспечить согласованность API и поведения платформы на устройствах Android, Google объединяет распространение мобильных служб Google (в том числе приложения и платформы, такие как Google Play Store и Google Play Services) с лицензионными соглашениями, обязывающими устройства соблюдать правила Google Play. "

Программа совместимости Android(среди прочих требований). Программа совместимости Android состоит из нескольких наборов автоматических тестов и набора правил, перечисленных в Android. Документ определения совместимости (ЦДД).

В CDD Google перечисляет функции программного и аппаратного обеспечения, которые производители устройств «ДОЛЖНЫ» реализовать, только «НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ» реализовывать или «НЕ СЛЕДУЕТ» реализовывать. Если функция указана как «ОБЯЗАТЕЛЬНО» реализована, то производитель устройства должен добавить эту функцию, иначе он не сможет поставлять приложения Google на свои устройства. Если функция указана как «НЕ СЛЕДУЕТ» реализовывать, то производитель устройства не может добавить эту функцию или объединить приложения Google. Наконец, если функция указана как «НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ», то производитель устройства решает, хотят ли они реализовать эту функцию. CDD — это постоянно меняющийся документ, даже до его публикации каждый год после публичного выпуска новой версии Android. Google часто обновляет документ, удаляя функции, меняя язык, чтобы он был более понятным, и смягчает требования на основе отзывов своих партнеров. Однако как только Google опубликует CDD для конкретной версии Android, эти требования будут установлены для сертифицированных Google устройств, работающих под управлением этой версии ОС Android.

CDD Android 11 не станет общедоступным до конца этого года, вероятно, в начале сентября. Однако разработчик @удалитьscape поделился предварительной копией документа, в котором подробно описаны изменения, вносимые в CDD, что дает нам предварительное представление о том, как Google формирует Android 11 в экосистеме. Подавляющее большинство из более чем 60 изменений в CDD не очень интересны пользователям — они описывают, как производители устройств должны реализовать определенные API, объявить определенные функции и реализовать определенное ядро. функции. Однако наше внимание привлекли три изменения в CDD, поскольку они касаются некоторых наиболее интересных функций Android 11. Вот что мы обнаружили.

Элементы управления устройством

Управление устройством — это функция Android 11, которая позволяет отображать элементы управления системой умного дома в меню питания. Вы можете выключить свет, открыть дверь гаража, запустить пылесос, изменить температуру в доме и многое другое, не открывая дюжину различных приложений для умного дома. Google добавил API, которые разработчики приложений для умного дома могут использовать для отображения элементов управления в меню питания. Мы считаем, что это полезная функция, которая наконец-то ваш смартфон добавлен в умный дом. К сожалению, OEM-производителям не требуется фактическая реализация этой технологии. Если OEM-производитель считает, что эта функция неубедительна или хочет пойти другим путем (например, разрешить только интеллектуальные управление домом с устройств в их собственной экосистеме), то они могут просто отключить поддержку Device Элементы управления.

Когда Google впервые добавил элементы управления устройствами в CDD 25 февраля 2020 года, они потребовали его включения, добавив «ОБЯЗАТЕЛЬНОЕ» требование в раздел 2.2.3 «Требования к программному обеспечению для портативных устройств». Однако 20 мая 2020 г. Google обновил текст, удалив предложенное «ОБЯЗАТЕЛЬНО». В новом разделе 3.8.16 «Управление устройством» описывается, как должна быть реализована эта функция, но на самом деле не требуется ее реализация в первую очередь! Мы надеемся, что OEM-производители не отключат эту замечательную функцию, но у нас нет возможности узнать, отключили ли они ее, пока они не будут отключены. готовы представить свои собственные версии Android, созданные на базе Android 11, что произойдет не раньше, чем через несколько месяцев сейчас.

Предлагаемый раздел 3.8.16 (новый) — Элементы управления устройством (обновлено 20 мая 2020 г.)

3.8.16 Элементы управления устройством

Android включает API-интерфейсы ControlsProviderService и Control, которые позволяют разработчикам публиковать элементы управления устройствами для быстрого определения статуса и действий для пользователей.

3.8.16.1 Устройство контролирует возможности пользователя

Если устройства реализуют средства управления устройствами, то они:

  • [C-1-1] ДОЛЖЕН сообщить, что флаг android.software.controls.feature имеет значение TRUE.
  • [C-1-2] ДОЛЖЕН предоставлять пользователю возможность добавлять, редактировать, выбирать и управлять избранным пользователем из элементов управления, зарегистрированных сторонними приложениями через android.service.controls. ControlsProviderService и android.service.controls. API управления.
  • [C-1-3] ДОЛЖЕН предоставить доступ к этим возможностям пользователя в течение трех взаимодействий с панелью запуска.
  • [C-1-4] ДОЛЖНО точно отображать в этом доступе пользователя имя и значок каждого стороннего приложения, которое предоставляет элементы управления через android.service.controls. API ControlsProviderService, а также любой указанный значок, текст состояния, тип устройства, имя, структура, зона, пользовательский цвет и субтитры, предоставленные android.service.controls. API управления

И наоборот, если реализации устройств не реализуют такие элементы управления, то они

  • [C-2-1] ДОЛЖЕН сообщать значение Null для ControlsProviderService и Control API.

читать далее

Разговоры в уведомлениях

Разговоры в Android 11. Источник: Гугл

Одним из самых больших преимуществ Android по сравнению с iOS является то, как первая обрабатывает уведомления. Этот разрыв в удобстве использования станет еще больше в Android 11 с появлением функции «Беседы». В Android 11 уведомления из приложений для обмена сообщениями сгруппированы вместе и отображаются в отдельном разделе на панели уведомлений над большинством других уведомления. Это позволяет вам быстро просматривать сообщения и отвечать на них без необходимости пролистывать все остальные ожидающие уведомления. К сожалению, это изящное изменение уведомлений может быть доступно не на всех устройствах. Google предоставляет OEM-производителям возможность выбирать, хотят ли они «группировать и отображать уведомления о разговорах раньше, чем они». уведомления, не связанные с диалогом». OEM-производители часто настраивают панель уведомлений, поэтому неудивительно, что Google предоставляет OEM-производителям выбор здесь. Тем не менее, к сожалению, Google не решает обеспечить большую согласованность уведомлений в Android 11.

Предлагаемые изменения в Раздел 3.8.3.1 «Представление уведомлений» (обновлено 08.04.2020 г.)

Если реализации устройств позволяют сторонним приложениям уведомлять пользователей о заметных событиях, они:

...

В Android R реализована поддержка уведомлений о разговорах, которые используют NotificationManager. MessageStyle и предоставляет опубликованный идентификатор ярлыка «Люди».

Реализации устройства:

  • [H-SR] НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ группировать и отображать уведомления о разговорах перед отсутствием разговоров. уведомления, за исключением текущих уведомлений о приоритетных службах, и важность: высокая уведомления.

Если уведомления о разговорах сгруппированы в отдельный раздел, реализации устройства

  • [H-1-8] ДОЛЖНЫ отображать уведомления о разговорах перед уведомлениями о неразговорах, за исключением текущих уведомлений о приоритетных службах и важности: высокие уведомления.

Реализации устройства:

  • [H-SR] НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ предоставить доступ к следующим действиям из уведомлений о разговорах: отображать этот разговор в виде пузырька, если приложение предоставляет необходимые данные для пузырьков.

Реализация AOSP отвечает этим требованиям благодаря системному пользовательскому интерфейсу, настройкам и средству запуска по умолчанию.

читать далее

IdentityCredential – мобильные водительские права

Наконец, одна из функций, которая меня больше всего радует, — это API IdentityCredential. Как мы подробно рассказывали в прошлом годуAPI IdentityCredential позволяет приложениям хранить на устройстве документы, удостоверяющие личность, например мобильные водительские права. Несколько стран (и некоторые штаты США) по всему миру уже позволяют своим гражданам хранить свои водительские права в мобильном приложении. Однако Google работает над тем, чтобы сделать это более безопасным, храня данные в автономном режиме в безопасной среде.

Пример изображения цифровых водительских прав, доступный через приложение LA Wallet. Источник: Envoc

Исходный код Android 11 включает API IdentityCredential (который разработчики будут вызывать для хранения документов, удостоверяющих личность, в памяти телефона). безопасная среда) и IdentityCredential HAL (который взаимодействует с безопасной средой телефона), но OEM-производители не обязаны реализовать их. Когда 10 января 2020 года Google впервые предложил включить IdentityCredential в CDD, они указали это как обязательное требование. Однако 18 марта 2020 года они смягчили это требование и теперь настоятельно рекомендуют OEM-производителям поддерживать эту функцию. Мы не удивлены тем, что Google смягчил это требование — добавление изменения, которое повлияет на доверенную среду выполнения, потребует усилий со стороны OEM-производителей. Возможно, OEM-производителям просто нужно больше времени, чтобы подготовиться к этим изменениям. Однако для пользователей это означает, что нет никакой гарантии, что ваш конкретный смартфон Android 11 будет поддерживать безопасное хранение мобильных водительских прав в безопасной среде телефона.

Следует отметить, что нет никаких технических ограничений, препятствующих широкому распространению системы IdentityCredential среди устройств Android 11. Одним из требований для реализации системы IdentityCredential является то, что устройство имеет доверенное выполнение. Среда (TEE) или выделенный безопасный процессор, в котором «доверенное приложение» взаимодействует с сохраненными идентификационными данными. документы. Начиная с Android 7.0 Nougat, Google требует, чтобы все современные устройства Android поддерживали «изолированную среду выполнения» (согласно Раздел 2.2.5 – Модель безопасности в CDD). Устройства с процессорами ARM обычно оснащены процессорами ARM. TrustZone TEE, а Google предоставляет Надежная ОС который работает на TrustZone. Присутствия TEE достаточно для поддержки системы IdentityCredential, хотя было бы более безопасно, если бы учетные данные хранились во встроенном защищенном процессоре (например, в Безопасный процессор некоторых процессоров Qualcomm Snapdragon) или дискретный безопасный ЦП (например, в Титан М от Google или Новые чипы безопасности Samsung). Примечательно, что устройства с дискретными защищенными процессорами также могут поддерживать функцию «Режима прямого доступа» системы IdentityCredential. что позволит пользователю получить свой документ, удостоверяющий личность, даже если в устройстве недостаточно энергии для загрузки основной ОС.

Предлагаемый раздел 9.11.3 (новый) — Удостоверяющие личность данные (обновлено 18 марта 2020 г.)

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

Реализации устройства:

  • [C-SR] НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ внедрить систему идентификационных данных.

Если реализации устройства реализуют систему идентификационных данных, они:

  • [C-0-1] ДОЛЖЕН возвращать ненулевое значение для IdentityCredentialStore#getInstance() метод.
  • [C-0-2] ДОЛЖЕН реализовать API `android.security.identity.*` с кодом, взаимодействующим с доверенным приложение, работающее либо в доверенной среде выполнения (TEE), либо на выделенной защищенной процессор. Доверенное приложение должно быть реализовано таким образом, чтобы Надежная вычислительная база Система идентификационных данных не включает операционную систему Android.

читать далее

Google также работает над библиотекой IdentityCredential Jetpack, чтобы разработчикам было проще добавлять поддержку безопасного хранения личных данных. документов на Android, но настоящей проблемой будет заставить правительства авторизовать приложения, использующие этот API, для безопасного хранения правительственных идентификаторов. В соответствии с EngadgetЮжная Корея только что внедрила поддержку хранения водительских прав в мобильном приложении, поэтому мы начинаем наблюдать рост популярности этой технологии. Я, например, с нетерпением жду, к чему это приведет, потому что это будет означать, что на одну вещь меньше, когда я выйду с собой на улицу.


В документе, который мы получили, были перечислены изменения в CDD по дате внесения этих изменений. Последние изменения были внесены 10 июня 2020 года, а это значит, что имеющийся у нас документ достаточно актуален. Вполне возможно, что Google может отказаться от этих изменений и снова предъявить им все требования перед общедоступным выпуском Android 11, но мы сомневаемся, что Google внезапно внесет CDD. более строгий. Эти изменения, вероятно, были смягчены из-за отзывов OEM-производителей, которым придется вернуться и реализовать эти функции, если они еще не планировали это сделать. Это требует времени, усилий и денег, что еще больше задержит выпуск Android 11 для устройств, отличных от Google. Тем не менее, если Google снова потребует эти функции, мы опубликуем обновление на портале XDA.