browser.notifications

Описание

Используйте chrome.notifications API, чтобы создавать уведомления на основе шаблонов и показывать их пользователям в области уведомлений.

Разрешения

notifications

Типы

NotificationBitmap

NotificationButton

Свойства

  • iconUrl

    Строка (необязательно)

    Не поддерживается начиная с Chrome 59

    Значки кнопок не видны пользователям Mac OS X.

  • название

    string

NotificationItem

Свойства

  • Сообщение

    string

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

  • название

    string

    Заголовок одного элемента в уведомлении со списком.

NotificationOptions

Свойства

  • appIconMaskUrl

    Строка (необязательно)

    Не поддерживается начиная с Chrome 59

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

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

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

  • кнопки

    NotificationButton[] необязательный

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

  • contextMessage

    Строка (необязательно)

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

  • eventTime

    number (необязательно)

    Временная метка, связанная с уведомлением, в миллисекундах с начала эпохи (например, 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.

  • items

    NotificationItem[] необязательный

    Объекты для уведомлений о нескольких объектах. Пользователи Mac OS X увидят только первый пункт.

  • Сообщение

    Строка (необязательно)

    Основной контент уведомления.

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

  • приоритет

    number (необязательно)

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

  • выполнено

    number (необязательно)

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

  • requireInteraction

    Логическое значение (необязательно)

    Chrome 50 и более поздних версий browser.* начиная с Chrome 148

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

  • без звука

    Логическое значение (необязательно)

    Chrome 70 и более поздних версий browser.* начиная с Chrome 148

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

  • название

    Строка (необязательно)

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

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

  • тип

    TemplateType необязательный

    Тип уведомления, которое нужно показать. Обязательный параметр для метода notifications.create.

PermissionLevel

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

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

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

TemplateType

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

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

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

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

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

Методы

clear()

browser.notifications.clear(
  notificationId: string,
)
: Promise<boolean>

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

Параметры

  • notificationId

    string

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

Возвраты

  • Promise<boolean>

    Chrome 116+ browser.* начиная с Chrome 148

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

create()

browser.notifications.create(
  notificationId?: string,
  options: NotificationOptions,
)
: Promise<string>

Создает и показывает уведомление.

Параметры

  • notificationId

    Строка (необязательно)

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

    Параметр notificationId обязателен для версий Chrome, предшествующих 42.

  • Параметры

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

Возвраты

  • Promise<string>

    Chrome 116+ browser.* начиная с Chrome 148

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

getAll()

browser.notifications.getAll(): Promise<object>

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

Возвраты

  • Promise<object>

    Chrome 116+ browser.* начиная с Chrome 148

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

getPermissionLevel()

browser.notifications.getPermissionLevel(): Promise<PermissionLevel>

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

Возвраты

  • Chrome 116+ browser.* начиная с Chrome 148

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

update()

browser.notifications.update(
  notificationId: string,
  options: NotificationOptions,
)
: Promise<boolean>

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

Параметры

  • notificationId

    string

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

  • Параметры

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

Возвраты

  • Promise<boolean>

    Chrome 116+ browser.* начиная с Chrome 148

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

События

onButtonClicked

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

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

Параметры

  • обратный вызов

    function

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

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

    • notificationId

      string

    • buttonIndex

      число

onClicked

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

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

Параметры

  • обратный вызов

    function

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

    (notificationId: string) => void

    • notificationId

      string

onClosed

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

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

Параметры

  • обратный вызов

    function

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

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

    • notificationId

      string

    • byUser

      Логическое значение

onPermissionLevelChanged

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

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

Параметры

  • обратный вызов

    function

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

    (level: PermissionLevel) => void

onShowSettings

Не поддерживается начиная с Chrome 65
browser.notifications.onShowSettings.addListener(
  callback: function,
)

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

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

Параметры

  • обратный вызов

    function

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

    () => void