Чтобы начать работу с 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); // ... });
Получив токен, отправьте его на сервер приложения и сохраните удобным для вас способом.
Отправить тестовое уведомление
Установите и запустите приложение на целевом устройстве. На устройствах Apple вам нужно будет принять запрос на разрешение на получение удаленных уведомлений.
Убедитесь, что приложение работает в фоновом режиме на устройстве.
В консоли Firebase откройте страницу «Сообщения» .
Если это ваше первое сообщение, выберите Создать свою первую кампанию .
- Выберите Уведомления Firebase и нажмите Создать .
В противном случае на вкладке «Кампании» выберите «Новая кампания» , а затем «Уведомления» .
Введите текст сообщения. Все остальные поля необязательны.
Выберите Отправить тестовое сообщение на правой панели.
В поле Добавить токен регистрации FCM введите токен регистрации, полученный вами в предыдущем разделе данного руководства.
Выберите Тест .
После выбора Теста целевое клиентское устройство (с приложением в фоновом режиме) должно получить уведомление.
Следующие шаги
Отправка сообщений в активные приложения
После успешной отправки уведомлений, когда приложение работает в фоновом режиме, ознакомьтесь с разделом Получение сообщений в клиенте JavaScript, чтобы начать отправку сообщений в активные приложения.
Выйдите за рамки уведомлений
Чтобы выйти за рамки уведомлений и добавить в свое приложение другие, более сложные функции, см.: