백그라운드 앱에 테스트 메시지 보내기

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 파일이 아직 없다면 토큰을 가져오기 전에 이 이름으로 빈 파일을 만들어 도메인의 루트에 저장합니다. 나중에 클라이언트 설정 프로세스에서 의미 있는 내용을 파일에 추가할 수 있습니다.

다음과 같이 현재 토큰을 가져올 수 있습니다.

웹 모듈식 API

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);
  // ...
});

웹 네임스페이스화된 API

// 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);
  // ...
});

토큰을 가져왔으면 앱 서버로 전송하고 원하는 방법으로 저장하세요.

테스트 알림 메시지 전송

  1. 대상 기기에 앱을 설치하고 실행합니다. Apple 기기에서는 원격 알림을 수신할 수 있는 권한 요청을 수락해야 합니다.

  2. 앱을 기기에서 백그라운드 상태로 만듭니다.

  3. Firebase Console에서 메시지 페이지를 엽니다.

  4. 첫 번째 메시지인 경우 첫 번째 캠페인 만들기를 선택합니다.

    1. Firebase 알림 메시지를 선택하고 만들기를 선택합니다.
  5. 그렇지 않으면 캠페인 탭에서 새 캠페인을 선택한 후 알림을 선택합니다.

  6. 메시지 본문을 입력합니다. 다른 모든 필드는 선택사항입니다.

  7. 오른쪽 창에서 테스트 메시지 전송을 선택합니다.

  8. FCM 등록 토큰 추가 필드에 이 가이드의 앞선 섹션에서 가져온 등록 토큰을 입력합니다.

  9. 테스트를 선택합니다.

테스트를 선택하면 타겟팅된 클라이언트 기기(앱은 백그라운드 상태임)에서 알림을 수신해야 합니다.

다음 단계

포그라운드 앱에 메시지 전송

백그라운드 앱에 알림 메시지를 보내는 데 성공했으면 JavaScript 클라이언트에서 메시지 수신을 참조하여 포그라운드 앱에 전송하는 방법을 알아보세요.

알림 메시지 이외의 고급 기능

앱에 단순한 알림 메시지 이외에 더 많은 고급 기능을 추가하려면 다음을 참조하세요.