v2.5.2
Giriş yap

PHP ile Push Notification

serohan
509 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Merhabalar PHP ile push notification sistemi yapmam gerekiyor ama nasıl yapacağımla ilgili herhangi bir fikrim yok hangi sistemleri kullanabilirim?

yapmak istediğim olay şudur;

Butona tıklanıp post işlemi gerçekleştiğinde listeye eklenen cihazlara(mobil) herhangi bir başlık ve gövdeyle bildirim gidecek

yardımcı olabilir misiniz

Cevap yaz
Cevaplar (1)
gataman
1266 gün önce

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