Firebase Notification Nedir, Nasıl Kullanılır

Parse.com'um kapanması ile alternatif notification gönderimi arayışları hızlandı. Yazılımcılar Notification gönderiminde firabase notification (fcm) gibi temel kullanımları öğrenme, inceleme arayışında. Bizde bu yazımızda firebase notification nasıl kullanılır özetleyeceğiz.

Sunucu Tarafı;

Sunucu tarafındaki işlemler oldukça basit; php kullanıyorsanız curl kullanarak verilerinizi firabese sunucusuna post etmeniz yeterli.

Büyük kapsamlı projelerinizde aşağıdaki kısıtlamalardan dolayı sıkıntı yaşayabilirsiniz göz atmakta fayda var.

Gönderilen dizi boyutu maksimum 4kb, aynı dizi içerisinde registration tokenı oluşturmak ise maksimum 1000 olarak belirtilmiş. Yani sunucu üzerinden her seferinde maksimum 1000 adet notification gönderebilirsiniz. Bu sorunu thread kullanarak veya node js kullanarak aşabiliriz. Ayrıca bir kısıtlama da google hesabınız üzerinden maximum 5 app oluşturabilirsiniz. 

Örnek PHP Scripti

$data =array("message" => "Hello World!","type"=>"test",...); 
$url = 'https://fcm.googleapis.com/fcm/send'; 
$fields = array(
'registration_ids' => $tokens, 
'data' => $data,
);
$headers = array(
'Authorization:key = xxxxxxxxxxxxxxxxxxxxxxxxxxxx', 
//Project Settings > CLOUD MESSAGING bölümündeki Server key alanı
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);

 

Android'de yapılanlar;

Dökümantasyon: https://firebase.google.com/docs/android/setup
App name ile yeni proje oluşturulur. Bu projeye göre otomatik hazırlanan google-services.json app klasörü içine atılır.
Daha sonra gradle dosyasına

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

eklenir ve son olarak github sample da görüldüğü üzere MyFirebaseInstanceIDService ve MyFirebaseMessagingService class'ları eklenir. 

Bu şekilde firebase sitesi üzerinden gönderilen pushlar iletilecektir. 


IOS'da yapılanlar; 

Dökümantasyon: https://firebase.google.com/docs/ios/setup
Swift ve objective-c ile alakalı durumlar üstteki linkte belirtilmiştir. 
CocoaPods olarak projeye eklenmesi gerekmektedir.
SDK bilgileri de döküman içerinde yer alıyor.