Про вимоги до активних сервісів і показу сповіщень на весь екран

Щоб розробники могли створювати додатки, які забезпечують узгоджену взаємодію з користувачем, ми розширюємо типи активних сервісів і впроваджуємо нові відповідні обмеження. З цієї статті ви дізнаєтеся про нові вимоги до активних сервісів, а також про те, як задекларувати інформацію щодо активних сервісів у Play Console. Тут ви також знайдете вимоги до показу сповіщень на весь екран.

Вимоги до активних сервісів в Android 14

Щоб вам було простіше визначити прийнятні сценарії застосування активних сервісів і мету роботи свого додатка у фоновому режимі, зверніть увагу на вимоги, яким має відповідати додаток, перш ніж застосовувати активний сервіс в Android 14 або новіших версій.

У розділі Дозволи для активних сервісів наших правил щодо зловживання пристроєм і мережею докладно описано вимоги до використання активних сервісів. Якщо ви націлюєте свій додаток на Android 14, ви повинні задекларувати типи активних сервісів.

Як задекларувати інформацію про активні сервіси в Play Console

Якщо ваші додатки призначено для Android 14 або новіших версій, укажіть усі типи активних сервісів, які використовуєте, у новій декларації в Play Console на сторінці Контент додатків (Правила > Контент додатків).

Виконайте наведені нижче дії для кожного типу активних сервісів, який ви декларуєте.

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

    Для певних застосувань ми радимо використовувати альтернативні API. Список цих застосувань і відповідних альтернативних рекомендованих інтерфейсів 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 Здійснення викликів: мобільні мережі, технології VoiP, інтерфейси API для телекомунікації Підтримка різних функцій виклику.
TYPE_REMOTE_MESSAGING Ретрансляція текстових повідомлень на інший пристрій Забезпечення можливості продовжити спілкування на іншому пристрої (наприклад, можна дозволити користувачам надсилати текстові повідомлення через вебклієнт, установивши з’єднання між вебклієнтом і телефоном за допомогою QR-коду). Не обмежується SMS-повідомленнями.

Ця декларація стане доступною до листопада 2023 р. Ви матимете достатньо часу, щоб заповнити її, отримати наш відгук і за потреби внести зміни.

Вимоги до показу сповіщень на весь екран в Android 14

За допомогою сповіщень на весь екран ви можете показувати користувачам важливу інформацію, яка потребує негайної уваги. Щоб цей дозвіл надавався лише у відповідних високопріоритетних сценаріях, ми впроваджуємо обмеження на використання дозволу USE_FULL_SCREEN_INTENT в Android 14. Такі обмеження допоможуть забезпечити кращу взаємодію з користувачами.

Якщо ви використовуєте дозвіл USE_FULL_SCREEN_INTENT, то з 31 травня 2024 р. будете зобов’язані заповнити декларацію в Play Console, щоб підтвердити, що основне призначення вашого додатка відповідає вимогам до автоматичного отримання цього дозволу. Починаючи з 22 січня 2025 р., отримувати цей дозвіл за умовчанням зможуть лише додатки з функціями дзвінків і будильника, націлені на Android 14 і новіших версій. Інші додатки зможуть отримати дозвіл USE_FULL_SCREEN_INTENT лише за згодою користувача. У додатках, для яких не заповнено декларацію або які не відповідають вимогам для отримання цього дозволу за умовчанням, розробникам потрібно буде показувати користувачам запит на його надання під час нового встановлення, а в разі відхилення запиту – спрощувати функціональність додатка.

Поширені запитання

Які зміни буде впроваджено в Android 14 щодо активних сервісів?

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

Як дізнатися, який тип активного сервісу слід використовувати?

Вибирайте тип активного сервісу, що відповідає його призначенню. Наприклад, якщо ви створили додаток, який відстежує виконання вправ, задекларуйте активний сервіс типу health. Залежно від додатка для нього можна задекларувати кілька типів активних сервісів.

Що таке дозвіл на запуск активного сервісу й чи має користувач схвалити його, перш ніж цей сервіс почне роботу?

Якщо додаток, націлений на Android 14, використовує певний активний сервіс, його розробник повинен задекларувати дозвіл на запуск активного сервісу відповідного типу. Наприклад, якщо в додатку використовується активний сервіс типу location, задекларуйте дозвіл FOREGROUND_SERVICE_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 замість звичайного стане дозволом на спеціальний доступ. Дозвіл USE_FULL_SCREEN_INTENT автоматично надаватиметься додаткам, лише якщо їх основне призначення належить до високопріоритетних: налаштування будильника або отримання аудіо- чи відеодзвінків. Основне призначення додатка – це функція, без якої він не працюватиме. Інші додатки також можуть використовувати цей дозвіл, але лише після отримання згоди користувача.

Коли почнуть діяти зміни щодо показу сповіщень на весь екран в Android 14?

Ці зміни почнуть діяти 31 травня 2024 р.

Як переконатися, що мій додаток, основна функція якого – отримання аудіо- чи відеодзвінків або додаток для будильника, автоматично отримає цей дозвіл?

Якщо ваш додаток націлено на Android 14 і новіших версій, ви можете вказати, що його основне призначення передбачає показ сповіщень на весь екран. Це можна зробити в Play Console на сторінці Контент додатків (Правила > Контент додатків). Ця декларація стане доступною у квітні 2024 року, і ви матимете достатньо часу, щоб заповнити її.

Чи корисна ця інформація?

Як можна її покращити?

Потрібна додаткова допомога?

Спробуйте дії нижче.

true
Пошук
Очистити пошук
Закрити пошук
Головне меню
12782775837431178716
true
Пошук у довідковому центрі
true
true
true
true
true
92637
false
false