Merih Forum Android / IOS yazılım Firebase ile Bildirim Gönderme (Android)

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Firebase ile Bildirim Gönderme (Android)

 
#1

Merhabalar.
Bu yazıda Android üzerinden Firebase ile bildirim gönderme işlemini elimden geldiği kadar anlatmaya çalışacağım. 
 
 

thumbnail.png
Firebase için genel anlatım yapıldığı için o konulara girmeyeceğim.
İlgili konular;
Firebase nedir? Avantajları nelerdir?
bu adreste anlatılmıştır.
Şimdi Firebase ile nasıl notification gönderebiliriz adım adım bunu gerçekleştirelim. Öncelikle Firebase giriş yapıp üstte Konsola Git kısmına giriyoruz. Google hesabınızla giriş yaptıktan sonra bir uygulama oluşturuyoruz. Bunun için altta gördüğünüz ekrandan Create New Projecttıklayoruz.
screen_shot_2016-09-07_at_12.11.56.png
Burada karşınıza çıkan ekrandan Create New Project diyoruz. Ve gelen ekranda uygulama adıyla beraber konumumuzu da seçtikten sonra create project diyoruz.
screen_shot_2016-09-07_at_12.15.42.png
Sonrasında açılan pencerede (pencere açılmazsa projenize tıklayarak açabilirsiniz) karşımıza çıkan menüde Add Firebase to your Android App kısmına tıklayıp devam ediyoruz.
screen_shot_2016-09-07_at_12.19.28.png
İlk adımda karşınıza çıkan pencerede package name kısmına oluşturacağınız projenin package adını yazıyoruz ve Add App diyoruz.
Debug signing certificate SHA-1 kısmını boş geçebilirsiniz.
screen_shot_2016-09-07_at_12.22.59.png
Bu adımdan sonra  google-services.json isminde bir dosya indirecek.
Bu dosyayı altta gördüğünüz şekilde app dizinine atıyoruz.
 
screen_shot_2016-09-07_at_12.25.03.png
Sonraki adımda ise hem projenin hemde uygulamanın Gradle dosyalarına eklememiz gereken kodlar veriliyor. Bunlarıda uygun yerlere ekleyerek Android Studio'da "Gradle" dosyalarını senkronize etmek için Sync Now tıklıyoruz ve Firebase consoldaki adımları Finish diyerek bitiriyoruz.
ekran-resmi-2016-08-29-13.47.36.png
Şimdide projemizde bildirim servisini kullanabilmemiz için gerekli dependency alttaki gibi projenizin build.gradle(Mpdule: app) dosyasına ekleyerek Sync Now tıklıyoruz.

Kod:
dependencies {

compile 'com.google.firebase:firebase-messaging:9.0.1'

}

apply plugin: 'com.google.gms.google-services'

 
En alttaki apply plugin kısmını dependencies in dışına eklememiz gerekiyor.
Sonrasında projemizde bir FirebaseMessagingService oluşturmamız gerekiyor ve onMessageReceived metodunu kullanarak bildirim işlemlerini bu metod içerisinde gerçekleştiriyoruz.
 

Kod:
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());
   }
}

Daha sonra da bir MyFirebaseInstanceIDService sınıfı oluşturuyoruz aşağıdaki gibi olması gerekiyor.

Kod:
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){

   }}


MainActivity kısmına hiç birşey eklemiyoruz bildirim için bildirimleri servis olarak dinliyoruz çünkü, siz uygulamanızı istediğiniz gibi yönetebilirsiniz servisler dışında.
Son olarak Manifest dosyamızın aşağıdaki gibi olması gerekiyor:

Kod:
<?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 kodlar bu şekilde. Şimdi de yine Firebase konsola gelip soldaki Notifications kısmına gelerek yeni bir bildirim göndermek için Send your First Message'ı tıklıyoruz.
screen_shot_2016-09-07_at_12.41.27.png
Send Message dediğimizde sonuç;
whatsapp_image_2016-09-07_at_12.49.43.jpeg
İşte bu kadar basit arkadaşlar, iyi çalışmalar.




Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Windows için 2018'in En İyi 5 Android Emülatörü hazreti.google 0 741 13-01-2019, Saat: 11:12
Son Yorum: hazreti.google
  Android Uygulamalarda Doğru Dialog Kullanımları xray 0 1,725 25-11-2017, Saat: 17:07
Son Yorum: xray
  OneSignal ile Bildirim Gönderme comrate 0 2,054 18-09-2017, Saat: 00:20
Son Yorum: comrate
  Android'te JSOUP Parse İşlemleri comrate 0 1,949 17-09-2017, Saat: 16:29
Son Yorum: comrate
  Firebase ile Login Olma (Swift) comrate 0 1,981 17-09-2017, Saat: 16:23
Son Yorum: comrate

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2020 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2020 Tüm hakları saklıdır.