Android'de Push Notification kullanımı ile Firebase ve Postman üzerinden bildirim gönderme

Sizin için önemli olan şeyleri daha fazla keşfedin


Bu yazıda Android'de Push Notification kullanımı ile Firebase ve Postman üzerinden bildirim gönderme işleminden bahsedeceğim.

 

İlk olarak elbette Android Studio'da boş bir proje oluşturuyoruz. Sonrasında Firebase arayüzünü (https://console.firebase.google.com) açıyoruz ve şu adımları uyguluyoruz;

  • Proje ekle butonuna basıyoruz ve projemizin adını girip Proje oluştur diyoruz.
  • Project Overview kısmında bizi karşılayan iOS, Android, Web seçeneklerinden Android'i seçiyoruz.
  • Firebase'i Android uygulamanıza ekleyin başlığıyla gelen sayfada Android paket adını (AndroidManifest.xml dosyasında yer alan package ifadesinin içindeki kısım (Ör: com.yusufborucu.pushnotificationsample)) girip Uygulamayı kaydet diyoruz.
  • google-services.json adlı yapılandırma dosyasını indiriyoruz ve bu dosyayı belirtilen şekilde (Project seçildikten sonra app klasörünün altına) projemize dahil ediyoruz.
  • Proje düzeyindeki build.gradle dosyasını açıp gerekli satırı ekliyoruz;

buildscript {  ...  dependencies {        classpath 'com.google.gms:google-services:4.2.0'    ...

  • app düzeyindeki build.gradle dosyasını açıp gerekli satırları ekliyoruz;

... dependencies {  implementation 'com.google.firebase:firebase-core:16.0.9'  implementation 'com.google.firebase:firebase-messaging:18.0.0'  ... } apply plugin: 'com.google.gms.google-services'

 

Yaptığımız bu işlemlerle beraber Android ve Firebase projelerimiz birbirine bağlanmış oldu. Artık bildirim gönderme işlemine başlayabiliriz.

 

Firebase arayüzünden bildirim gönderme

 

  • Öncelikle uygulamamızı çalıştırıyoruz. (Not: Bildirim göndermeyle ilgili herhangi bir sorunla karşılaşmayacağınızdan emin olmak için uygulamayı gerçek cihaz üzerinde test etmelisiniz!)
  • Uygulama artık telefonumuzda bulunduğuna göre bildirim gönderme işlemi için uygulamayı kapatıyoruz.
  • Firebase arayüzünü açıp Cloud Messaging kısmına giriyoruz. Yeni bildirim butonuna tıkladıktan sonra Bildirim metni kısmına herhangi bir metin (Ör: test) yazıp Sonraki diyoruz.
  • Hedef kısmında Kullanıcı segmentini ve ardından uygulamamızın paket adını seçiyoruz ve Sonraki diyoruz.
  • Planlama kısmında Now seçili olarak Sonraki diyoruz.
  • Dönüşüm etkinlikleri kısmını aynen bırakarak Sonraki diyoruz.
  • Ek seçenekler kısmını da aynen bırakarak Yorum diyoruz.
  • Son olarak mesajı inceledikten sonra Yayınla butonuna tıklayarak bildirim gönderme işlemini tamamlıyoruz.

 

 

Postman üzerinden bildirim gönderme

 

Bu işlemi yapmak için öncelikle ihtiyacımız olan bilgileri elde etmeliyiz. Bu bilgiler;

  • Projemizin Firebase üzerinde oluşan sunucu anahtarı (Firebase arayüzünde Project Overview butonunun hemen yanında bulunan çark ikonuna tıklayıp Proje ayarları diyoruz. Cloud Messaging tabında Proje kimlik bilgilerini göreceğiz. Burada bulunan Sunucu anahtarını kopyalıyoruz.)
  • Bildirim göndermek istediğimiz cihazın Token değeri (MainActivity.java dosyasını açıp onCreate metodunun içine şu kodu ekleyeceğiz ve uygulamayı çalıştırdığımızda Logcat -> Debug kısmında Token değerini göreceğiz;

FirebaseInstanceId.getInstance().getInstanceId()        .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {            @Override            public void onComplete(@NonNull Task<InstanceIdResult> task) {                if (!task.isSuccessful()) {                    return;                }                String token = task.getResult().getToken();                Log.d("Token", token);            }        });

 

Gerekli bilgilere ulaştıktan sonra Postman'i açıyoruz ve şu şekilde bir istekte bulunuyoruz;

 

İstek yapılacak link: https://fcm.googleapis.com/fcm/send

İstek metodu: POST

Headers kısmında yer alacak ifadeler:

Key => Authorization

Value => key={elde ettiğimiz sunucu anahtarı}

Body (raw) kısmında yer alacak ifadeler:

to => elde ettiğimiz cihaz token değeri

notification -> body => göndermek istediğimiz metin

Ör:

{ "to": "xxx", "notification": { "body": "Postman üzerinden gönderilen bildirim" } }