Arka plandaki bir uygulamaya test mesajı gönderme

FCM ile çalışmaya başlamak için en basit kullanım alanını oluşturun: Uygulama cihazda arka plandayken Bildirimler derleyicisinden bir geliştirme cihazına test bildirim mesajı gönderin. Bu sayfada, kurulumdan doğrulamaya kadar bu hedefe ulaşmak için gereken tüm adımlar listelenmiştir. FCM için Android istemci uygulaması oluşturduysanız daha önce tamamladığınız adımları da içerebilir.

SDK'yı ayarlama

Bu bölümde, uygulamanız için diğer Firebase özelliklerini zaten etkinleştirdiyseniz tamamlamış olabileceğiniz görevler ele alınmaktadır.

Başlamadan önce

  • Android Studio'yu yükleyin veya en son sürümüne güncelleyin.

  • Projenizin bu koşulları karşıladığından emin olun (bazı ürünlerde daha katı koşullar olabileceğini unutmayın):

    • API düzeyi 21'i hedefler (Lollipop) veya üzeri
    • Android 5.0 veya sonraki sürümleri kullanıyor
    • Şu sürüm şartlarını karşılamak da dahil olmak üzere Jetpack (AndroidX) kullanır:
      • com.android.tools.build:gradle 7.3.0 veya sonraki sürümler
      • compileSdkVersion 28 veya sonraki sürümler
  • Uygulamanızı çalıştırmak için fiziksel bir cihaz kurun veya emülatör kullanın.
    Google Play Hizmetleri'ne bağımlı Firebase SDK'larının cihazda veya emülatörde Google Play Hizmetleri'nin yüklü olmasını gerektirdiğini unutmayın.

  • Google Hesabınızı kullanarak Firebase'de oturum açın.

Android projeniz yoksa ve yalnızca bir Firebase ürününü denemek istiyorsanız hızlı başlangıç örneklerimizden birini indirebilirsiniz.

Firebase projesi oluşturma

Firebase'i Android uygulamanıza eklemeden önce Firebase oluşturmanız gerekir projenizi bağlayın. Ziyaret edin: Şu konular hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlama: Firebase projeleri.

Uygulamanızı Firebase'e kaydedin

Firebase'i Android uygulamanızda kullanmak için uygulamanızı Firebase projenize kaydetmeniz gerekir. Uygulamanızı kaydetme işlemi genellikle "ekleme" olarak adlandırılır uygulamanızı belirler.

  1. Firebase konsoluna gidin.

  2. Kurulum iş akışını başlatmak için projeye genel bakış sayfasının ortasından Android simgesini () veya Uygulama ekle'yi tıklayın.

  3. Android paketi adı alanına uygulamanızın paket adını girin.

  4. (İsteğe bağlı) Diğer uygulama bilgilerini girin: Uygulama takma adı ve SHA-1 imza sertifikası hatalarını ayıkla.

  5. Uygulamayı kaydet'i tıklayın.

Firebase yapılandırma dosyası ekleme

  1. Firebase Android yapılandırma dosyasını indirip ekleyin. (google-services.json) uygulamanıza:

    1. Firebase Android yapılandırma dosyanızı almak için google-services.json dosyasını indir'i tıklayın.

    2. Yapılandırma dosyanızı şu uygulamanın modül (uygulama düzeyi) kök dizinine taşıyın: en iyi şekilde yararlanabilirsiniz.

  2. google-services.json yapılandırma dosyanızdaki değerleri erişilebilir hale getirmek için Firebase SDK'larını kullanıyorsanız Google hizmetleri Gradle eklentisi (google-services).

    1. Kök düzeyindeki (proje düzeyindeki) Gradle dosyanıza (<project>/build.gradle.kts veya <project>/build.gradle) Google hizmetleri eklentisini bağımlılık olarak ekleyin:

      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. Modülünüz (uygulama düzeyinde) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), Google hizmetleri eklentisini ekleyin:

      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'
        // ...
      }

Firebase SDK'larını uygulamanıza ekleyin

  1. Modül (uygulama düzeyi) Gradle dosyanıza (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle) Android için Firebase Cloud Messaging kitaplığının bağımlılığını ekleyin. Kitaplık sürümlendirmesini kontrol etmek için Firebase Android BoM simgesini kullanmanızı öneririz.

    En iyi Firebase Cloud Messaging deneyimi için şunları öneririz: Google Analytics özelliğini etkinleştirme Firebase projenize ekleyin ve uygulamanıza Google Analytics için Firebase SDK'sını ekleyin.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:33.4.0"))
    
        // 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")
    }

    Firebase Android BoM kullanıldığında, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.

    (Alternatif) Firebase kitaplığı bağımlılıklarını kullanmadan BoM

    Firebase BoM kullanmamayı seçerseniz her Firebase kitaplığı sürümünü belirtmeniz gerekir değerini alır.

    Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız, kitaplık sürümlerini yönetmek için BoM kullanmanızı öneririz. Bu, tüm sürümlerin uyumlu olduğundan emin olun.

    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.2")
        implementation("com.google.firebase:firebase-analytics:22.1.2")
    }
    Kotlin'e özgü bir kitaplık modülü mü arıyorsunuz? Başlamak için kalan süre: Ekim 2023 (Firebase BoM 32.5.0), hem Kotlin hem de Java geliştiricileri (ayrıntılar için bkz. Bu girişimle ilgili SSS).

  2. Android projenizi Gradle dosyalarıyla senkronize edin.

Kayıt jetonuna erişme

Belirli bir cihaza mesaj göndermek için o cihazın kayıt jetonu. Çünkü jetonu alan adındaki bir alana girmeniz Bu eğiticiyi tamamlamak için Notifications Console'a gidin. Jetonu kopyaladığınızdan emin olun veya güvenli bir şekilde saklamanızı öneririz.

Uygulamanız ilk kez başlatıldığında FCM SDK'sı bir kayıt oluşturur jeton olacaktır. Tek bir cihazı veya oluşturmak istiyorsanız, erişim kapsamını genişleterek bu jetona erişmeniz FirebaseMessagingService ve onNewToken geçersiz kılınıyor.

Bu bölümde, jetonun nasıl alınacağı ve değişikliklerin nasıl izleneceği açıklanmaktadır jetona aktarılmalıdır. Jeton, ilk gösterimden sonra döndürülebileceği için startup'ı kullanıyorsanız en son güncellenmiş kaydı almanız jeton.

Kayıt jetonu şu durumlarda değişebilir:

  • Uygulama yeni bir cihaza geri yüklendiğinde
  • Kullanıcı uygulamayı kaldırır/yeniden yükler
  • Kullanıcı uygulama verilerini temizler.

Geçerli kayıt jetonunu al

Mevcut jetonu almanız gerektiğinde FirebaseMessaging.getInstance().getToken() işlevini çağırın:

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();
        }
    });

Jeton oluşturmayı izleme

onNewToken geri çağırma işlevi, her yeni jeton oluşturulduğunda tetiklenir.

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

Jetonu aldıktan sonra uygulama sunucunuza ve mağazanıza gönderebilirsiniz tercih ettiğiniz yöntemi kullanarak yapabilirsiniz.

Test bildirimi mesajı gönderme

  1. Uygulamayı hedef cihaza yükleyip çalıştırın. Apple cihazlarda uzaktan bildirim alma izni isteğini kabul edin.

  2. Uygulamanın cihazda arka planda bulunduğundan emin olun.

  3. Firebase konsolunda Mesajlaşma sayfasını açın.

  4. Bu ilk mesajınızsa İlk mesajınızı oluşturun kampanya.

    1. Firebase bildirim mesajları'nı ve Oluştur'u seçin.
  5. Aksi takdirde, Kampanyalar sekmesinde Yeni kampanya'yı seçin. ve ardından Bildirimler'i tıklayın.

  6. Mesaj metnini girin. Diğer tüm alanlar isteğe bağlıdır.

  7. Sağ bölmede Test mesajı gönder'i seçin.

  8. FCM kayıt jetonu ekleyin etiketli alana kaydı girin bölümündeki talimatları uygulayın.

  9. Test et'i seçin.

Test'i seçtikten sonra, hedeflenen istemci cihaz (uygulamanın arka planda olduğu cihaz) bildirimi alır.

Uygulamanıza mesaj yayınlama hakkında bilgi edinmek için FCMraporlama kontrol paneline bakın. Bu panelde, Apple ve Android cihazlarda gönderilen ve açılan mesajların sayısı ile Android uygulamaları için "gösterim" (kullanıcı tarafından görüntülenen bildirimler) verilerinin yanı sıra diğer bilgiler yer alır.

Sonraki adımlar

Ön plandaki uygulamalara mesaj gönderme

Uygulamanız açıkken bildirim mesajlarını başarıyla gönderdikten sonra görmek için Mesajları Android uygulamasında alma ile ön plandaki uygulamalara ileti göndermeye başlayın.

Bildirim mesajlarının ötesine geçin

Bildirim mesajlarının ötesine geçmek ve uygulamanıza daha gelişmiş davranışlar eklemek için aşağıdakileri inceleyin: