Ab sofort funktioniert GCM nur noch für Chrome und Android. Ebenso haben Firefox und andere Browser ihre eigene API.
Kommen wir nun zu der Frage, wie Push-Benachrichtigungen implementiert werden, damit sie für alle gängigen Browser mit eigenem Back-End funktionieren.
- Sie benötigen clientseitigen Skriptcode, z. B. Service Worker (siehe Google Push-Benachrichtigung ). Dies gilt jedoch auch für andere Browser.
2. Nachdem Sie den Endpunkt mit Ajax erhalten haben, speichern Sie ihn zusammen mit dem Browsernamen.
3. Sie müssen ein Back-End erstellen, das Felder für Titel, Nachricht, Symbol und URL gemäß Ihren Anforderungen enthält. Rufen Sie nun nach dem Klicken auf Benachrichtigung senden eine Funktion wie send_push () auf. In diesem Code schreiben Sie zum Beispiel für verschiedene Browser
3.1. für Chrom
$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. für 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);
für andere Browser bitte googeln ...