Ich versuche herauszufinden, Push-Benachrichtigungen mit PHP zu senden. Das Problem ist, wie Service Worker im Browser registrieren und Benachrichtigung direkt aus PHP senden.Google Cloud Messaging (GCM) mit PHP
Ich habe Probe von Code für einen Teil Back-End:
{"multicast_id":7003820144951503575,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}
ich denke, es ist:
<?php
define('API_ACCESS_KEY', 'SOME KEY');
$registrationIds = array('fK_LVMivilI:APA91bHCXawEoNXc0Avwk4F6iYsshn4mmWX6jysrg8gC9PGA6_AlqWtr1HXhIMonCCUj8syOlsDGTFJVu_T3aPqdMNynqy7SY5L9OBlgolu-7L2a5pwZrB7kN_bdnUPeZHJQ1HT2i2ed');
$msg = array
(
'message' => 'here is a message. message',
'title' => 'This is a title. title',
'subtitle' => 'This is a subtitle. subtitle',
'tickerText' => 'Ticker text here...Ticker text here...Ticker text here',
'vibrate' => 1,
'sound' => 1,
'largeIcon' => 'large_icon',
'smallIcon' => 'small_icon'
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array
(
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send');
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($fields));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
Wenn ich versuche, dieses Skript ausführen, ich die folgende Fehlermeldung erhalten weil im Browser keine Service-Mitarbeiter registriert sind.
Also brauche ich eine Lösung, um Benachrichtigungen mit dynamischen Inhalten mit PHP und Javascript zu senden, wenn nötig.
Alle Ratschläge geschätzt.
überprüfen Sie Ihre Registrierungs-ID. ist es richtig ? –