chrome.notifications

설명

chrome.notifications API를 사용하면 템플릿을 사용하여 리치 알림을 만들고 작업 표시줄에서 사용자에게 이러한 알림을 표시할 수 있습니다.

권한

notifications

유형

NotificationBitmap

NotificationButton

속성

  • iconUrl

    문자열 선택사항

    Chrome 59부터 지원 중단됨

    Mac OS X 사용자에게는 버튼 아이콘이 표시되지 않습니다.

  • title

    string

NotificationItem

속성

  • 메시지

    string

    이 항목에 대한 추가 세부정보입니다.

  • title

    string

    목록 알림 항목 1개의 제목입니다.

NotificationOptions

속성

  • appIconMaskUrl

    문자열 선택사항

    Chrome 59부터 지원 중단됨

    앱 아이콘 마스크는 Mac OS X 사용자에게 표시되지 않습니다.

    앱 아이콘 마스크의 URL입니다. URL에는 iconUrl과 동일한 제한사항이 적용됩니다.

    이미지의 알파 채널만 고려되므로 앱 아이콘 마스크는 알파 채널에 있어야 합니다.

  • 버튼

    NotificationButton[] 선택사항

    최대 2개의 알림 작업 버튼을 위한 텍스트와 아이콘입니다.

  • contextMessage

    문자열 선택사항

    낮은 두께의 글꼴이 사용된 대체 알림 콘텐츠

  • eventTime

    number 선택사항

    에포크 이후 경과된 밀리초 단위의 알림과 연결된 타임스탬프입니다 (예: Date.now() + n).

  • iconUrl

    문자열 선택사항

    발신자 아바타의 아바타, 앱 아이콘 또는 이미지 알림의 썸네일로 연결되는 URL입니다.

    URL은 데이터 URL, blob URL 또는 이 확장 프로그램의 .crx 파일 내 리소스와 관련된 URL일 수 있습니다.

    **참고:**이 값은 notifications.create() 메서드에 필요합니다.

  • imageUrl

    문자열 선택사항

    Chrome 59부터 지원 중단됨

    Mac OS X 사용자에게는 이미지가 표시되지 않습니다.

    이미지 유형 알림의 이미지 썸네일 URL입니다. URL에는 iconUrl과 동일한 제한사항이 적용됩니다.

  • isClickable

    부울 선택사항

    Chrome 67부터 지원 중단됨

    이 UI 힌트는 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 이상

    사용자가 알림을 활성화하거나 닫을 때까지 알림이 화면에 계속 표시되어야 함을 나타냅니다. 기본값은 false입니다.

  • 무음

    부울 선택사항

    Chrome 70 이상

    알림이 표시될 때 소리나 진동을 발생시키지 않아야 함을 나타냅니다. 기본값은 false입니다.

  • title

    문자열 선택사항

    알림의 제목입니다 (예: 이메일의 발신자 이름).

    **참고:**이 값은 notifications.create() 메서드에 필요합니다.

  • 유형

    TemplateType 선택사항

    표시할 알림 유형입니다. notifications.create 메서드에 필요합니다.

PermissionLevel

열거형

"granted"
사용자가 앱 또는 확장 프로그램의 알림을 표시하도록 선택했음을 지정합니다. 이는 설치 시 기본값입니다.

"denied"
사용자가 앱 또는 확장 프로그램의 알림을 표시하지 않도록 선택했음을 지정합니다.

TemplateType

열거형

"basic"
아이콘, 제목, 메시지, expandMessage 및 최대 두 개의 버튼을 포함합니다.

"image"
아이콘, 제목, 메시지, expandMessage, 이미지 및 최대 2개의 버튼이 포함됩니다.

"list"
아이콘, 제목, 메시지, 항목 및 최대 두 개의 버튼을 포함합니다. Mac OS X 사용자에게는 첫 번째 항목만 표시됩니다.

"progress"
아이콘, 제목, 메시지, 진행률 및 최대 두 개의 버튼이 포함됩니다.

방법

clear()

프로미스
chrome.notifications.clear(
  notificationId: string,
  callback?: function,
)

지정된 알림을 지웁니다.

매개변수

  • notificationId

    string

    삭제할 알림의 ID입니다. 이는 notifications.create 메서드에서 반환됩니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (wasCleared: boolean)=>void

    • wasCleared

      boolean

반환 값

  • Promise<boolean>

    Chrome 116 이상

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

create()

프로미스
chrome.notifications.create(
  notificationId?: string,
  options: NotificationOptions,
  callback?: function,
)

알림을 만들고 표시합니다.

매개변수

  • notificationId

    문자열 선택사항

    알림의 식별자입니다. 설정하지 않거나 비워두면 ID가 자동으로 생성됩니다. 이 메서드가 기존 알림과 일치하는 경우, 이 메서드는 만들기 작업을 진행하기 전에 먼저 해당 알림을 지웁니다. 식별자는 500자(영문 기준) 이하여야 합니다.

    Chrome 42 이전에는 notificationId 매개변수가 필요합니다.

  • 알림의 내용

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (notificationId: string)=>void

    • notificationId

      string

반환 값

  • 프로미스<string>

    Chrome 116 이상

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

getAll()

프로미스
chrome.notifications.getAll(
  callback?: function,
)

이 앱 또는 확장 프로그램의 모든 알림을 검색합니다.

매개변수

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (notifications: object)=>void

    • 알림

      객체

반환 값

  • Promise<object>

    Chrome 116 이상

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

getPermissionLevel()

프로미스
chrome.notifications.getPermissionLevel(
  callback?: function,
)

사용자가 이 앱 또는 확장 프로그램에서 알림을 사용 설정했는지 여부를 검색합니다.

매개변수

반환 값

  • Chrome 116 이상

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

update()

프로미스
chrome.notifications.update(
  notificationId: string,
  options: NotificationOptions,
  callback?: function,
)

기존 알림을 업데이트합니다.

매개변수

  • notificationId

    string

    업데이트할 알림의 ID입니다. 이는 notifications.create 메서드에서 반환됩니다.

  • 업데이트할 알림의 콘텐츠입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (wasUpdated: boolean)=>void

    • wasUpdated

      boolean

반환 값

  • Promise<boolean>

    Chrome 116 이상

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

이벤트

onButtonClicked

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

사용자가 알림의 버튼을 눌렀습니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

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

    • notificationId

      string

    • buttonIndex

      숫자

onClicked

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

사용자가 알림의 버튼이 아닌 영역을 클릭했습니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (notificationId: string)=>void

    • notificationId

      string

onClosed

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

시스템 또는 사용자 작업에 의해 알림이 닫혔습니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

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

    • notificationId

      string

    • byUser

      boolean

onPermissionLevelChanged

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

사용자가 권한 수준을 변경하는 경우 Chrome 47부터는 ChromeOS에만 이 이벤트를 전달하는 UI가 있습니다.

매개변수

onShowSettings

Chrome 65 이후 지원 중단됨
chrome.notifications.onShowSettings.addListener(
  callback: function,
)

맞춤 알림 설정 버튼은 더 이상 지원되지 않습니다.

사용자가 앱의 알림 설정 링크를 클릭했습니다. Chrome 47부터는 ChromeOS에만 이 이벤트를 전달하는 UI가 있습니다. Chrome 65부터는 ChromeOS에서도 이 UI가 삭제되었습니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    ()=>void