Описание
Используйте 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,
): Promise<boolean>
Очищает указанное уведомление.
Параметры
- идентификатор уведомления
нить
Идентификатор уведомления, которое необходимо удалить. Возвращается методом
notifications.create
.
Возврат
Обещание<логическое>
Хром 116+
create()
chrome.notifications.create(
notificationId?: string,
options: NotificationOptions,
): Promise<string>
Создает и отображает уведомление.
Параметры
- идентификатор уведомления
строка необязательная
Идентификатор уведомления. Если не задан или не указан, идентификатор будет сгенерирован автоматически. Если он совпадает с существующим уведомлением, этот метод сначала очищает его, прежде чем продолжить операцию создания. Длина идентификатора не может превышать 500 символов.
Параметр
notificationId
является обязательным для версий Chrome до 42. - параметры
Содержание уведомления.
Возврат
Обещание<строка>
Хром 116+
getAll()
chrome.notifications.getAll(): Promise<object>
Извлекает все уведомления этого приложения или расширения.
Возврат
Обещание<объект>
Хром 116+
getPermissionLevel()
chrome.notifications.getPermissionLevel(): Promise<PermissionLevel>
Проверяет, включил ли пользователь уведомления от этого приложения или расширения.
Возврат
Обещание< УровеньРазрешения >
Хром 116+
update()
chrome.notifications.update(
notificationId: string,
options: NotificationOptions,
): Promise<boolean>
Обновляет существующее уведомление.
Параметры
- идентификатор уведомления
нить
Идентификатор уведомления, которое необходимо обновить. Возвращается методом
notifications.create
. - параметры
Содержание уведомления для обновления.
Возврат
Обещание<логическое>
Хром 116+
События
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