2016-04-16 11 views
1

Hallo an alle ich bin in der Lage, das Token aus GCM Cloud zu bekommen und es in meiner Datenbank zu speichern, aber wenn ich Benachrichtigung auf dem relevanten Token senden wird, ist so etwas wie {"multicast_id" : 8449678444605960595 "Erfolg": 0, "Fehler": 1, "canonical_ids": 0, "Ergebnisse": [{ "Fehler": "NotRegistered"}]}Google Cloud Messaging sendet keine Benachrichtigung

I don't see error in code but if any one of you know please help me.I am not uploading my code because i think it doesn't have any logical error.but if any of you want so i am uploading my php script here 

phpScript 

<?php 
    //request url 
    $url = 'https://android.googleapis.com/gcm/send'; 

    $registrationIDs=array(); 
    $index=0; 

    $host = "mysql7.000webhost.com"; 
     $dbname = "a1861947_lalitdb";  
     $username = "a1861947_lalit12"; 
     $password = "kush123"; 

     $con=mysqli_connect($host,$username,$password,$dbname); 




    $apiKey = 'AIzaSyCL-BT0xo6RVB-eLeYKjH-g0n_CdjM9kN0'; 
    $querySelect="Select Token from token_reg"; 
     $result=mysqli_query($con,$querySelect); 


      while($record = mysqli_fetch_array($result)) 
      { 
       $registrationIDs[$index++]=$record['Token']; 
       } 

    //payload datad 
    $data = array('Demo'=>'Accenture ne Pinnacle Bna Diya'); 

    //$data=array('message'=>$message); 
    $fields = array('registration_ids' => $registrationIDs, 
        'data' => $data); 

    //http header 
    $headers = array('Authorization: key='. $apiKey, 
        'Content-Type: application/json'); 
     $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); 

      // Disabling SSL Certificate support temporarly 
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

      curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); 
     $result = curl_exec($ch); 
      if ($result === FALSE) { 
       die('Curl failed: ' . curl_error($ch)); 
      } 

      // Close connection 
      curl_close($ch); 
      echo $result; 

    ?> 

// token_reg Tabelle hat die Von GCM gesendete Tokens

Antwort

1

Der Wert, den Sie in der Multicast-ID übergeben, sieht nicht wie ein gültiges GCM-Token aus. GCM-Tokens sind viel länger als das, was Sie haben und enthalten normalerweise Buchstaben und einige Sonderzeichen.

Wenn Sie Ihr Gerät richtig registrieren, liegt wahrscheinlich ein Fehler im Code vor, der dieses Token speichert.

Verwandte Themen