FCM을 시작하기 위해 앱이 기기에서 백그라운드 상태일 때 특정 사용자에게 알림 메시지를 보내는 가장 단순한 사용 사례부터 살펴보겠습니다. 이 페이지에서는 설정에서 검증까지 이 작업을 수행하는 모든 단계를 제시합니다. FCM용 JavaScript 클라이언트 앱 설정을 마쳤다면 일부 단계가 이미 완료된 상태일 것입니다.
SDK 설정
아직 추가하지 않았다면 JavaScript 프로젝트에 Firebase를 추가합니다.
등록 토큰 액세스
앱 인스턴스의 현재 등록 토큰을 가져와야 한다면 먼저 Notification.requestPermission()
을 사용해 사용자에게 알림 권한을 요청합니다.
다음과 같이 호출했을 때 권한이 부여되면 토큰을 반환하고 거부되면 프로미스를 거부합니다.
function requestPermission() { console.log('Requesting permission...'); Notification.requestPermission().then((permission) => { if (permission === 'granted') { console.log('Notification permission granted.');
FCM에는 firebase-messaging-sw.js
파일이 필요합니다.
firebase-messaging-sw.js
파일이 아직 없다면 토큰을 가져오기 전에 이 이름으로 빈 파일을 만들어 도메인의 루트에 저장합니다.
나중에 클라이언트 설정 프로세스에서 의미 있는 내용을 파일에 추가할 수 있습니다.
다음과 같이 현재 토큰을 가져올 수 있습니다.
Web
import { getMessaging, getToken } from "firebase/messaging"; // Get registration token. Initially this makes a network call, once retrieved // subsequent calls to getToken will return from cache. const messaging = getMessaging(); getToken(messaging, { vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => { if (currentToken) { // Send the token to your server and update the UI if necessary // ... } else { // Show permission request UI console.log('No registration token available. Request permission to generate one.'); // ... } }).catch((err) => { console.log('An error occurred while retrieving token. ', err); // ... });
Web
// Get registration token. Initially this makes a network call, once retrieved // subsequent calls to getToken will return from cache. messaging.getToken({ vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => { if (currentToken) { // Send the token to your server and update the UI if necessary // ... } else { // Show permission request UI console.log('No registration token available. Request permission to generate one.'); // ... } }).catch((err) => { console.log('An error occurred while retrieving token. ', err); // ... });
토큰이 확보되었으면 앱 서버로 전송하고 원하는 방법으로 저장하세요.
테스트 알림 메시지 전송
대상 기기에 앱을 설치하고 실행합니다. Apple 기기에서는 원격 알림을 수신할 수 있는 권한 요청을 수락해야 합니다.
앱을 기기에서 백그라운드 상태로 만듭니다.
Firebase Console에서 메시지 페이지를 엽니다.
첫 번째 메시지인 경우 첫 번째 캠페인 만들기를 선택합니다.
- Firebase 알림 메시지를 선택하고 만들기를 선택합니다.
그렇지 않으면 캠페인 탭에서 새 캠페인을 선택한 후 알림을 선택합니다.
메시지 본문을 입력합니다. 다른 모든 필드는 선택사항입니다.
오른쪽 창에서 테스트 메시지 전송을 선택합니다.
FCM 등록 토큰 추가 필드에 이 가이드의 앞선 섹션에서 가져온 등록 토큰을 입력합니다.
테스트를 선택합니다.
테스트를 선택하면 타겟팅된 클라이언트 기기(앱은 백그라운드 상태임)에서 알림을 수신해야 합니다.
다음 단계
포그라운드 앱에 메시지 전송
백그라운드 앱에 알림 메시지를 보내는 데 성공했으면 JavaScript 클라이언트에서 메시지 수신을 참조하여 포그라운드 앱에 전송하는 방법을 알아보세요.
알림 메시지 이외의 고급 기능
앱에 단순한 알림 메시지 이외에 더 많은 고급 기능을 추가하려면 다음을 참조하세요.