截至目前,GCM 仅适用于 chrome 和 android。同样firefox等浏览器也有自己的api。
现在谈到如何实现推送通知的问题,以便它适用于所有具有自己后端的常见浏览器。
- 您需要客户端脚本代码,即服务工作者,参考(谷歌推送通知)。虽然这对于其他浏览器保持不变。
2.使用 Ajax 获取端点后,将其与浏览器名称一起保存。
3.您需要根据您的要求创建具有标题、消息、图标、单击 URL 字段的后端。现在点击发送通知后,调用一个函数说 send_push()。例如,在此为不同的浏览器编写代码
3.1。用于镀铬
$headers = array(
'Authorization: key='.$api_key(your gcm key),
'Content-Type: application/json',
);
$msg = array('to'=>'register id saved to your server');
$url = 'https://android.googleapis.com/gcm/send';
$ch = curl_init();
// Set the url, number of POST vars, POST data
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_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($msg));
$result = curl_exec($ch);
3.2. 对于Mozilla
$headers = array(
'Content-Type: application/json',
'TTL':6000
);
$url = 'https://updates.push.services.mozilla.com/wpush/v1/REGISTER_ID_TO SEND NOTIFICATION_ON';
$ch = curl_init();
// Set the url, number of POST vars, POST data
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_VERIFYPEER, false);
$result = curl_exec($ch);
其他浏览器请谷歌...