FCM Senden Benachrichtigung über fcm Konsole zu meinem iOS-Gerät, aber von PHP-Dienst sendet es die Benachrichtigung nicht. Ich möchte mithilfe von FCM eine Benachrichtigung an meine App senden. Ich habe Web-Services in PHP implementiert, um Nachrichten an die App auf meinem App-Server zu senden. Ich habe zu diesem Zweck 4 Dienste erstellt.FCM Senden Benachrichtigung über fcm Konsole zu meinem iOS-Gerät, aber es sendet nicht die Benachrichtigung
- group_create.php
- device_add.php
- device_remove.php
- send_comments.php
nach Gruppe Erstellen einer registraion id mit fcm ich erhielt eine Benachrichtigung Schlüssel erfolgreich und registrieren. Wenn ich send_comments.php mit dem Benachrichtigungsschlüssel anrufe, gibt es JSON-Daten mit {"Erfolg": 1, "Fehler": 0} zurück. Aber ich habe keine Benachrichtigung auf meinem ios erhalten. Ich habe alle Methoden richtig implementiert. Es funktioniert gut mit fcm Konsole, aber nicht mit PHP-Service. Kann jemand darüber wissen. Ich füge alle 4 PHP-Dateien damit an. Bitte hilf mir.
group_create.php
<?php
$url = 'https://android.googleapis.com/gcm/notification';
$notification_key_name = $_REQUEST['notification_key_name'];
$regid = $_REQUEST['regid'];
$fields = array(
"operation"=>"create",
"notification_key_name"=>$notification_key_name,
"registration_ids"=> array($regid)
);
$fields = json_encode($fields);
$headers = array (
"Authorization:key=A************************",
"Content-Type:application/json",
"project_id:78508******"
);
$ch = curl_init();
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_POSTFIELDS, $fields);
$result = curl_exec ($ch);
//echo $result;
$res_notification_key = json_decode($result,true);
if(array_key_exists('notification_key', $res_notification_key)){
$notification_key = $res_notification_key['notification_key'];
echo $notification_key;
}
else{
echo $result;
}
curl_close ($ch);
?>
device_add.php
<?php
$senderId = "785********";
$notification_key_name= $_REQUEST['notification_key_name'];
$reg_id = $_REQUEST['regid'];
$notification_key = $_REQUEST['not_key'];
$apiKey =
$url = 'https://android.googleapis.com/gcm/notification';
$headers = array (
"Accept:application/json",
"Authorization:key=A******************",
"Content-Type:application/json",
"project_id:78508*****"
);
$fields = array(
"operation"=>"add",
"notification_key_name"=> $notification_key_name,
"registration_ids"=> array($reg_id),
"notification_key"=>$notification_key
);
$fields = json_encode($fields);
$ch = curl_init();
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_POSTFIELDS, $fields);
$result = curl_exec ($ch);
echo $result;
$res_notification_key = json_decode($result,true);
if(array_key_exists('notification_key', $res_notification_key)){
$notification_key = $res_notification_key['notification_key'];
echo $notification_key;
}
else{
echo $result;
}
curl_close ($ch);
?>
device_remove.php
<?php
$senderId = "78508*****";
$notification_key_name= $_REQUEST['notification_key_name'];
$reg_id = $_REQUEST['regid'];
$notification_key = $_REQUEST['not_key'];
$apiKey =
$url = 'https://android.googleapis.com/gcm/notification';
$headers = array (
"Accept:application/json",
"Authorization:key=A***********",
"Content-Type:application/json",
"project_id:78508*****"
);
$fields = array(
"operation"=>"remove",
"notification_key_name"=> $notification_key_name,
"registration_ids"=> array($reg_id),
"notification_key"=>$notification_key
);
$fields = json_encode($fields);
$ch = curl_init();
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_POSTFIELDS, $fields);
$result = curl_exec ($ch);
echo $result;
$res_notification_key = json_decode($result,true);
if(array_key_exists('notification_key', $res_notification_key)){
$notification_key = $res_notification_key['notification_key'];
echo $notification_key;
}
else{
echo $result;
}
curl_close ($ch);
?>
send_comments.php
<?php
$senderId = "78508*****";
$notification_key = $_REQUEST['not_key'];
$url = 'https://fcm.googleapis.com/fcm/send';
$headers = array (
"Authorization:key=A*****************",
"Content-Type:application/json",
);
$msg = array("hello"=>"This is a Firebase Cloud Messaging Device Group Message!");
$msg_dict = json_encode($msg);
//echo $msg_dict;
$fields = array(
"to"=>$notification_key,
"data"=>array(
"message" => "hell",
),
);
$fields = json_encode($fields);
$ch = curl_init();
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_POSTFIELDS, $fields);
$result = curl_exec ($ch);
echo $result;
$res_notification_key = json_decode($result,true);
curl_close ($ch);
?>
Überprüfen Sie diese http://stackoverflow.com/questions/38479668/firebase-api-is-not-sending-push-notifications-when-using-the-api/ –