Firebase, Googleun kullanıcılarına armağan ettiği ücretsiz platformlardan birisidir. Firebase sadece mobil uyumlu uygulamalarda işe yarayan bir teknoloji değildir. Aynı zamanda bilgisayar gibi cihazlarda da çalışan programlar için de kullanılabilecek bir platformdur. Her ne kadar bugün üretilen projelerin kendine özgü yazılım dilleri olsa da tüm pazara hitap edilecek bir yapıda olması gerekir. Firebasein bu noktada arka plan verilerinin tutulması ve uygulamaların her türlü platformlarda kullanılabilmesi alanında fayda sağlamaktadır ve sadece bununla da kalmamaktadır.
Firebase ile Nasıl Bildirim Gönderilir?- Öncelikle Firebase giriş yapıyoruz.
- Üstte yer alan Konsola Git kısmına giriyoruz.
- Google hesabınızla giriş yaptıktan sonra bir uygulama oluşturuyoruz.
- Uygulama oluşturmak için Create New Project e tıklıyoruz.
- Karşımıza çıkan ekrandan Uygulama adımızı ve konumumuzu seçiyor ve Create Projecte tıklıyoruz.
- Tıkladıktan sonra karşımıza yeni bir pencere açılıyor. Eğer pencere açılmazsa projenize tıklayarak açabilirsiniz.
- Açılan pencere karşımıza çıkan menüde Add Firebase to your Android App kısmına tıklıyoruz.
- Karşımıza çıkan pencerede package name kısmına oluşturacağınız projenin package adını yazıyoruz ve Add Appe tıklıyoruz.
- Bu kısımda Debug Signing certificate SHA-1 kısmını boş bırakabilirsiniz.
- Bu adımı tamamladığınızda google-services.json adlı bir dosya inecektir.
- Bu dosyayı aşağıda gördüğünüz şekilde app dizinine atıyoruz.

- Bir sonraki adımda hem projenin hem de uygulamanın Gradle dosyalarını eklememiz gereken kodlar veriliyor. Bu kodları Android Studioda uygun yerlere ekledikten sonra Gradle dosyalarını senkronize etmek için Sync Nowa tıklıyoruz ve ardından Finish butonuna tıklayarak Firebasede ki işlemi tamamlıyoruz.
- Projede bildirim servisini kullanabilmek için gerekli olan dependency i projenizin build.gradle (Mpdule: app) dosyasına ekliyoruz ve Sync Nowa tıklıyoruz.
dependencies {
compile 'com.google.firebase:firebase-messaging:9.0.1'
}
apply plugin: 'com.google.gms.google-services'- Not: En Alttaki apply plugin kısmını dependencies in dışına eklemelisiniz.
- Ardından projemizde bir FirebaseMessagingServices oluşturmamız gerekiyor. onMessageReceived metodunu kullanarak bildirim işlemlerini bu metot için gerçekleştiriyoruz.
public class MyFirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
showNotification(remoteMessage.getData().get("message")); // Mesaj içeriği alınıp bildirim gösteren metod çağırılıyor
}
private void showNotification(String message) {
Intent i = new Intent(this,MainActivity.class); // Bildirime basıldığında hangi aktiviteye gidilecekse
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,i,PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
.setAutoCancel(true) // Kullanıcı bildirime girdiğinde otomatik olarak silinsin. False derseniz bildirim kalıcı olur.
.setContentTitle("FCM Test") // Bildirim başlığı
.setContentText(message) // Bildirim mesajı
.setSmallIcon(R.drawable.common_google_signin_btn_icon_dark) // Bildirim simgesi
.setContentIntent(pendingIntent);
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.notify(0,builder.build());
}
}- Ardından aşağıdaki gibi bir MyFirebaseInstanceIDService sınıfı oluşturuyoruz.
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
String token = FirebaseInstanceId.getInstance().getToken();
registerToken(token);
Log.d("TOKEN Verildi", token);
}
private void registerToken(String token){
}}- Bildirim için MainActivity kısmına hiçbir şey eklemiyoruz. Çünkü bildirimleri servis olarak alıyoruz. Servisler dışında siz uygulamanızı istediğiniz gibi yönetebilirsiniz.
- Son olarak aşağıdaki gibi Manifest dosyasını hazırlıyoruz.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mrhobekkaya.firebasenotification">
<uses-permission-sdk-23 android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service
android:name=".MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
</application>
</manifest>
- Uygulama tarafındaki kod işlemleri bitti.
- Firebase konsola tekrar dönüyoruz ve soldaki Notificaitons kısmına geliyoruz.
- Bildirim göndermek için Send Your First Message a tıklıyoruz.
- Send Messagea tıkladığımızda işlemleri sorunsuz hallettiyseniz bildirimleri artık çalışıyor olarak görebilirsiniz.
- İyi Çalışmalar.