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

Aby zacząć korzystać z FCM, opracuj najprostszy przypadek użycia: wysyłanie testowe powiadomienie z Kreator powiadomień na urządzenie, którego używasz do programowania gdy aplikacja działa na urządzeniu w tle. Na tej stronie znajdziesz listę wszystkich czynności, które pozwolą Ci to osiągnąć – od konfiguracji po weryfikację. – mogą one obejmować kroki już wykonane, jeśli mają skonfigurowaną aplikację kliencką na Androida. w FCM.

Konfigurowanie pakietu SDK

Ta sekcja obejmuje zadania, które mogły zostać wykonane, jeśli zostały już włączone z innymi funkcjami Firebase w przypadku Twojej aplikacji.

Zanim zaczniesz

  • Instalowanie lub aktualizowanie Android Studio do najnowszej wersji.

  • Sprawdź, czy Twój projekt spełnia te wymagania (pamiętaj, że niektóre usługi mogą mieć bardziej rygorystyczne wymagania):

    • Docelowy poziom interfejsu API: 19 (KitKat) lub więcej
    • ma Androida 4.4 lub nowszego,
    • Zastosowania Jetpack (AndroidX), w tym:
      • com.android.tools.build:gradle w wersji 7.3.0 lub nowszej
      • compileSdkVersion 28 lub nowsze
  • Skonfiguruj urządzenie fizyczne lub użyj emulator na uruchom aplikację.
    Pamiętaj, że pakiety SDK Firebase zależą od Google Play usługi wymagają urządzenia lub emulatorowi, by mieć zainstalowane Usługi Google Play.

  • Zaloguj się w Firebase, korzystając ze swojego konta Google koncie.

Jeśli nie masz jeszcze projektu na Androida, a chcesz tylko wypróbować Firebase możesz pobrać nasze krótkie wprowadzenia.

Tworzenie projektu Firebase

Zanim dodasz Firebase do swojej aplikacji na Androida, musisz utworzyć taką aplikację do połączenia z aplikacją na Androida. Odwiedź Więcej informacji o projektach Firebase Projekty Firebase.

Zarejestruj aplikację w Firebase

Aby używać Firebase w swojej aplikacji na Androida, musisz ją zarejestrować w projekt Firebase. Rejestracja aplikacji często nazywa się „dodawaniem” aplikacji na w projektach AI.

  1. Otwórz konsolę Firebase.

  2. Na środku strony przeglądu projektu kliknij ikonę Androida. () lub Dodaj aplikację, aby rozpocząć proces konfiguracji.

  3. Wpisz nazwę pakietu aplikacji w polu Nazwa pakietu na Androida.

    .
  4. (Opcjonalnie) Wpisz inne informacje o aplikacji: Nazwa aplikacji i Certyfikat podpisywania debugowania SHA-1.

  5. Kliknij Zarejestruj aplikację.

Dodaj plik konfiguracji Firebase

  1. Pobierz i dodaj plik konfiguracji Firebase na Androida (google-services.json) do Twojej aplikacji:

    1. Kliknij Pobierz google-services.json, aby uzyskać Firebase na Androida. .

    2. Przenieś plik konfiguracyjny do katalogu głównego module (poziom aplikacji) serwera do aplikacji.

  2. Aby udostępnić wartości w pliku konfiguracyjnym google-services.json do pakietów SDK Firebase, Wtyczka Gradle usług Google (google-services).

    1. w pliku Gradle na poziomie głównym (na poziomie projektu); (<project>/build.gradle.kts lub <project>/build.gradle), dodaj Wtyczka usług Google jako zależność:

      Kotlin

      plugins {
        id("com.android.application") version "7.3.0" apply false
        // ...
      
        // Add the dependency for the Google services Gradle plugin
        id("com.google.gms.google-services") version "4.4.2" apply false
      }
      

      Groovy

      plugins {
        id 'com.android.application' version '7.3.0' apply false
        // ...
      
        // Add the dependency for the Google services Gradle plugin
        id 'com.google.gms.google-services' version '4.4.2' apply false
      }
      
    2. w pliku Gradle modułu (na poziomie aplikacji); (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle), dodaj wtyczkę usług Google:

      Kotlin

      plugins {
        id("com.android.application")
      
        // Add the Google services Gradle plugin
        id("com.google.gms.google-services")
        // ...
      }
      

      Groovy

      plugins {
        id 'com.android.application'
      
        // Add the Google services Gradle plugin
        id 'com.google.gms.google-services'
        // ...
      }
      

Dodaj pakiety SDK Firebase do swojej aplikacji

  1. w pliku Gradle (na poziomie aplikacji) modułu, (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle), dodaj zależność z biblioteką Komunikacji w chmurze Firebase (FCM) na Androida. Zalecamy użycie metody Funkcja BoM Firebase na Androida aby kontrolować obsługę wersji biblioteki.

    Aby zapewnić optymalne działanie Komunikacji w chmurze Firebase (FCM), zalecamy włączenie Google Analytics, w projekcie Firebase i dodając do aplikacji pakiet SDK Firebase dla Google Analytics.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:33.1.2"))
    
        // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-messaging")
        implementation("com.google.firebase:firebase-analytics")
    }
    

    Korzystając z BM Firebase Android BoM, Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

    (Wersja alternatywna) Dodawanie zależności biblioteki Firebase bez korzystania z BM

    Jeśli nie chcesz używać Firebase BoM, musisz określić każdą wersję biblioteki Firebase w wierszu zależności.

    Pamiętaj, że jeśli używasz wielu bibliotek Firebase w aplikacji, zalecamy korzystanie z BoM do zarządzania wersjami biblioteki, dzięki czemu wszystkie wersje

    dependencies {
        // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-messaging:24.0.0")
        implementation("com.google.firebase:firebase-analytics:22.0.2")
    }
    
    Szukasz modułu biblioteki korzystającego z usługi Kotlin? Zaczyna się za Październik 2023 r. (Firebase BoM 32.5.0), programiści, zarówno w języku Kotlin, jak i w języku Java, zależą od modułu biblioteki głównej (więcej informacji znajdziesz w Najczęstsze pytania na temat tej inicjatywy).

  2. Zsynchronizuj swój projekt na Androida z plikami Gradle.

Dostęp do tokena rejestracji

Aby wysłać wiadomość na konkretne urządzenie, musisz znać token rejestracji. Należy go podać w polu w konsoli powiadomień, aby ukończyć ten samouczek; skopiuj token lub bezpiecznie przechowywać po pobraniu.

Przy pierwszym uruchomieniu aplikacji pakiet FCM SDK generuje dla instancji aplikacji klienckiej. Jeśli chcesz kierować reklamy na pojedyncze urządzenia grup urządzeń, musisz uzyskać dostęp do tego tokena, rozszerzając FirebaseMessagingService z zastąpieniem onNewToken.

W tej sekcji dowiesz się, jak pobrać token i jak monitorować zmiany. do tokena. Ponieważ token może zostać poddany rotacji po początkowej uruchamiania, zdecydowanie zalecamy pobranie najnowszej zaktualizowanej rejestracji token.

Token rejestracji może się zmienić, gdy:

  • Aplikacja zostanie przywrócona na nowym urządzeniu
  • Użytkownik odinstalowuje lub ponownie instaluje aplikację.
  • Użytkownik czyści dane aplikacji.

Pobierz bieżący token rejestracji

Aby pobrać bieżący token, wywołaj FirebaseMessaging.getInstance().getToken():

Kotlin+KTX

FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
    if (!task.isSuccessful) {
        Log.w(TAG, "Fetching FCM registration token failed", task.exception)
        return@OnCompleteListener
    }

    // Get new FCM registration token
    val token = task.result

    // Log and toast
    val msg = getString(R.string.msg_token_fmt, token)
    Log.d(TAG, msg)
    Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
})

Java

FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
          if (!task.isSuccessful()) {
            Log.w(TAG, "Fetching FCM registration token failed", task.getException());
            return;
          }

          // Get new FCM registration token
          String token = task.getResult();

          // Log and toast
          String msg = getString(R.string.msg_token_fmt, token);
          Log.d(TAG, msg);
          Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
        }
    });

Monitorowanie generowania tokenów

Wywołanie zwrotne onNewToken jest uruchamiane po każdym wygenerowaniu nowego tokena.

Kotlin+KTX

/**
 * Called if the FCM registration token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the
 * FCM registration token is initially generated so this is where you would retrieve the token.
 */
override fun onNewToken(token: String) {
    Log.d(TAG, "Refreshed token: $token")

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token)
}

Java

/**
 * There are two scenarios when onNewToken is called:
 * 1) When a new token is generated on initial app startup
 * 2) Whenever an existing token is changed
 * Under #2, there are three scenarios when the existing token is changed:
 * A) App is restored to a new device
 * B) User uninstalls/reinstalls the app
 * C) User clears app data
 */
@Override
public void onNewToken(@NonNull String token) {
    Log.d(TAG, "Refreshed token: " + token);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token);
}

Po uzyskaniu tokena możesz go wysłać na serwer aplikacji i w sklepie za pomocą preferowanej metody.

Wyślij powiadomienie testowe

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

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

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

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

    1. Wybierz Powiadomienia Firebase i kliknij Utwórz.
  5. Jeśli nie, na karcie Kampanie wybierz Nowa kampania. a potem Powiadomienia.

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

  7. W panelu po prawej stronie wybierz Wyślij wiadomość testową.

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

  9. Kliknij Przetestuj.

Po wybraniu opcji Przetestuj docelowe urządzenie klienckie (z aplikacją w tła) powinno otrzymać powiadomienie.

Więcej informacji o dostarczaniu wiadomości do aplikacji znajdziesz tutaj: panelu raportowania FCM, który rejestruje liczba wiadomości wysłanych i otwartych na urządzeniach Apple i z Androidem oraz dane dotyczące „wyświetleń” (powiadomienia użytkowników) dotyczące aplikacji na Androida.

Dalsze kroki

Wysyłaj wiadomości do aplikacji na pierwszym planie

Po pomyślnym wysłaniu powiadomień, gdy aplikacja jest uruchomiona w tle, zobacz Odbieranie wiadomości w aplikacji na Androida aby zacząć wysyłać wiadomości do aplikacji działających na pierwszym planie.

Więcej niż powiadomienia

Aby wyjść poza powiadomienia i dodać do zobacz: