Щоб розробники могли створювати додатки, які забезпечують узгоджену взаємодію з користувачем, ми розширюємо типи активних сервісів і впроваджуємо нові відповідні обмеження. З цієї статті ви дізнаєтеся про нові вимоги до активних сервісів, а також про те, як задекларувати інформацію щодо активних сервісів у Play Console. Тут ви також знайдете вимоги до показу сповіщень на весь екран.
Вимоги до активних сервісів в Android 14
Щоб вам було простіше визначити прийнятні сценарії застосування активних сервісів і мету роботи свого додатка у фоновому режимі, зверніть увагу на вимоги, яким має відповідати додаток, перш ніж застосовувати активний сервіс в Android 14 або новіших версій.
- Потрібно задекларувати в маніфесті кожен тип активного сервісу, який ви плануєте використовувати.
- Залежно від вибраного типу сервісу потрібно задекларувати й запитувати відповідний дозвіл на запуск активного сервісу.
У розділі Дозволи для активних сервісів наших правил щодо зловживання пристроєм і мережею докладно описано вимоги до використання активних сервісів. Якщо ви націлюєте свій додаток на Android 14, ви повинні задекларувати типи активних сервісів.
Як задекларувати інформацію про активні сервіси в Play Console
Якщо ваші додатки призначено для Android 14 або новіших версій, укажіть усі типи активних сервісів, які використовуєте, у новій декларації в Play Console на сторінці Контент додатків (Правила > Контент додатків).
Виконайте наведені нижче дії для кожного типу активних сервісів, який ви декларуєте.
- Надайте опис функцій додатка, які використовують активний сервіс кожного типу.
- Опишіть можливі наслідки для користувача, якщо:
- система відкладе (не розпочне негайно) роботу сервісу;
- система перерве роботу сервісу (призупинить і/або перезапустить).
- Додайте посилання на відео, де продемонстровано роботу кожного активного сервісу й дії, які користувач має виконати в додатку, щоб активувати відповідну функцію.
- Для кожного типу активного сервісу виберіть варіант застосування зі списку запропонованих. Деякі застосування й відповідні типи активних сервісів наведено в таблиці нижче. Це неповний перелік. Якщо в таблиці немає вашого варіанта застосування, введіть його вручну.
Для певних застосувань ми радимо використовувати альтернативні 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:foregroundServiceType
для елемента <service> у файлі маніфесту свого додатка.
Завдання з передавання даних, ініційовані користувачем, покликані спростити передавання даних у мережі. До них застосовується відстеження обмежень і автоматичне керування блокуваннями переходу в режим сну. Активний сервіс типу dataSync може, зокрема, передавати дані в локальній мережі або через Інтернет, а також обробляти дані на пристрої користувача. Якщо у вашому випадку дані мають передаватися в мережі (через Wi-Fi, мобільний зв’язок або Bluetooth) за явним запитом користувача, замість активного сервісу типу dataSync радимо використовувати завдання з передавання даних, ініційоване користувачем.
В Android 14 дозвіл USE_FULL_SCREEN_INTENT
замість звичайного стане дозволом на спеціальний доступ. Дозвіл USE_FULL_SCREEN_INTENT
автоматично надаватиметься додаткам, лише якщо їх основне призначення належить до високопріоритетних: налаштування будильника або отримання аудіо- чи відеодзвінків. Основне призначення додатка – це функція, без якої він не працюватиме. Інші додатки також можуть використовувати цей дозвіл, але лише після отримання згоди користувача.
Ці зміни почнуть діяти 31 травня 2024 р.
Якщо ваш додаток націлено на Android 14 і новіших версій, ви можете вказати, що його основне призначення передбачає показ сповіщень на весь екран. Це можна зробити в Play Console на сторінці Контент додатків (Правила > Контент додатків). Ця декларація стане доступною у квітні 2024 року, і ви матимете достатньо часу, щоб заповнити її.