FCM'yi kullanmaya başlamak için en basit kullanım örneğini oluşturun: Uygulama cihazda arka plandayken Bildirim oluşturucusundan bir geliştirme cihazına bir test bildirim mesajı göndermek. Bu sayfa, kurulumdan doğrulamaya kadar bunu başarmak için tüm adımları listeler - FCM için bir Android istemci uygulaması kurduysanız, zaten tamamladığınız adımları kapsayabilir.
SDK'yı kurun
Bu bölüm, uygulamanız için diğer Firebase özelliklerini zaten etkinleştirdiyseniz tamamlamış olabileceğiniz görevleri kapsar.
Sen başlamadan önce
Android Studio'yu en son sürümüne yükleyin veya güncelleyin.
Projenizin şu gereksinimleri karşıladığından emin olun:
- API seviyesi 19 (KitKat) veya üzerini hedefler
- Android 4.4 veya üstünü kullanır
- Şu sürüm gereksinimlerini karşılamayı içeren Jetpack (AndroidX) kullanır:
-
com.android.tools.build:gradle
v3.2.1 veya üstü -
compileSdkVersion
28 veya üstü
-
Uygulamanızı çalıştırmak için fiziksel bir cihaz kurun veya bir öykünücü kullanın.
Google Play hizmetlerine bağımlı olan Firebase SDK'larının , cihazın veya öykünücünün Google Play hizmetlerinin yüklü olmasını gerektirdiğini unutmayın.Google hesabınızı kullanarak Firebase'de oturum açın.
Halihazırda bir Android projeniz yoksa ve yalnızca bir Firebase ürününü denemek istiyorsanız, hızlı başlangıç örneklerimizden birini indirebilirsiniz.
Bir Firebase projesi oluşturun
Firebase'i Android uygulamanıza eklemeden önce Android uygulamanıza bağlanmak için bir Firebase projesi oluşturmanız gerekir. Firebase projeleri hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlayın 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ı kaydetmeye genellikle uygulamanızı projenize "eklemek" denir.
Firebase konsoluna gidin.
Projeye genel bakış sayfasının ortasında, kurulum iş akışını başlatmak için Android simgesine (
) veya Uygulama ekle'ye tıklayın.Android paket adı alanına uygulamanızın paket adını girin.
Bir paket adı , uygulamanızı cihazda ve Google Play Store'da benzersiz bir şekilde tanımlar.
Bir paket adına genellikle uygulama kimliği denir.
Uygulamanızın paket adını modülünüzde (uygulama düzeyi) Gradle dosyanızda bulun, genellikle
app/build.gradle
(örnek paket adı:com.yourcompany.yourproject
).Paket adı değerinin büyük/küçük harf duyarlı olduğunu ve Firebase projenize kaydolduktan sonra bu Firebase Android uygulaması için değiştirilemeyeceğini unutmayın.
(İsteğe bağlı) Diğer uygulama bilgilerini girin: Uygulama takma adı ve Hata ayıklama imzalama sertifikası SHA-1 .
Uygulama takma adı : Yalnızca Firebase konsolunda görebileceğiniz dahili, kullanışlı bir tanımlayıcı
Hata ayıklama imzalama sertifikası SHA-1 : Firebase Authentication ( Google ile Oturum Açma veya telefon numarasıyla oturum açma kullanılırken ) ve Firebase Dynamic Links için bir SHA-1 karması gerekir.
Uygulamayı kaydet'i tıklayın.
Bir Firebase yapılandırma dosyası ekleyin
Firebase Android yapılandırma dosyasını uygulamanıza ekleyin:
Firebase Android yapılandırma dosyanızı (
) almak için google-services.json'u İndir'i tıklayın.google-services.json Yapılandırma dosyanızı uygulamanızın modül (uygulama düzeyi) dizinine taşıyın.
Firebase yapılandırma dosyası, projeniz için benzersiz, ancak gizli olmayan tanımlayıcılar içerir. Bu yapılandırma dosyası hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlayın sayfasını ziyaret edin.
Firebase yapılandırma dosyanızı istediğiniz zaman yeniden indirebilirsiniz.
Yapılandırma dosyası adının sonuna
(2)
gibi ek karakterler eklenmediğinden emin olun.
Uygulamanızda Firebase ürünlerini etkinleştirmek için google-services eklentisini Gradle dosyalarınıza ekleyin.
Kök düzeyinde (proje düzeyinde) Gradle dosyanızda (
build.gradle
), Google Services Gradle eklentisini dahil etmek için kurallar ekleyin. Google'ın Maven deposuna da sahip olduğunuzu kontrol edin.buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository } dependencies { // ... // Add the following line: classpath 'com.google.gms:google-services:4.3.13' // Google Services plugin } } allprojects { // ... repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository // ... } }
Modülünüzde (app-level) Gradle dosyanızda (genellikle
app/build.gradle
), Google Services Gradle eklentisini uygulayın:apply plugin: 'com.android.application' // Add the following line: apply plugin: 'com.google.gms.google-services' // Google Services plugin android { // ... }
Uygulamanıza Firebase SDK'ları ekleyin
Firebase Android BoM kullanarak, modülünüzdeki (app-level) Gradle dosyanızdaki (genellikle
app/build.gradle
) Firebase Cloud Messaging Android kitaplığının bağımlılığını bildirin.Firebase Bulut Mesajlaşma ile optimum deneyim için, Firebase projenizde Google Analytics'i etkinleştirmenizi ve Google Analytics için Firebase SDK'sını uygulamanıza eklemenizi öneririz.
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare 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'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık 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'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare 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:23.0.6' implementation 'com.google.firebase:firebase-analytics:21.0.0' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare 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-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' }
Firebase Android BoM'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık 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'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare 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-ktx:23.0.6' implementation 'com.google.firebase:firebase-analytics-ktx:21.0.0' }
Tüm bağımlılıkların gerekli sürümlere sahip olduğundan emin olmak için uygulamanızı senkronize edin.
Android Gradle eklentisi (AGP) v4.2 veya önceki sürümleri kullanan Gradle derlemelerinin Java 8 desteğini etkinleştirmesi gerekir. Aksi takdirde, bu Android projeleri bir Firebase SDK'sı eklerken derleme hatası alır.
Bu derleme hatasını düzeltmek için iki seçenekten birini uygulayabilirsiniz:
- Hata mesajından listelenen
compileOptions
uygulama düzeyindekibuild.gradle
dosyanıza ekleyin. - Android projeniz için
minSdkVersion
26 veya üstüne yükseltin.
Bu SSS'de bu derleme hatası hakkında daha fazla bilgi edinin.
- Hata mesajından listelenen
Kayıt belirtecine erişin
Belirli bir cihaza mesaj göndermek için o cihazın kayıt jetonunu bilmeniz gerekir. Bu öğreticiyi tamamlamak için belirteci Bildirimler konsolundaki bir alana girmeniz gerekeceğinden, aldıktan sonra belirteci kopyaladığınızdan veya güvenli bir şekilde sakladığınızdan emin olun.
Uygulamanızın ilk başlangıcında, FCM SDK, istemci uygulama örneği için bir kayıt belirteci oluşturur. Tek cihazları hedeflemek veya cihaz grupları oluşturmak istiyorsanız, onNewToken
FirebaseMessagingService
kılarak bu simgeye erişmeniz gerekir.
Bu bölüm, belirtecin nasıl alınacağını ve belirteçteki değişikliklerin nasıl izleneceğini açıklar. Belirteç, ilk başlatmadan sonra döndürülebildiğinden, en son güncellenen kayıt belirtecini almanız şiddetle önerilir.
Kayıt jetonu şu durumlarda değişebilir:
- Uygulama yeni bir cihaza geri yüklendi
- Kullanıcı uygulamayı kaldırır/yeniden yükler
- Kullanıcı uygulama verilerini temizler.
Geçerli kayıt belirtecini al
Geçerli belirteci almanız gerektiğinde, FirebaseMessaging.getInstance().getToken()
arayın:
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(); } });
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() })
Belirteç oluşturmayı izleyin
onNewToken
geri çağrısı, yeni bir belirteç oluşturulduğunda tetiklenir.
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); }
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) }
Belirteci aldıktan sonra, uygulama sunucunuza gönderebilir ve tercih ettiğiniz yöntemi kullanarak saklayabilirsiniz.
Test bildirim mesajı gönder
Uygulamayı hedef cihaza yükleyin ve çalıştırın.
Uygulamanın cihazda arka planda olduğundan emin olun.
Bildirim oluşturucuyu açın ve Yeni bildirim'i seçin.
Mesaj metnini girin.
Test mesajı gönder'i seçin.
Add an FCM kayıt belirteci etiketli alana, bu kılavuzun önceki bir bölümünde edindiğiniz kayıt belirtecini girin.
Testi tıklayın
Test 'i tıkladıktan sonra, hedeflenen istemci cihaz (uygulama arka plandayken) sistem bildirimleri tepsisindeki bildirimi almalıdır.
Uygulamanıza ileti teslimine ilişkin bilgi için, Android uygulamaları için "gösterimler" (kullanıcılar tarafından görülen bildirimler) verileriyle birlikte Apple ve Android cihazlarda gönderilen ve açılan iletilerin sayısını kaydeden FCM raporlama panosuna bakın.
Sonraki adımlar
Ön plana çıkan uygulamalara mesaj gönderin
Uygulamanız arka plandayken bildirim mesajlarını başarıyla gönderdikten sonra, ön plandaki uygulamalara 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çmek ve uygulamanıza başka, daha gelişmiş davranışlar eklemek için bkz.: