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

Чтобы разработчики могли создавать удобные для пользователей приложения, мы вводим дополнительные типы активных служб и новый набор ограничений. В этой статье рассказывается, как объявлять активные службы в Play Console, и объясняются требования, предъявляемые к ним и к полноэкранным уведомлениям, запускаемым с помощью намерений.

Требования к активным службам для Android 14

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

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

Критерии использования активных служб подробно описаны в разделе Использование активных служб правил в отношении злоупотребления ресурсами устройства и сети. При переходе на Android 14 необходимо объявить типы активных служб.

Объявление активных служб в Play Console

Если ваше приложение поддерживает Android 14 или более позднюю версию, вам понадобится объявить типы всех используемых активных служб в новой декларации на странице Контент приложения в Play Console (Правила > Контент приложения).

Для каждого объявляемого типа необходимо сделать следующее:

  1. Описать функции приложения, использующие активную службу.
  2. Описать влияние на работу пользователя, если выполнение задачи:
    • откладывается системой (не происходит немедленно);
    • прерывается системой (приостанавливается или запускается заново).
  3. Добавить ссылку на видео, в котором показано, как реализована каждая функция, связанная с активной службой. В нем должны присутствовать шаги, которые пользователю нужно выполнить, чтобы запустить функцию в приложении.
  4. Указать вариант использования, подходящий в вашей ситуации. Его можно будет выбрать из списка. Некоторые варианты использования, связанные с типами активных служб, показаны в таблице ниже, а при необходимости вы также можете ввести данные вручную.

    Для определенных вариантов использования мы рекомендуем выбирать альтернативные API. Более подробную информацию об этом можно найти на сайте Android для разработчиков.

Примечание. Таблица содержит не все возможные примеры. Чтобы определить, применим ли доступ к активным службам для вариантов использования, которые не упомянуты ниже, ознакомьтесь с информацией в разделе Разрешения на запуск активных служб.

Тип активной службы Варианты использования Описание и примеры
TYPE_CAMERA Трансляция с камеры в фоновом режиме Сохранение доступа к камере при переходе в фоновый режим, например в приложениях для видеосвязи, поддерживающих многозадачность.
TYPE_CONNECTED_DEVICE Непрерывная передача данных на внешнее устройство Взаимодействие с внешними устройствами (в том числе передача данных) через Bluetooth, NFC, инфракрасный порт, USB или сетевое подключение. Это могут быть носимые устройства, радионяни, гарнитуры, мультимедийные системы автомобилей и не только.
TYPE_DATA_SYNC Передача по сети: резервное копирование и восстановление данных Применяется только для функций, запускаемых пользователем. Пример: вместо ежедневного автоматического копирования в облако всех новых фото пользователь сам выбирает изображения для резервного копирования.
Передача по сети: загрузка и скачивание Пример: получение данных или их обработка на сервере.
Локальная обработка: перекодирование медиафайлов Изменение формата медиафайлов, таких как аудио и видео, например при редактировании роликов.
Локальная обработка: импорт или экспорт Пример: перенос файлов с SD-карты.
Локальная обработка: другое Применяется для задач, запущенных пользователем, но не для регулярных системных или инициированных сервером процессов. Например, это может быть изменение размера изображения или шифрование.
TYPE_HEALTH Синхронизация данных о здоровье Синхронизация информации о здоровье в фитнес-приложениях и между ними или получение такими приложениями сведений, которые отслеживаются на устройстве, например данных о тренировках или количестве шагов.
TYPE_LOCATION Обновление данных о местоположении в фоновом режиме: передача геоданных, запущенная пользователем Пример: функции, с помощью которых можно делиться местоположением с друзьями или отслеживать передвижение на транспорте.
Обновление данных о местоположении в фоновом режиме: навигация Например, сюда относится непрерывная актуализация маршрута на картах или отслеживание совместных поездок.
Геозонирование Определение параметров, по которым формируются границы интересующих местоположений.
TYPE_MEDIA_PLAYBACK Воспроизведение мультимедиа Непрерывное воспроизведение аудио или видео в фоновом режиме, в том числе при потоковой передаче.
Показ картинки в картинке Показ в фоновом режиме мультимедийного контента в уменьшенном формате.
TYPE_MEDIA_PROJECTION Проецирование медиафайлов и контента, потоковая передача или запись с помощью MediaProjection API Проецирование медиаконтента на неосновной дисплей или на внешние устройства (в том числе потоковая передача) через MediaProjection API.
TYPE_MICROPHONE Доступ к аудио в фоновом режиме Использование звука, например получение голосовых команд виртуальным ассистентом без их сохранения и запись голоса.
TYPE_PHONE_CALL Звонки с помощью API для сотовой связи, VoIP и телекоммуникаций Поддержка различных функций для звонков.
TYPE_REMOTE_MESSAGING Ретрансляция текстовых сообщений на другое устройство Возможность продолжить выполнение задач, связанных с обменом сообщениями, при переключении на другое устройство. Пример: отправка текстовых сообщений через веб-клиент путем связывания его с телефоном при помощи QR-кода. Распространяется не только на SMS.

Декларация станет доступной к ноябрю 2023 года. У вас будет время, чтобы заполнить ее, получить наши замечания и при необходимости внести изменения.

Требования к полноэкранным уведомлениям в Android 14, запускаемым с помощью намерений

Если вы хотите, чтобы пользователи получали важные сообщения о необходимости выполнить срочное действие, то можете добавить в приложение полноэкранные уведомления, запускаемые с помощью намерений. Чтобы разрешение USE_FULL_SCREEN_INTENT действовало только для уведомлений с высоким приоритетом, в Android 14 мы вводим ограничения на его использование. Это поможет сделать работу с приложением удобнее для пользователей.

Часто задаваемые вопросы

Что изменится в работе с активными службами в Android 14?

Мы вводим несколько новых типов активных служб, и теперь необходимо будет объявлять тип активной службы и подходящее для нее разрешение. Например, если вы объявите активную службу типа camera, вам также нужно будет объявить разрешение FOREGROUND_SERVICE_CAMERA. Кроме того, использование активных служб в приложении должно будет соответствовать остальным требованиям, приведенным в правилах в отношении злоупотребления ресурсами устройства и сети.

Как выбрать правильный тип активной службы?

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

Что такое разрешение для активной службы? Должен ли пользователь предоставлять его перед запуском активной службы?

Если приложение, предназначенное для Android 14, использует активную службу, разработчики должны объявить для нее разрешение, соответствующее ее типу. Например, если в продукте используется активная служба типа location, нужно объявить разрешение FOREGROUND_SERVICE_LOCATION. Разрешения, которые относятся к определенным типам активных служб, называются обычными и предоставляются по умолчанию при установке. Пользователи не могут их отозвать.

Существуют ли дополнительные требования помимо объявления подходящих разрешений для активных служб?

В зависимости от типа активной службы могут применяться дополнительные системные требования. К ним относятся динамические разрешения, которые приложение запрашивает у пользователя перед их использованием. Например, если используется активная служба типа location, пользователь также должен предоставить одно из двух разрешений: ACCESS_COARSE_LOCATION или ACCESS_FINE_LOCATION. Актуальную информацию можно найти в документации.

Что делать, если мой вариант использования активной службы не соответствует ни одному из предложенных типов?

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

Что значит "работа заметна для пользователя"?

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

Что делать, если приложение предназначено для версий ниже Android 14?

Если приложение предназначено для версий ниже Android 14, продолжайте использовать атрибут android:foregroundServiceType в элементе <service> файла манифеста.

В чем разница между активной службой типа dataSync и передачей данных, инициированной пользователем?

Задания передачи данных, инициированные пользователем, позволяют упростить передачу данных по сети. Они обеспечивают отслеживание ограничений и автоматическое управление запретами блокировки. Активная служба типа dataSync может включать в себя передачу данных локально или по сети, а также их локальную обработку на устройстве. Если вы передаете данные по сети (например, мобильной, Wi-Fi или Bluetooth) в ответ на явный запрос пользователя, вместо активной службы типа dataSync мы рекомендуем использовать задание передачи данных, инициированное пользователем.

Что изменится в работе с полноэкранными уведомлениями, запускаемыми с помощью намерений, в Android 14?

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

Когда вступят в силу изменения, которые связаны с полноэкранными уведомлениями в Android 14, запускаемыми с помощью намерений?

Эти изменения начнут действовать 31 мая 2024 года.

Основная функция моего приложения – установка будильника или прием телефонных звонков и видеовызовов. Что нужно сделать, чтобы ему было автоматически предоставлено это разрешение?

Если ваше приложение поддерживает Android 14 или более позднюю версию, вы можете объявить, что его основная функция подходит для показа полноэкранных уведомлений, запускаемых с помощью намерений. Для этого перейдите на страницу Контент приложения в Play Console (Правила > Контент приложения). Декларация будет доступна с апреля 2024 года. Мы предоставим вам время на ее заполнение.

Эта информация оказалась полезной?

Как можно улучшить эту статью?
true
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
494566280999887252
true
Поиск по Справочному центру
true
true
true
true
true
92637
false
false