1518 gün önce PHP ile Push Notification
sorusunu cevapladı.
Firebase Cloud Messaging (FCM) kullanabilirsin. Mobil tarafında kullanıcıların tokenlarını veritabanında tuttuktan sonra butona tıklandığında aşağıdaki gibi bir method ile post isteği gönderebilirsin. Bu method ile istediğin kullanıcılara bildirim gönderebilirsin. Eğer aynı tip kullanıcılara bildirim göndermek istersen topic notification araştır. Firabase tarafında topic oluşturup kullanıcıyı bu konuya mobil tarafında abone yaparsan o konuya abone olan tüm kullanıcılara bildirim gider. Örnek gönderim fonksiyonu:
public function sendNotification($tokens, $data)
{
$firebase_url = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
'registration_ids' => $tokens, // Firebase tarafından sağlanan ve veritabanınıza kayıt ettiğiniz array tipindeki tokenlarınız
// 'to' => '/topics/konuadi, // Eğer konuya abonelere gönderilecekse registration_ids yerine to diyeceksiniz
'data' => $data, //array tipinde ve göndermek istediğiniz mesaj da barındıran data
);
$headers = array(
'Authorization:key=sasasaasasasaa’, //SERVER API KEY -> Firebase Konsol proje ayarlarından alınan key
'Content-Type:application/json',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $firebase_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
Bunlara ek olara eğer belirli cihazlara değil de uygulamayı kullanan bütün cihazlara bildirim göndermek isterseniz fields array kısmına
'notification' => array('title' => 'Siteden test mesajı', 'body' => 'Bu bir siteden gönderilen notification'),
yazmanız yeterli