chrome.notifications

Описание

Используйте API chrome.notifications для создания расширенных уведомлений с помощью шаблонов и отображения этих уведомлений пользователям в системном трее.

Разрешения

notifications

Типы

NotificationBitmap

NotificationButton

Характеристики

  • iconUrl

    строка необязательный

    Устарело с версии Chrome 59.

    Значки кнопок не отображаются для пользователей Mac OS X.

  • заголовок

    нить

NotificationItem

Характеристики

  • сообщение

    нить

    Дополнительная информация об этом товаре.

  • заголовок

    нить

    Заголовок одного из пунктов уведомления в списке рассылки.

NotificationOptions

Характеристики

  • appIconMaskUrl

    строка необязательный

    Устарело с версии Chrome 59.

    Маска значка приложения не видна пользователям Mac OS X.

    URL-адрес маски значка приложения. К URL-адресам применяются те же ограничения, что и к iconUrl .

    Маска значка приложения должна быть в альфа-канале, поскольку будет учитываться только альфа-канал изображения.

  • кнопки

    Кнопка уведомления [] необязательный

    Текст и значки для двух кнопок уведомлений.

  • контекстное сообщение

    строка необязательный

    Измените содержимое уведомлений, используя шрифт меньшего толщины.

  • eventTime

    число необязательно

    Временная метка, связанная с уведомлением, в миллисекундах после начала эпохи (например, Date.now() + n ).

  • iconUrl

    строка необязательный

    URL-адрес аватара отправителя, значка приложения или миниатюры для уведомлений с изображениями.

    URL-адреса могут быть URL-адресами данных, URL-адресами BLOB-объектов или URL-адресами, относительными к ресурсу в файле .crx этого расширения.

    **Примечание:** Это значение обязательно для метода notifications.create () .

  • imageUrl

    строка необязательный

    Устарело с версии Chrome 59.

    Изображение не отображается для пользователей Mac OS X.

    URL-адрес миниатюры изображения для уведомлений типа «изображение». К URL-адресам применяются те же ограничения, что и к iconUrl .

  • isClickable

    логический необязательный

    Устарело с версии Chrome 67.

    Начиная с Chrome 67, эта подсказка пользовательского интерфейса игнорируется.

  • предметы

    NotificationItem [] optional

    Элементы для уведомлений, содержащих несколько элементов. Пользователи Mac OS X видят только первый элемент.

  • сообщение

    строка необязательный

    Основное содержание уведомления.

    **Примечание:** Это значение обязательно для метода notifications.create () .

  • приоритет

    число необязательно

    Приоритет варьируется от -2 до 2. -2 — самый низкий приоритет, 2 — самый высокий, ноль — значение по умолчанию. На платформах, не поддерживающих центр уведомлений (Windows, Linux и Mac), значения -2 и -1 приводят к ошибке, поскольку уведомления с такими приоритетами вообще не отображаются.

  • прогресс

    число необязательно

    Текущий прогресс варьируется от 0 до 100.

  • requireInteraction

    логический необязательный

    Chrome 50+

    Указывает, что уведомление должно оставаться видимым на экране до тех пор, пока пользователь не активирует или не закроет его. По умолчанию — false.

  • тихий

    логический необязательный

    Chrome 70+

    Указывает, что при отображении уведомления не должны издаваться звуки или вибрация. По умолчанию установлено значение false.

  • заголовок

    строка необязательный

    Заголовок уведомления (например, имя отправителя для электронного письма).

    **Примечание:** Это значение обязательно для метода notifications.create () .

  • тип

    TemplateType ( необязательный параметр)

    Какой тип уведомления отображать? Необходимо для метода notifications.create .

PermissionLevel

Перечисление

"предоставленный"
Указывает, что пользователь выбрал отображение уведомлений от приложения или расширения. Это значение по умолчанию при установке.

"отклонен"
Указывает, что пользователь решил не показывать уведомления от приложения или расширения.

TemplateType

Перечисление

"базовый"
Содержит иконку, заголовок, сообщение, развернутое сообщение и до двух кнопок.

"изображение"
Содержит иконку, заголовок, сообщение, развернутое сообщение, изображение и до двух кнопок.

"список"
Содержит значок, заголовок, сообщение, элементы и до двух кнопок. Пользователи Mac OS X видят только первый элемент.

«прогресс»
Содержит значок, заголовок, сообщение, индикатор выполнения и до двух кнопок.

Методы

clear()

Обещать
chrome.notifications.clear(
  notificationId: string,
  callback?: function,
)
: Promise<boolean>

Удаляет указанное уведомление.

Параметры

  • notificationId

    нить

    Идентификатор уведомления, которое необходимо удалить. Он возвращается методом notifications.create .

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (wasCleared: boolean) => void

    • был очищен

      логический

Возвраты

  • Promise<boolean>

    Chrome 116+

    Возвращает Promise, который разрешается, указывая, существовало ли соответствующее уведомление.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

create()

Обещать
chrome.notifications.create(
  notificationId?: string,
  options: NotificationOptions,
  callback?: function,
)
: Promise<string>

Создает и отображает уведомление.

Параметры

  • notificationId

    строка необязательный

    Идентификатор уведомления. Если не задан или пуст, идентификатор будет сгенерирован автоматически. Если он совпадает с существующим уведомлением, этот метод сначала удаляет это уведомление, прежде чем переходить к операции создания. Идентификатор не может быть длиннее 500 символов.

    Параметр notificationId обязателен для использования до версии Chrome 42.

  • Содержание уведомления.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (notificationId: string) => void

    • notificationId

      нить

Возвраты

  • Promise<string>

    Chrome 116+

    Возвращает промис, который разрешается с идентификатором уведомления (указанным или сгенерированным), представляющим созданное уведомление.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getAll()

Обещать
chrome.notifications.getAll(
  callback?: function,
)
: Promise<object>

Получает все уведомления от этого приложения или расширения.

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (notifications: object) => void

    • уведомления

      объект

Возвраты

  • Promise<object>

    Chrome 116+

    Возвращает Promise, который разрешается с набором notification_ids, имеющихся в системе в данный момент.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getPermissionLevel()

Обещать
chrome.notifications.getPermissionLevel(
  callback?: function,
)
: Promise<PermissionLevel>

Уточняет, включены ли уведомления от этого приложения или расширения пользователем.

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (level: PermissionLevel) => void

Возвраты

  • Chrome 116+

    Возвращает промис, который разрешается с текущим уровнем доступа.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

update()

Обещать
chrome.notifications.update(
  notificationId: string,
  options: NotificationOptions,
  callback?: function,
)
: Promise<boolean>

Обновляет существующее уведомление.

Параметры

  • notificationId

    нить

    Идентификатор уведомления, которое необходимо обновить. Он возвращается методом notifications.create .

  • Содержимое уведомления, которое необходимо обновить.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (wasUpdated: boolean) => void

    • было обновлено

      логический

Возвраты

  • Promise<boolean>

    Chrome 116+

    Возвращает Promise, который разрешается, указывая, существовало ли соответствующее уведомление.

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

События

onButtonClicked

chrome.notifications.onButtonClicked.addListener(
  callback: function,
)

Пользователь нажал кнопку в уведомлении.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (notificationId: string, buttonIndex: number) => void

    • notificationId

      нить

    • buttonIndex

      число

onClicked

chrome.notifications.onClicked.addListener(
  callback: function,
)

Пользователь нажал на кнопку в области уведомления, не являющейся кнопкой.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (notificationId: string) => void

    • notificationId

      нить

onClosed

chrome.notifications.onClosed.addListener(
  callback: function,
)

Уведомление было закрыто либо системой, либо действием пользователя.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (notificationId: string, byUser: boolean) => void

    • notificationId

      нить

    • byUser

      логический

onPermissionLevelChanged

chrome.notifications.onPermissionLevelChanged.addListener(
  callback: function,
)

Пользователь изменяет уровень доступа. Начиная с Chrome 47, только в ChromeOS есть пользовательский интерфейс, который отправляет это событие.

Параметры

onShowSettings

Устарело с версии Chrome 65.
chrome.notifications.onShowSettings.addListener(
  callback: function,
)

Кнопка пользовательских настроек уведомлений больше не поддерживается.

Пользователь перешёл по ссылке на настройки уведомлений приложения. Начиная с Chrome 47, только ChromeOS имеет пользовательский интерфейс, который отправляет это событие. Начиная с Chrome 65, этот интерфейс также был удалён из ChromeOS.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    () => void