package com.example.ahmet.erasmusapp; import android.app.PendingIntent; import android.content.Intent; import android.os.Handler; import android.os.Looper; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; import android.support.v4.app.NotificationCompat; import android.util.Log; import android.widget.ListView; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; public class MyFirebaseMessagingService extends FirebaseMessagingService { private static final String TAG = "MyFirebaseMsgService"; public static ListView özelmesajList; @Override public void onMessageReceived(final RemoteMessage remoteMessage) { if (remoteMessage.getData().size() > 0) { // Data mesajı içeriyor mu //Uygulama arkaplanda veya ön planda olması farketmez. Her zaman çağırılacaktır. //Gelen içerik json formatındadır. Log.d(TAG, "Mesaj data içeriği: " + remoteMessage.getData()); //Json formatındaki datayı parse edip kullanabiliriz. Biz direk datayı Push Notification olarak bastırıyoruz final String[] kelimea = remoteMessage.getNotification().getTitle().split(","); if(kelimea.length ==1){ sendNotification(remoteMessage.getNotification().getTitle(),remoteMessage.getNotification().getBody()); Log.e("uygulamakaoalı:","kelime1e eşit"); }else { Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { //do stuff on the main thread Log.e("uygulamakaoalı:","kelime1e eşit değil"); sendNotification(kelimea[0], remoteMessage.getNotification().getBody()); OzelMesaj msj = new OzelMesaj(); msj.MesajGeldi(remoteMessage.getNotification().getBody(), remoteMessage.getNotification().getTitle()); } }); } } if (remoteMessage.getNotification() != null) { //Notification mesajı içeriyor mu //Uygulama arkaplanda ise burası çağrılmaz.Ön planda ise notification mesajı geldiğinde çağırılır //getBody() ile mesaj içeriği //getTitle() ile mesaj başlığı Log.e(TAG, "Mesaj Notification Başlığı: " + remoteMessage.getNotification().getTitle() +" "+"Mesaj Notification İçeriği: " + remoteMessage.getNotification().getBody() ); //Gelen içeriğe göre notifikasyon bildiriminde bulunma final String[] kelime = remoteMessage.getNotification().getTitle().split(","); if(kelime.length ==1){ sendNotification(remoteMessage.getNotification().getTitle(),remoteMessage.getNotification().getBody()); }else{ Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { //do stuff on the main thread sendNotification(kelime[0],remoteMessage.getNotification().getBody()); OzelMesaj msj = new OzelMesaj(); msj.MesajGeldi(remoteMessage.getNotification().getBody(),remoteMessage.getNotification().getTitle()); } }); } } } private void sendNotification(String messageTitle,String messageBody) { Intent intent = new Intent(this, TabbedActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, PendingIntent.FLAG_ONE_SHOT); long[] pattern = {500,500,500,500};//Titreşim ayarı NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.faceiconn) .setContentTitle(messageTitle) .setContentText(messageBody) .setAutoCancel(true) .setVibrate(pattern) .setContentIntent(pendingIntent); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); try { Uri alarmSound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + this.getPackageName() + "/raw/notification"); Ringtone r = RingtoneManager.getRingtone(this, alarmSound); r.play(); } catch (Exception e) { e.printStackTrace(); } notificationManager.notify(0 /* ID of notification */, notificationBuilder.build()); } }
17 Mart 2017 Cuma
bitirme FCM
Kaydol:
Kayıt Yorumları (Atom)
http://caglartelef.com/android-push-notification-firebase-cloud-message/
YanıtlaSil