Отправьте тестовое сообщение в фоновое приложение

Чтобы начать работу с FCM , создайте простейший вариант использования: отправка уведомления определенному пользователю, когда приложение находится в фоновом режиме на устройстве. На этой странице перечислены все шаги для достижения этого, от настройки до проверки — она может охватывать шаги, которые вы уже выполнили, если вы настроили клиентское приложение JavaScript для FCM .

Настройте SDK

Если вы еще этого не сделали, добавьте Firebase в свой проект JavaScript .

Доступ к регистрационному токену

Когда вам нужно получить текущий токен регистрации для экземпляра приложения, сначала запросите разрешения на уведомления у пользователя с помощью 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);
  // ...
});

Получив токен, отправьте его на сервер приложения и сохраните удобным для вас способом.

Отправить тестовое уведомление

  1. Установите и запустите приложение на целевом устройстве. На устройствах Apple вам нужно будет принять запрос на разрешение на получение удаленных уведомлений.

  2. Убедитесь, что приложение работает в фоновом режиме на устройстве.

  3. В консоли Firebase откройте страницу «Сообщения» .

  4. Если это ваше первое сообщение, выберите Создать свою первую кампанию .

    1. Выберите Уведомления Firebase и нажмите Создать .
  5. В противном случае на вкладке «Кампании» выберите «Новая кампания» , а затем «Уведомления» .

  6. Введите текст сообщения. Все остальные поля необязательны.

  7. Выберите Отправить тестовое сообщение на правой панели.

  8. В поле Добавить токен регистрации FCM введите токен регистрации, полученный вами в предыдущем разделе данного руководства.

  9. Выберите Тест .

После выбора Теста целевое клиентское устройство (с приложением в фоновом режиме) должно получить уведомление.

Следующие шаги

Отправка сообщений в активные приложения

После успешной отправки уведомлений, когда приложение работает в фоновом режиме, ознакомьтесь с разделом Получение сообщений в клиенте JavaScript, чтобы начать отправку сообщений в активные приложения.

Выйдите за рамки уведомлений

Чтобы выйти за рамки уведомлений и добавить в свое приложение другие, более сложные функции, см.: