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

  • 0 Oy - 0 Ortalama
  • 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. 
 
 

[Resim: 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.
[Resim: 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.
[Resim: 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.
[Resim: 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.
[Resim: 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.
 
[Resim: 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.
[Resim: 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.
[Resim: screen_shot_2016-09-07_at_12.41.27.png]
Send Message dediğimizde sonuç;
[Resim: whatsapp_image_2016-09-07_at_12.49.43.jpeg]
İşte bu kadar basit arkadaşlar, iyi çalışmalar.




Bul
Alıntı


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Windows için 2018'in En İyi 5 Android Emülatörü hazreti.google 1 1,509 08-05-2022, Saat: 03:46
Son Mesaj:
  Android Uygulamalarda Doğru Dialog Kullanımları xray 0 2,204 25-11-2017, Saat: 18:07
Son Mesaj: xray
  OneSignal ile Bildirim Gönderme comrate 0 2,566 18-09-2017, Saat: 01:20
Son Mesaj: comrate
  Android'te JSOUP Parse İşlemleri comrate 0 2,506 17-09-2017, Saat: 17:29
Son Mesaj: comrate
  Firebase ile Login Olma (Swift) comrate 0 2,527 17-09-2017, Saat: 17:23
Son Mesaj: comrate

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Bu konuyu görüntüleyen kullanıcı(lar):
1 Ziyaretçi

   
Türkçe Çeviri: Emre KRMN, Kodlayanlar MyBB, © 2002-2022 MyBB Group.  



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