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

Чтобы начать работу с 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 version 9

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 version 8

// 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. Установите и запустите приложение на целевом устройстве.

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

  3. Откройте компоновщик уведомлений и выберите Новое уведомление .

  4. Введите текст сообщения.

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

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

  7. Нажмите Тест

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

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

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

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

Не ограничивайтесь сообщениями уведомлений

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