2017-12-08 3 views
0

i folgenden Code bin mit Push-Benachrichtigungen an ein Android-GerätFirebase: php Push-Benachrichtigung auf mehrere Devics

function send_notification($message, $token){ 
    define('API_ACCESS_KEY', 'mykey'); 
    $msg = array 
      (
      'body' =>$message, 
      'title' => 'You have a new message ', 

     ); 
    $fields = array 
      (
       'to'  => $token, 
       'notification' => $msg 
      ); 

    $headers = array 
      (
       'Authorization: key=' . API_ACCESS_KEY, 
       'Content-Type: application/json' 
      ); 
     $ch = curl_init(); 
     curl_setopt($ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/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); 
     echo $result; 
     curl_close($ch); 
} 

i erfolgreich es was zu einem Gerät zu senden bin zu senden, wenn ich es an mehrere Geräte-IDs senden möchten Wo muss ich loopen und welche Formatdaten wären das? Bitte helfen Sie

Antwort

1

Docs here zeigen Sie, wie Sie registration_ids für Empfänger von Multicast-Nachrichten angeben. Ersetzen Sie Ihre $fields['to'] durch eine $fields['registration_ids'], die ein Array von Strings sein wird, die die Token Ihrer Empfänger enthalten.

+0

sollte es so sein 'zu' \t \t => [2,3,4,5] – Sikander

+0

Kein @Sikander, sollte es eher so aussehen: ' $ fields = array ( 'registration_ids' => [2,3,4,5], ... ); '' ' –

+0

wie? Ich meine, bitte klar – Sikander

0

versuchen diese:

for($i=0;$i<count($TokenArray);$i++){ 
    send_notification($message, $TokenArray[$i]); 
} 
+0

bearbeitet, würde es nicht 4 verschiedene Enteries in Firebase Admin Panel hinzufügen – Sikander