Kullandığım php fonksiyonu şu
function send_notification($tokens, $message, $deger) {
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
$deger => $message,
'priority' => 'high'
//notification
);
if (is_array($tokens)) {
$fields['registration_ids'] = $tokens;
} else {
$fields['to'] = $tokens;
}
$headers = array(
'Authorization:key =google key ',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
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);
return $result;
}
function genelbildirim($baslik, $icerik, $token, $kontrol) {
$rndm = rand(1, 1000);
$message = array(
"say" => $rndm,
"title" => $baslik,
"text" => $icerik,
"sound" => 'default',
"badge" => '1');
if ($kontrol == "ios") {
$deger = "notification";
} else {
$deger = "data";
}
$message_status = send_notification($token, $message, $deger);
//echo $message_status ."<------------------------------------->";
}
1 günde 1 kişiye 10 tane mesaj gönderiyorum ve bu mesajı ilk 5 dk içinde göremesi gerekiyor yani 10. dk da bile görse bir anlam ifade etmiyor o yüzden bildirimlere süre kısıtlaması getirebiliyormuyuz. Kişinin interneti kapalı o yüzden bildirim gitmiyor. 1 saat sonra açınca önceki bildirimler le birlikte 4-5 tane bildirim geliyor.
Yani bildirimlere 5 dakikalık ömür verebiliyormuyuz.