본문 바로가기

자바스크립트

푸시 알림: 웹 앱에서 푸시 알림을 사용하여 사용자에게 메시지를 전송합니다.

반응형

푸시 알림은 웹 앱 또는 웹 사이트에서 사용자에게 메시지를 전송하는 기능을 제공하는 웹 기술입니다. 이를 통해 사용자는 웹 앱을 실행하지 않은 상태에서도 알림을 받을 수 있습니다. 아래에 개념 설명, 예제 코드, 전문 용어 설명, 티스토리에 사용할 한글 태그를 제공하겠습니다.

개념 설명:

푸시 알림은 웹 앱이나 웹 페이지에서 사용자에게 메시지를 전달하는 기술입니다. 이를 통해 사용자는 웹 앱을 실행 중이지 않아도 중요한 정보나 알림을 받을 수 있습니다.
서비스 워커는 백그라운드에서 실행되는 JavaScript 파일로, 푸시 알림을 관리하고 수신한 메시지를 사용자에게 알리는 역할을 합니다.
Push API는 서비스 워커와 푸시 메시지를 관리하기 위한 JavaScript API입니다.
Notification API는 브라우저에서 알림을 표시하는 데 사용되는 API입니다.

 

예제 코드:
아래는 간단한 푸시 알림을 구현한 예제 코드입니다. 이 코드는 서비스 워커를 등록하고, 사용자에게 알림을 허용할 때 푸시 알림을 보내는 방법을 보여줍니다. 푸시 메시지를 보내려면 서버 측 코드도 필요합니다.


<!-- index.html -->
<script>
  if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('service-worker.js')
      .then(function(registration) {
        console.log('서비스 워커 등록 성공:', registration);
      })
      .catch(function(error) {
        console.log('서비스 워커 등록 실패:', error);
      });
  }

  function subscribeToPush() {
    if ('serviceWorker' in navigator && 'PushManager' in window) {
      navigator.serviceWorker.ready.then(function(registration) {
        registration.pushManager.subscribe({ userVisibleOnly: true })
          .then(function(subscription) {
            console.log('푸시 알림을 구독하였습니다.');
            // 서버에 구독 정보 전송
          })
          .catch(function(error) {
            console.error('푸시 알림 구독 실패:', error);
          });
      });
    }
  }
</script>
위 코드에서 subscribeToPush 함수는 사용자가 알림을 허용하는 버튼을 클릭했을 때 호출됩니다.

전문 용어 설명:
서비스 워커 (Service Worker): 백그라운드에서 실행되는 JavaScript 파일로, 웹 페이지와는 별개로 동작하며 오프라인 캐싱, 푸시 알림 등을 처리합니다.
Push API: 서비스 워커와 웹 앱 간의 푸시 알림 통신을 관리하는 API입니다.
Notification API: 브라우저에서 사용자에게 알림을 표시하기 위한 API입니다.
구독 (Subscription): 사용자가 푸시 알림을 받기 위해 서버 또는 웹 앱과 연결한 것을 의미합니다.

반응형