Android Firebase Push Notification

Isa Can Akkoca
Etiya
Published in
2 min readSep 5, 2017

Firebase ve FCM kütüphanesi eklemesi

  1. Eğer Firebase projesini eklemediyseniz buradan kütüphaneyi ekleyebilirsiniz.
  2. Uygulama seviyesindeki build.gradle’a dependency ekleyebilirsiniz :
dependencies {
compile 'com.google.firebase:firebase-messaging:11.2.0'
}

Manifest dosyasını düzenlemesi ve Gerekli Servis Sınıfları

Uygulamanın manifest dosyasına şunları ekleyelim:

  • FirebaseMessagingService genişleten bir sınıf oluşturalım. Arka plandaki uygulamalarda bildirim almanın ötesinde herhangi bir mesaj işleme işi yapmak istiyorsanız, bu gereklidir. Ön planlı uygulamalarda bildirim almak için bu class üzerinden işlemler yapmak gerekmektedir.
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
MyFirebaseMessagingService class’ı
  • FirebaseInstanceIdService genişleten yeni bir sınıf oluşturalım. FCM servisine bağlandıktan sonra oluşan token’i almamızı kendi servislerimizde kullanmayı sağlamaktadır.
<service
android:name=".MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
MyFirebaseInstanceIDService class’ı
  • (Opsiyonel) Uygulama bileşeni içinde, meta veriler, bildirimler için varsayılan bir simge, renk ve bildirim kanalı (Android O’da yeni) ayarlamak için gerekli öğeleri içerir. Android, gelen iletilerin açıkça simge, renk veya notification_channel ayarlamadığında bu değerleri kullanır.
<!-- Set custom default icon. This is used when no icon is set for incoming notification messages.
See README(https://goo.gl/l4GJaQ) for more. -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_ic_notification" />
<!-- Set color used with incoming notification messages. This is used when no color is set for the incoming
notification message. See README(https://goo.gl/6BKBk7) for more. -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/colorAccent" />

Notifikasyon mesajı gönderme (Firebase Messaging Arayüzünden)

  1. Uygulamanın background’da veya kapalı olduğu kontrol edilir.
  2. Firebase web arayüzünden Notifications composer açılır ve “New Message” seçilir.
  3. Gönderilecek mesaj girilir.
  4. Hedef olarak tek cihaz seçilir.

Mesaj Gönder’i tıklattıktan sonra, arka planda uygulamaya sahip olan hedeflenmiş istemci cihazlar, sistem bildirim tepsisindeki bildirimi alır.

Notifikasyon mesajı gönderme (Firebase Console ile)

Bu gönderimi Http Post işlemi kullanacağımız için Postman üzerinden gerçekleştireceğiz.

  1. Postman arayüzünden Post işlemi seçilir.
  2. İstek yapılacak alan “https://fcm.googleapis.com/fcm/send” url’i doldurulur.
  3. Headers kısmına eklenir:

Content-Type : application/json

Authorization : key=AA — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -XJ

Burada Authorization Firebase arayüzünden Server key kısmından alınır ve Authorization headeri key kısmı “key=” ile başlaması gerekmektedir.

4. Body kısmı şekildeki gibi doldurulur. Burada önemli olan data ve to alanları doğru bir şekilde doldurulmalıdır.

Detay bilgi için aşağıdaki linkten takip edebilirsiniz.

https://firebase.google.com/docs/cloud-messaging/android/client

--

--