Описание
 Используйте API chrome.notifications для создания расширенных уведомлений с использованием шаблонов и показа этих уведомлений пользователям в системном трее.
Разрешения
notificationsТипы
NotificationBitmap
NotificationButton
Характеристики
- iconUrlстрока необязательная Не рекомендуется с версии Chrome 59Значки кнопок не видны пользователям Mac OS X. 
- заголовокнить 
NotificationItem
Характеристики
- сообщениенить Дополнительные сведения об этом товаре. 
- заголовокнить Название одного пункта списка уведомлений. 
NotificationOptions
Характеристики
- appIconMaskUrlстрока необязательная Не рекомендуется с версии Chrome 59Маска значка приложения не видна пользователям Mac OS X. URL-адрес маски значка приложения. URL-адреса имеют те же ограничения, что и iconUrl . Маска значка приложения должна быть в альфа-канале, поскольку будет рассматриваться только альфа-канал изображения. 
- кнопкиNotificationButton [] необязательно Текст и значки для двух кнопок действий с уведомлениями. 
- contextMessageстрока необязательная Альтернативный текст уведомления с использованием шрифта меньшего веса. 
- eventTimeномер необязательно Метка времени, связанная с уведомлением, в миллисекундах после эпохи (например, Date.now() + n).
- iconUrlстрока необязательная URL-адрес аватара отправителя, значка приложения или миниатюры для уведомлений об изображениях. URL-адреса могут быть URL-адресами данных, URL-адресами объектов или URL-адресами ресурсов в файле .crx этого расширения. **Примечание:**Это значение требуется для метода notifications.create().
- URL-адрес изображениястрока необязательная Не рекомендуется с версии Chrome 59Изображение не отображается для пользователей Mac OS X. URL-адрес миниатюры изображения для уведомлений в виде изображений. URL-адреса имеют те же ограничения, что и iconUrl . 
- кликабельнологическое необязательное Не рекомендуется с версии Chrome 67Эта подсказка пользовательского интерфейса игнорируется в Chrome 67. 
- предметыNotificationItem [] необязательно Элементы для многоэлементных уведомлений. Пользователи Mac OS X видят только первый элемент. 
- сообщениестрока необязательная Основное содержание уведомления. **Примечание:**Это значение требуется для метода notifications.create().
- приоритетномер необязательно Приоритет варьируется от -2 до 2. -2 — самый низкий приоритет. 2 — самый высокий. Значение по умолчанию — 0. На платформах, не поддерживающих центр уведомлений (Windows, Linux и Mac), значения -2 и -1 приводят к ошибке, поскольку уведомления с такими приоритетами вообще не будут отображаться. 
- прогрессномер необязательно Текущий прогресс варьируется от 0 до 100. 
- требуетсяВзаимодействиелогическое необязательное Хром 50+Указывает, что уведомление должно оставаться видимым на экране до тех пор, пока пользователь не активирует или не закроет его. Значение по умолчанию — false. 
- тихийлогическое необязательное Хром 70+Указывает, что при отображении уведомления не должно быть никаких звуков или вибраций. Значение по умолчанию — false. 
- заголовокстрока необязательная Название уведомления (например, имя отправителя для электронной почты). **Примечание:**Это значение требуется для метода notifications.create().
- типTemplateType необязательный Тип отображаемого уведомления. Требуется для метода notifications.create.
PermissionLevel
Перечисление
 "предоставленный"  "отклонен"
 Указывает, что пользователь выбрал показ уведомлений от приложения или расширения. Это значение по умолчанию при установке. 
 Указывает, что пользователь решил не показывать уведомления от приложения или расширения.
TemplateType
Перечисление
 "базовый"  "изображение"  "список"  "прогресс"
 Содержит значок, заголовок, сообщение, расширенное сообщение и до двух кнопок. 
 Содержит значок, заголовок, сообщение, расширенное сообщение, изображение и до двух кнопок. 
 Содержит значок, заголовок, сообщение, элементы и до двух кнопок. Пользователи Mac OS X видят только первый элемент. 
 Содержит значок, заголовок, сообщение, ход выполнения и до двух кнопок.
Методы
clear()
chrome.notifications.clear(
notificationId: string,
callback?: function,
): Promise<boolean>
Очищает указанное уведомление.
Параметры
- идентификатор уведомлениянить Идентификатор уведомления, которое необходимо удалить. Возвращается методом notifications.create.
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(wasCleared: boolean) => void - был очищенбулев 
 
Возврат
- Обещание<логическое> Хром 116+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
create()
chrome.notifications.create(
notificationId?: string,
options: NotificationOptions,
callback?: function,
): Promise<string>
Создает и отображает уведомление.
Параметры
- идентификатор уведомлениястрока необязательная Идентификатор уведомления. Если не задан или не указан, идентификатор будет сгенерирован автоматически. Если он совпадает с существующим уведомлением, этот метод сначала очищает его, прежде чем продолжить операцию создания. Длина идентификатора не может превышать 500 символов. Параметр notificationIdявляется обязательным для версий Chrome до 42.
- параметрыСодержание уведомления. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(notificationId: string) => void - идентификатор уведомлениянить 
 
Возврат
- Обещание<строка> Хром 116+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getAll()
chrome.notifications.getAll(
callback?: function,
): Promise<object>
Извлекает все уведомления этого приложения или расширения.
Параметры
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(notifications: object) => void - уведомленияобъект 
 
Возврат
- Обещание<объект> Хром 116+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getPermissionLevel()
chrome.notifications.getPermissionLevel(
callback?: function,
): Promise<PermissionLevel>
Проверяет, включил ли пользователь уведомления от этого приложения или расширения.
Параметры
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(level: PermissionLevel) => void - уровень
 
Возврат
- Обещание< УровеньРазрешения > Хром 116+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
update()
chrome.notifications.update(
notificationId: string,
options: NotificationOptions,
callback?: function,
): Promise<boolean>
Обновляет существующее уведомление.
Параметры
- идентификатор уведомлениянить Идентификатор уведомления, которое необходимо обновить. Возвращается методом notifications.create.
- параметрыСодержание уведомления для обновления. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(wasUpdated: boolean) => void - был обновленбулев 
 
Возврат
- Обещание<логическое> Хром 116+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
События
onButtonClicked
chrome.notifications.onButtonClicked.addListener(
callback: function,
)
Пользователь нажал кнопку в уведомлении.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(notificationId: string, buttonIndex: number) => void - идентификатор уведомлениянить 
- buttonIndexчисло 
 
onClicked
chrome.notifications.onClicked.addListener(
callback: function,
)
Пользователь нажал на область уведомления, не являющуюся кнопкой.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(notificationId: string) => void - идентификатор уведомлениянить 
 
onClosed
chrome.notifications.onClosed.addListener(
callback: function,
)
Уведомление закрыто либо системой, либо действием пользователя.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(notificationId: string, byUser: boolean) => void - идентификатор уведомлениянить 
- отПользователябулев 
 
onPermissionLevelChanged
chrome.notifications.onPermissionLevelChanged.addListener(
callback: function,
)
Пользователь изменяет уровень разрешений. Начиная с Chrome 47, только ChromeOS имеет пользовательский интерфейс, который отправляет это событие.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(level: PermissionLevel) => void - уровень
 
onShowSettings
chrome.notifications.onShowSettings.addListener(
callback: function,
)
Кнопка пользовательских настроек уведомлений больше не поддерживается.
Пользователь нажал на ссылку настроек уведомлений приложения. Начиная с Chrome 47, пользовательский интерфейс, отправляющий это событие, есть только в ChromeOS. Начиная с Chrome 65 этот интерфейс также был удалён из ChromeOS.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:() => void