Wyślij wiadomość testową do aplikacji działającej w tle

Aby rozpocząć korzystanie z FCM, przygotuj najprostszy przypadek użycia: wysłanie powiadomienia do określonego użytkownika, gdy aplikacja działa w tle na urządzeniu. Na tej stronie znajdują się wszystkie kroki, które należy wykonać, aby to osiągnąć, od konfiguracji po weryfikację — może obejmować kroki, które już wykonałeś, jeśli skonfigurowałeś aplikację kliencką JavaScript dla FCM.

Skonfiguruj pakiet SDK

Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase do swojego projektu JavaScript .

Uzyskaj dostęp do tokena rejestracyjnego

Jeśli chcesz pobrać bieżący token rejestracji dla instancji aplikacji, najpierw poproś użytkownika o uprawnienia do powiadamiania za pomocą Notification.requestPermission() . Po wywołaniu, jak pokazano, zwraca token, jeśli zezwolenie zostało udzielone, lub odrzuca obietnicę, jeśli jest odrzucona:

function requestPermission() {
  console.log('Requesting permission...');
  Notification.requestPermission().then((permission) => {
    if (permission === 'granted') {
      console.log('Notification permission granted.');

FCM wymaga pliku firebase-messaging-sw.js . Jeśli nie masz już pliku firebase-messaging-sw.js , utwórz pusty plik o tej nazwie i umieść go w katalogu głównym swojej domeny przed pobraniem tokena. Możesz dodać znaczącą zawartość do pliku później w procesie konfiguracji klienta.

Aby odzyskać bieżący token:

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

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

Po uzyskaniu tokena wyślij go na serwer aplikacji i przechowuj przy użyciu preferowanej metody.

Wyślij wiadomość z powiadomieniem testowym

  1. Zainstaluj i uruchom aplikację na urządzeniu docelowym. Na urządzeniach Apple musisz zaakceptować prośbę o pozwolenie na otrzymywanie zdalnych powiadomień.

  2. Upewnij się, że aplikacja działa w tle na urządzeniu.

  3. W konsoli Firebase otwórz stronę Wiadomości .

  4. Jeśli to Twoja pierwsza wiadomość, wybierz opcję Utwórz pierwszą kampanię .

    1. Wybierz Wiadomości z powiadomieniami Firebase i wybierz Utwórz .
  5. W przeciwnym razie na zakładce Kampanie wybierz Nowa kampania , a następnie Powiadomienia .

  6. Wpisz treść wiadomości. Wszystkie pozostałe pola są opcjonalne.

  7. Wybierz opcję Wyślij wiadomość testową w prawym okienku.

  8. W polu Dodaj token rejestracyjny FCM wpisz token rejestracyjny uzyskany w poprzedniej części tego przewodnika.

  9. Wybierz Testuj .

Po wybraniu opcji Testuj docelowe urządzenie klienckie (z aplikacją działającą w tle) powinno otrzymać powiadomienie.

Następne kroki

Wysyłaj wiadomości do aplikacji na pierwszym planie

Po pomyślnym wysłaniu wiadomości powiadomień, gdy aplikacja działa w tle, zobacz Odbieranie wiadomości w kliencie JavaScript, aby rozpocząć wysyłanie wiadomości do aplikacji na pierwszym planie.

Wyjdź poza powiadomienia

Aby wyjść poza powiadomienia i dodać inne, bardziej zaawansowane zachowania do swojej aplikacji, zobacz: