Статьи

огляд повідомлень

  1. Відображення на пристрої
  2. Рядок стану і панель повідомлень
  3. Повідомлення heads-up
  4. Позначка на значку додатка
  5. Пристрої Wear OS
  6. Дизайн повідомлень
  7. Дії з повідомленнями
  8. Повідомлення з розкриваються компонентами
  9. Оновлення та групи повідомлень
  10. канали повідомлень
  11. важливість повідомлень
  12. Режим "Не турбувати"
  13. обмеження
  14. сумісність
  15. Android 4.4 (API рівня 16)
  16. Android 7.0 (API рівня 24)

Повідомлення виводиться поза інтерфейсу додатку і повідомляє користувача про будь-яку подію в ньому (нагадування, повідомлення та інша термінова інформація). Натиснувши на повідомлення, можна перейти в додаток або виконати дію.

На цій сторінці ви дізнаєтеся, де з'являються повідомлення і які функції можна їм призначити. Детальніше про створення повідомлень ...

Про дизайн і схемах взаємодії докладно розказано в нашому керівництві . На цій сторінці зібрані приклади повідомлень для платформи Android і представлені оптимальні методи використання API Notification.Style в додатках для мобільних і переносних пристроїв.

Відображення на пристрої

Повідомлення виводяться на екран по-різному, наприклад у вигляді значка в рядку стану, розгорнутого повідомлення в панелі повідомлень або позначки на значку додатка. Повідомлення також можуть автоматично з'являтися на підключених носяться пристроях.

Рядок стану і панель повідомлень

В першу чергу повідомлення з'являється у вигляді значка на панелі стану.

Мал. 1. Значки повідомлень з'являються в лівій частині рядка стану.

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

Для цього потрібно провести вниз по рядку стану

Мал. 2. Панель повідомлень.

У деяких повідомленнях можуть бути кнопки і додаткові відомості. Щоб побачити їх, потрібно потягнути повідомлення вниз.

Повідомлення залишаються в панелі, поки не будуть закриті користувачем або додатком.

Повідомлення heads-up

В Android 5.0 і пізніших версій повідомлення про особливо важливі події можуть ненадовго з'являтися у вигляді спливаючого вікна. Вони називаються повідомлення heads-up, і їх можна побачити тільки на розблокованому пристрої.

Мал. 3. Повідомлення heads-up з'являється під час використання іншої програми.

Повідомлення heads-up виводяться в той момент, коли подія відбувається в додатку. Вони зникають з екрану через кілька секунд, але залишаються в панелі повідомлень.

Приклади ситуацій, в яких можуть бути викликані такі повідомлення:

  • Користувач виконує дії в повноекранному режимі (в додатку застосовується намір fullScreenIntent ).
  • На пристроях Android 7.1 (API рівня 25) і більш ранніх версій: повідомлення має високий пріоритет і супроводжується звуком або вібрацією.
  • На пристроях Android 8.0 (API рівня 26) і пізніших версій: канал повідомлень має високий пріоритет.

Починаючи з версії Android 5.0 повідомлення можуть з'являтися на заблокованому екрані.

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

За допомогою установок системи користувачі можуть самі відмовитися від повідомлень на заблокованому екрані або вказати, які відомості повинні в них з'являтися. Починаючи з версії Android 8.0 можна включити або відключити повідомлення на заблокованому екрані для кожного каналу окремо.

Мал. 4. У повідомленнях на заблокованому екрані особиста інформація прихована.

Детальніше про те, як обмежити показ особистої інформації в повідомленнях ...

Позначка на значку додатка

На пристроях Android 8.0 (рівень API 26) і пізніших версій поруч зі значками додатків з'являються позначки у вигляді точок, які сигналізують про наявність повідомлень (якщо панель запуску на пристрої підтримує цю функцію).

Щоб відкрити меню повідомлень і зробити подальші дії, користувачеві потрібно натиснути на значок програми і утримувати його.

Щоб відкрити меню повідомлень і зробити подальші дії, користувачеві потрібно натиснути на значок програми і утримувати його

Мал. 5. Позначки і меню повідомлень.

Детальніше про позначках на значках додатків ...

Пристрої Wear OS

Якщо до телефону або планшету користувача підключено пристрій Wear OS, то все повідомлення будуть автоматично з'являтися на ньому разом з розкриваються компонентами і кнопками.

Ви можете налаштувати вигляд повідомлень спеціально для носяться пристроїв, наприклад додавши в них готові відповіді або можливість голосового введення. Детальніше про спеціальні функції повідомлень для носяться пристроїв ...

Детальніше   про спеціальні функції повідомлень для носяться пристроїв

Мал. 6. Повідомлення автоматично з'являються на підключених пристроях Wear OS.

Дизайн повідомлень

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

Мал. 7. Повідомлення з типовими відомостями.

На малюнку 7 показано, з яких частин зазвичай складається повідомлення.

  1. Невеликий значок, заданий за допомогою елемента setSmallIcon () (Обов'язково).
  2. Назва додатка. Це системна інформація.
  3. Відмітка часу. Це системна інформація, але її можна змінити за допомогою елемента setWhen () або приховати, додавши параметр setShowWhen (false) .
  4. Великий значок, заданий за допомогою елемента setLargeIcon () (не обов'язково). Як правило, використовується для фото контакту. Не ставте тут значок програми.
  5. Тема, заданий за допомогою елемента setContentTitle () (не обов'язково).
  6. Текст, що настроюється за допомогою елемента setContentText () (не обов'язково).

Детальніше про те, як створювати повідомлення з цими та іншими компонентами ...

Дії з повідомленнями

Рекомендуємо налаштовувати повідомлення так, щоб дії з ними призводили до тієї чи іншої події в додатку. Крім того, ви можете додати в повідомлення кнопки, які дозволять виконати завдання, не відкриваючи додаток. Приклад показаний на малюнку 9.

Мал. 9. Повідомлення з командними кнопками.

Починаючи з версії Android 7.0 (API рівня 24) в повідомлення можна додати поле для введення тексту, яке дозволяє відповідати на повідомлення, не переходячи в додаток.

Детальніше про те, як додати в повідомлення командні кнопки ...

Повідомлення з розкриваються компонентами

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

Мал. 8. Повідомлення з розкривається областю перегляду.

У цю область також можна додавати картинки, кілька ланцюжків повідомлень, вікно листування або елементи управління відтворенням. Детальніше про те, як створити повідомлення з розкриваються компонентами ...

Щоб забезпечити правильну роботу повідомлень на будь-яких пристроях, ми рекомендуємо використовувати наші шаблони. Однак при необхідності ви можете створити власний макет повідомлення .

Оновлення та групи повідомлень

Ми не рекомендуємо відправляти окремі повідомлення про кожне нове подію в додатку, так як це сильно відволікає користувачів. Замість цього можна відправити лише одне повідомлення і при необхідності оновити його . Щоб проінформувати користувача про нові повідомлення в ланцюжку, використовуйте повідомлення в стилі папки "Вхідні" .

Якщо жоден з цих способів вам не підходить, гуртуйте окремі повідомлення. Ця можливість доступна на пристроях Android 7.0 і пізніших версій. На панелі сповіщень з'явиться зведена інформація про декілька подій. Кожне з них можна подивитися окремо.

Користувач може розкрити як групу повідомлень, так і будь-яке повідомлення всередині неї.

Мал. 10. Група повідомлень в згорнутому і розгорнутому вигляді.

Детальніше про те, як групувати повідомлення ...

канали повідомлень

Починаючи з версії Android 8.0 (API рівня 26) усі повідомлення повинні бути розподілені по каналам, інакше вони не будуть відображатися. Якщо користувачеві нецікава певна категорія повідомлень, він може відмовитися тільки від неї, а не від усіх повідомлень відразу. Крім того, для кожного каналу можна налаштувати зовнішній вигляд повідомлень і звукове сповіщення. Для цього потрібно перейти в настройки системи, як показано на малюнку 11, або натиснути на повідомлення і утримувати його до появи меню.

На пристроях Android 7.1 (API рівня 25) і більш ранніх версій поділ по каналах не передбачено, тому користувачі можуть керувати лише всіма повідомленнями додатки відразу.

1 (API рівня 25) і більш ранніх версій поділ по каналах не передбачено, тому користувачі можуть керувати лише всіма повідомленнями додатки відразу

Мал. 11. Налаштування повідомлень "Годинник".

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

В Android 8.0 і пізніших версій каналах також присвоюється рівень важливості . Це потрібно, щоб всі пов'язані з каналу повідомлення відображалися однаково.

Детальніше про те, як створювати і налаштовувати канали повідомлень ...

важливість повідомлень

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

В Android 8.0 (API рівня 26) і пізніших версій важливість повідомлення залежить від параметра importance каналу, в якому воно з'являється. Користувачі можуть змінювати важливість каналу в настройках системи (див. Малюнок 12). В Android 7.1 (API рівня 25) і більш ранніх версій важливість повідомлення визначається параметром priority .

1 (API рівня 25) і більш ранніх версій важливість повідомлення визначається параметром   priority

Мал. 12. На пристроях Android 8.0 і пізніших версій користувачі можуть самі визначати важливість каналу повідомлень.

Можливі такі рівні важливості:

  • крайня важливість (повідомлення heads-up зі звуковим оповіщенням);
  • висока (повідомлення зі звуком);
  • середня (повідомлення без звуку);
  • низька (повідомлення без звуку і без значка в рядку стану).

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

Детальніше про те, як налаштувати важливість повідомлень ...

Режим "Не турбувати"

На пристроях Android 5.0 (API рівня 21) і пізніших версій доступний режим Не турбувати, при якому відключаються звукові оповіщення та вібросигнал. При цьому повідомлення з'являються в інтерфейсі як зазвичай, якщо користувач не заборонить це в налаштуваннях.

Є три рівні режиму "Не турбувати":

  • Повна тиша. В цьому режимі відключається вибросигнал і все звуки, в тому числі для будильника, музичного програвача, ігр та відео.
  • Тільки будильник. Блокується вибросигнал і все звуки, крім будильника.
  • Тільки важливі. Користувачі самі вирішують, які категорії включити, наприклад будильники, нагадування, повідомлення про заходи, дзвінки, повідомлення і т. Д. Крім того, можна вибрати користувачів, повідомлення та дзвінки від яких не будуть блокуватися (див. Малюнок 13).

Малюнок 13)

Мал. 13. Користувачі можуть вибрати категорії повідомлень, які будуть супроводжуватися звуком (зліва), а також вказати, від кого отримувати дзвінки та повідомлення зі звуком (праворуч).

На пристроях Android 8.0 (API рівня 26) і пізніших версій режим "Не турбувати" дозволяє робити винятки для окремих каналів повідомлень з того чи іншого додатка. Наприклад, в додатку платіжної системи в разі надходження коштів на рахунок і їх зняття можуть бути розподілені по різних каналах. Таким чином користувач зможе отримувати в режимі "Не турбувати" тільки повідомлення про зняття коштів. На пристроях Android 7.1 (API рівня 25) і більш ранніх версій можна або дозволити, або заборонити всі повідомлення від програми. Вибір по каналах недоступний.

Детальніше про те, як налаштувати системні категорії і канали повідомлень ...

Додатки з компонентом Service , Наприклад медіапрогравачі, виконують тривалі операції у фоновому режимі. При цьому користувач обізнаний про них. Такі служби обов'язково повинні отримувати сповіщення, прибрати яку можна, тільки зупинивши роботу служби або видаливши її з переднього плану.

Детальну інформацію про це ви знайдете в розділі Запуск служби на передньому плані . Якщо ви хочете створити медіапрогравач, дізнайтеся про те, як використовувати повідомлення MediaStyle .

обмеження

Починаючи з версії Android 8.1 (API рівня 27) діють обмеження на кількість звукових сповіщень в секунду з однієї програми. Якщо за одну секунду буде опубліковано кілька повідомлень, всі вони з'являться в інтерфейсі, але звуком буде супроводжуватися лише перше.

Частота оновлення повідомлень також обмежена. Якщо протягом однієї секунди з'явиться занадто багато оновлень, система може пропустити деякі з них.

сумісність

Ми вдосконалюємо інтерфейс повідомлень і відповідні API з моменту виходу Android 1.0. Щоб останні функції API повідомлень працювали на старих пристроях, використовуйте допоміжні бібліотеки NotificationCompat і NotificationManagerCompat , А також їх підкласи. Вам не доведеться писати умовний код для перевірки рівнів API, так як перевірка буде виконана автоматично.

В компонент NotificationCompat додані актуальні методи. Зверніть увагу, що доступність методу для компонента NotificationCompat не гарантує того, що відповідна функція буде належним чином працювати на застарілих пристроях. В окремих випадках виклик нового API може привести до відмови. Наприклад, якщо викликати метод NotificationCompat.addAction () , То командна кнопка відобразиться тільки на пристроях з Android 4.1 (API рівня 16) і пізніших версій.

Нижче розказано, як змінювався функціонал повідомлень на ОС Android.

Android 4.4 (API рівня 16)

  • Додані шаблони розкриваються повідомлень зі збільшеною областю перегляду контенту. Щоб розгорнути повідомлення, користувачам потрібно провести по ньому вгору або вниз.
  • У повідомлення можна додавати кнопки.
  • З'явилася можливість відключати всі повідомлення з додатків через настройки.

Android 4.4 (API рівнів 19 і 20)

  • В API додані служби моніторингу повідомлень.
  • В API рівня 20 з'явилася підтримка Android Wear (тепер Wear OS).

Android 5.0 (API рівня 21)

  • Додані повідомлення heads-up і повідомлення на заблокованому екрані.
  • З'явилася можливість переводити пристрій в режим "Не турбувати" і налаштовувати пріоритет повідомлень на рівні "Тільки важливі".
  • В API додані методи, які дозволяють налаштувати показ повідомлень на заблокованому екрані ( setVisibility () ), А також визначити, які відомості будуть виводитися на екран.
  • доданий метод setPriority () , За допомогою якого можна визначити рівень важливості повідомлення. Повідомлення з високою важливістю з'являються у вигляді повідомлень heads-up, які привертають увагу користувачів.
  • На пристроях з Android Wear (тепер Wear OS) з'явилася можливість створювати стеки повідомлень за допомогою методу setGroup () . Функція була недоступна для телефонів і планшетів. У наступних версіях вона стала називатися "угруповання повідомлень".

Android 7.0 (API рівня 24)

  • Змінено стилі повідомлень. Стали більш помітні аватари і фото відправників.
  • Додано спеціальний шаблон для месенджерів і ще два шаблони з новим оформленням і розкриваються компонентами.
  • Функція угруповання повідомлень з'явилася на телефонах і планшетах. Використовується той же API, що і для створення стеків повідомлень на Android Wear (тепер Wear OS) в Android 5.0 (API рівня 21).
  • Додана можливість набирати текст і відповідати на повідомлення прямо з повідомлень.

Android 8.0 (API рівня 26)

  • У цій версії окремі повідомлення повинні розподілятися по каналах.
  • Користувачі можуть відключати тільки канали повідомлень , А не всі повідомлення з програми відразу.
  • Додані позначки на значках додатків, що інформують про наявність активних повідомлень.
  • З'явилася можливість відкладати повідомлення прямо через панель, а також задавати для них час очікування.
  • Користувачі можуть вибрати колір фону для кожного повідомлення.
  • API, пов'язані з деякими функціями повідомлень, переміщені з об'єкта Notification в NotificationChannel . Наприклад, на Android 8.0 і пізніших версій метод NotificationChannel.setImportance () слід використовувати замість NotificationCompat.Builder.setPriority () .

Новости