0

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

  1. group_create.php
  2. device_add.php
  3. device_remove.php
  4. 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); 
?> 
+0

Überprüfen Sie diese http://stackoverflow.com/questions/38479668/firebase-api-is-not-sending-push-notifications-when-using-the-api/ –

Antwort

0

APNs folgt ein Format

{"aps":{"alert":"Testing.. (0)","badge":1,"sound":"default"}} 

dh

{ 
"aps":{ 
"alert":"message here" 
} 
} 

wenn das Format von Server-Seite sendet das ist, dann gilt nur für iPhone-Benachrichtigungen angezeigt werden, andere weise Benachrichtigungsdaten werden nur in der Konsole durch

gedruckt
- (void)applicationReceivedRemoteMessage:(FIRMessagingRemoteMessage   *)remoteMessage { 
// Print full message 
NSLog(@"Notification :%@", remoteMessage.appData); 
} 

aber nicht in der Benachrichtigungsliste angezeigt.

Verwandte Themen