Wyślij wiadomość testową do aplikacji w tle

Aby rozpocząć korzystanie z FCM, zaimplementuj najprostszy przypadek użycia: wysyłanie powiadomienia do konkretnego użytkownika, gdy aplikacja działa w tle na urządzeniu. Na tej stronie znajdziesz wszystkie czynności, które należy wykonać, od konfiguracji do weryfikacji. Może ona zawierać czynności, które zostały już przez Ciebie wykonane, jeśli skonfigurujesz aplikację klienta JavaScript dla FCM.

.

Konfigurowanie pakietu SDK

Dodaj Firebase do projektu JavaScript, jeśli jeszcze tego nie zrobiono.

Dostęp do tokena rejestracji

Jeśli chcesz pobrać bieżący token rejestracji dla instancji aplikacji, najpierw poproś użytkownika o przyznanie uprawnień do wysyłania powiadomień (Notification.requestPermission()). Gdy jest wywoływany w taki sposób, zwraca token, jeśli pozwolenie zostało przyznane, lub odrzuca obietnicę, jeśli zostało odrzucone:

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 jeszcze pliku firebase-messaging-sw.js, utwórz pusty plik o tej nazwie i umieść go w katalogu głównym domeny, zanim pobierzesz token. Treść możesz dodać później, na dalszym etapie konfiguracji klienta.

Aby pobrać bieżący token:

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

Po uzyskaniu tokena wyślij go na serwer aplikacji i zapisz go za pomocą preferowanej metody.

Wysyłanie testowej wiadomości z powiadomieniem

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

  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ść, kliknij Utwórz pierwszą kampanię.

    1. Kliknij kolejno Wiadomości powiadomień FirebaseUtwórz.
  5. W przeciwnym razie na karcie Kampanie kliknij kolejno Nowa kampaniaPowiadomienia.

  6. Wpisz tekst wiadomości. Pozostałe pola są opcjonalne.

  7. W prawym okienku kliknij Wyślij wiadomość testową.

  8. W polu Dodaj token rejestracji FCM wpisz token rejestracji uzyskany w poprzedniej sekcji tego przewodnika.

  9. Kliknij Test.

Po wybraniu opcji Test na urządzeniu docelowym klienta (z aplikacją działającą w tle) powinno pojawić się powiadomienie.

Dalsze kroki

Wysyłanie wiadomości do aplikacji na pierwszym planie

Po wysłaniu powiadomień w tle zapoznaj się z artykułem Odbieranie wiadomości w kliencie JavaScript, aby dowiedzieć się, jak wysyłać wiadomości do aplikacji na pierwszym planie.

Coś więcej niż wiadomości z powiadomieniami

Aby dodać do aplikacji inne, bardziej zaawansowane funkcje niż tylko wiadomości z powiadomieniami, zapoznaj się z tymi artykułami: