FCM'yi kullanmaya başlamak için en basit kullanım alanını oluşturun: uygulama cihazın arka planındayken Bildirim oluşturucudan bir geliştirme cihazına test bildirimi mesajı göndermek. Bu sayfada, kurulumdan doğrulama işlemine kadar bunu başarmaya yönelik tüm adımlar listelenmiştir. Bu sayfada FCM için bir Android istemci uygulaması oluşturduysanız daha önce tamamladığınız adımlar da ele alınabilir.
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 en son sürümüne yükleyin veya güncelleyin.
Projenizin şu gereklilikleri karşıladığından emin olun (bazı ürünlerin daha sıkı gereklilikleri olabileceğini unutmayın):
- API düzeyi 19 (KitKat) veya üstünü hedefler
- Android 4.4 veya sonraki bir sürümü kullanmalıdır
- Aşağıdaki sürüm gereksinimlerini karşılayan Jetpack (AndroidX) kullanır:
com.android.tools.build:gradle
7.3.0 veya sonraki sürümlercompileSdkVersion
28 yaş veya üzeri
Uygulamanızı çalıştırmak için fiziksel bir cihaz kurun veya emülatör kullanın.
Google Play hizmetlerine bağımlı olan Firebase SDK'ları için cihazda veya emülatörde Google Play Hizmetleri yüklü olmalıdır.Google Hesabınızı kullanarak Firebase'de oturum açın.
Android projeniz yoksa ve 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, Android uygulamanıza bağlanacak bir Firebase projesi oluşturmanız gerekir. Firebase projeleri hakkında daha fazla bilgi için Firebase Projelerini Anlama sayfasını ziyaret edin.
Uygulamanızı Firebase'e kaydedin
Firebase'i Android uygulamanızda kullanmak için uygulamanızı Firebase projenize kaydetmeniz gerekir. Uygulamanızı kaydetme işlemine genellikle uygulamanızı projenize "ekleme" denir.
Firebase konsoluna gidin.
Kurulum iş akışını başlatmak için projeye genel bakış sayfasının ortasında Android simgesini (
) veya Uygulama ekle'yi tıklayın.Uygulamanızın paket adını Android paket adı alanına girin.
(İsteğe bağlı) Diğer uygulama bilgilerini girin: Uygulama takma adı ve SHA-1 imza sertifikası hatalarını ayıkla.
Uygulamayı kaydet'i tıklayın.
Firebase yapılandırma dosyası ekleme
Firebase Android yapılandırma dosyasını (
) indirip uygulamanıza ekleyin:google-services.json Firebase Android yapılandırma dosyanızı almak için Google-services.json'u indir'i tıklayın.
Yapılandırma dosyanızı uygulamanızın modül (uygulama düzeyi) kök dizinine taşıyın.
yapılandırma dosyanızdaki değerlere Firebase SDK'ları tarafından erişilebilmesi için Google hizmetleri Gradle eklentisine (google-services.json google-services
) ihtiyacınız vardır.Kök düzeyindeki (proje düzeyinde) Gradle dosyanızda (
<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 }
Modül (uygulama düzeyi) Gradle dosyanıza (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
Modül (uygulama düzeyinde) Gradle dosyanıza (genellikle
<project>/<app-module>/build.gradle.kts
veya<project>/<app-module>/build.gradle
), Android için Firebase Cloud Messaging kitaplığına yönelik bağımlılığı ekleyin. Kitaplık sürümünü kontrol etmek için Firebase Android BoM'u kullanmanızı öneririz.Firebase Cloud Messaging'de optimum bir deneyim elde etmek için Firebase projenizde Google Analytics'i etkinleştirmenizi ve Google Analytics için Firebase SDK'sını uygulamanıza eklemenizi öneririz.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.1")) // 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 Firebase Android kitaplıklarının her zaman uyumlu sürümlerini kullanır.
(Alternatif) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleme
Firebase BoM'yi kullanmamayı seçerseniz her Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Böylece tüm sürümlerin uyumlu olması sağlanır.
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") }
Android projenizi Gradle dosyalarıyla senkronize edin.
Kayıt jetonuna erişme
Belirli bir cihaza mesaj göndermek için cihazın kayıt jetonunu bilmeniz gerekir. Bu eğiticiyi tamamlamak için jetonu Bildirimler konsolundaki bir alana girmeniz gerekeceğinden, jetonu aldıktan sonra jetonu kopyaladığınızdan veya güvenli bir şekilde sakladığınızdan emin olun.
Uygulamanız ilk kez başlatıldığında FCM SDK'sı istemci uygulaması örneği için bir kayıt jetonu oluşturur. Tek cihazları hedeflemek veya cihaz grupları oluşturmak istiyorsanız
FirebaseMessagingService
süresini genişletip onNewToken
öğesini geçersiz kılarak bu jetona erişmeniz gerekir.
Bu bölümde, jetonun nasıl alınacağı ve jetonda yapılan değişikliklerin nasıl izleneceği açıklanmaktadır. Jeton ilk başlatmadan sonra döndürülebileceği için en son güncellenmiş kayıt jetonunu almanız önemle tavsiye edilir.
Kayıt jetonu aşağıdaki durumlarda değişebilir:
- Uygulama yeni bir cihaza geri yüklenir.
- Kullanıcı uygulamayı kaldırır/yeniden yükler
- Kullanıcı uygulama verilerini siler.
Geçerli kayıt jetonunu al
Mevcut jetonu almanız gerektiğinde
FirebaseMessaging.getInstance().getToken()
komutunu ç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
Yeni jeton oluşturulduğunda onNewToken
geri çağırması 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); }
Aldığınız jetonları uygulama sunucunuza gönderebilir ve tercih ettiğiniz yöntemi kullanarak saklayabilirsiniz.
Test bildirimi mesajı gönder
Uygulamayı hedef cihaza yükleyip çalıştırın. Apple cihazlarda, uzaktan bildirim almak için izin isteğini kabul etmeniz gerekir.
Uygulamanın cihazda arka planda bulunduğundan emin olun.
Firebase konsolunda Mesajlaşma sayfasını açın.
Bu ilk mesajınızsa İlk kampanyanızı oluşturun'u seçin.
- Firebase Notification mesajları'nı ve ardından Create'i (Oluştur) seçin.
Aksi takdirde, Kampanyalar sekmesinde Yeni kampanya'yı ve ardından Bildirimler'i seçin.
Mesaj metnini girin. Diğer tüm alanlar isteğe bağlıdır.
Sağ bölmeden Test mesajı gönder'i seçin.
FCM kayıt jetonu ekleyin etiketli alana, bu kılavuzun önceki bölümünde edindiğiniz kayıt jetonunu girin.
Test et'i seçin.
Test et'i seçtikten sonra, hedeflenen istemci cihazın (uygulama arka planda çalışırken) bildirimi alması gerekir.
Uygulamanıza mesaj teslimiyle ilgili analizler için FCM raporlama kontrol paneline göz atın. FCM raporlama kontrol paneli, Apple ve Android cihazlarda gönderilen ve açılan mesaj sayısıyla birlikte Android uygulamalarına ilişkin "gösterimler" (kullanıcıların gördüğü bildirimler) verilerini kaydeder.
Sonraki adımlar
Ön plandaki uygulamalara mesaj gönderme
Uygulamanız arka plandayken bildirim mesajlarını başarıyla gönderdikten sonra, ön plandaki uygulamalara ileti göndermeye başlamak için Android Uygulamasında Mesaj Alma bölümüne bakın.
Bildirim mesajlarının ötesine geçin
Bildirim mesajlarının ötesine geçip uygulamanıza daha gelişmiş davranışlar eklemek için aşağıdaki konulara göz atın: