FCM'ye başlamak için en basit kullanım örneğini oluşturun: Uygulama, cihazda arka planda çalışırken Bildirimler oluşturucusundan bir geliştirme cihazına bir test bildirimi mesajı göndermek. Bu sayfa, bunu başarmak için kurulumdan doğrulamaya kadar tüm adımları listeler — FCM için bir Android istemci uygulaması ayarladıysanız , halihazırda tamamlamış olduğunuz 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 üstünü hedefler
- Android 4.4 veya üstünü kullanır
- Bu 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, cihazda veya emülatörde Google Play hizmetlerinin kurulu 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ü denemek istiyorsanız, hızlı başlangıç örneklerimizden birini indirebilirsiniz.
Bir Firebase projesi oluşturun
Firebase'i Android uygulamanıza ekleyebilmeniz için önce Android uygulamanıza bağlanmak üzere 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ı kaydettirmek genellikle uygulamanızı projenize "eklemek" olarak adlandırılır.
Firebase konsoluna gidin.
Kurulum iş akışını başlatmak için projeye genel bakış sayfasının ortasındaki Android simgesini (
) veya Uygulama ekle'yi tıklayın.Android paket adı alanına uygulamanızın paket adını girin.
Paket adı, uygulamanızı cihazda ve Google Play Store'da benzersiz şekilde tanımlar.
Bir paket adına genellikle uygulama kimliği denir.
Uygulamanızın paket adını modül (uygulama düzeyinde) Gradle dosyanızda bulun, genellikle
app/build.gradle
(örnek paket adı:com.yourcompany.yourproject
).Paket adı değerinin büyük/küçük harfe duyarlı olduğunu ve Firebase projenize kaydedildikten 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ı : Firebase konsolunda yalnızca sizin görebileceğiniz dahili, kullanışlı bir tanımlayıcı
SHA-1 imzalama sertifikasında hata ayıklama: Firebase Kimlik Doğrulaması ( Google ile Oturum Açma veya telefon numarasıyla oturum açma kullanılırken) ve Firebase Dynamic Links tarafından 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ı (
) indirin ve ardından uygulamanıza ekleyin:google-services.json Firebase Android yapılandırma dosyanızı edinmek 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.
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 Anlama sayfasını ziyaret edin.
Firebase yapılandırma dosyanızı istediğiniz zaman tekrar indirebilirsiniz.
Yapılandırma dosyası adının sonuna
(2)
gibi ek karakterler eklenmediğinden emin olun.
yapılandırma dosyanızdaki değerlerin Firebase SDK'ları tarafından erişilebilir olması için Google services Gradle eklentisine (google-services.json google-services
) ihtiyacınız vardır.Kök düzeyinde (proje düzeyinde) Gradle dosyanıza (
<project>/build.gradle
), Google hizmetleri eklentisini bir yapı betiği bağımlılığı olarak ekleyin:buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } dependencies { ... // Add the dependency for the Google services Gradle plugin classpath 'com.google.gms:google-services:4.3.15' } } allprojects { ... repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } }
Modül (uygulama düzeyinde) Gradle dosyanıza (genellikle
<project>/<app-module>/build.gradle
), Google hizmetleri eklentisini ekleyin:plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' ... }
Uygulamanıza Firebase SDK'ları ekleyin
Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle
<project>/<app-module>/build.gradle
), Firebase Cloud Messaging Android kitaplığı için bağımlılığı ekleyin. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM'yi kullanmanızı öneririz.Firebase Cloud Messaging ile optimum bir deneyim için Firebase projenizde Google Analytics'i etkinleştirmenizi ve Google Analytics için Firebase SDK'yı uygulamanıza eklemenizi öneririz.
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.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'yi kullandığınızda, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı kesinlikle öneririz.
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:23.1.2' implementation 'com.google.firebase:firebase-analytics:21.3.0' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.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-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' }
Firebase Android BoM'yi kullandığınızda, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı kesinlikle öneririz.
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-ktx:23.1.2' implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0' }
Android projenizi Gradle dosyalarıyla senkronize edin.
Android Gradle eklentisi (AGP) v4.2 veya önceki sürümünü kullanan Gradle yapılarının 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ındaki 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ındaki 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, FirebaseMessagingService
genişleterek ve onNewToken
öğesini geçersiz kılarak bu simgeye erişmeniz gerekir.
Bu bölümde belirtecin nasıl alınacağı ve belirteçte yapılan değişikliklerin nasıl izleneceği açıklanmaktadır. Belirteç ilk başlatmadan sonra döndürülebileceğinden, en son güncellenmiş kayıt belirtecini almanız kesinlikle önerilir.
Kayıt belirteci ş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 jetonunu al
Geçerli belirteci almanız gerektiğinde FirebaseMessaging.getInstance().getToken()
arayı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(); } });
Belirteç oluşturmayı izleyin
onNewToken
geri araması, yeni bir belirteç 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, onu 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. Apple aygıtlarında, uzaktan bildirim almak için izin isteğini kabul etmeniz gerekir.
Uygulamanın cihazda arka planda olduğ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 Bildirim mesajları'nı seçin ve Oluştur'u 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 belirteci ekle etiketli alana, bu kılavuzun bir önceki bölümünde edindiğiniz kayıt belirtecini girin.
Test Et'i seçin.
Test öğesini seçtikten sonra, hedeflenen istemci cihaz (uygulama arka planda olacak şekilde) bildirimi almalıdır.
Uygulamanıza ileti teslimi hakkında fikir edinmek 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 plandaki uygulamalara mesaj gönder
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 daha gelişmiş başka davranışlar eklemek için bkz.: