【问题标题】:Google cloud messaging not sending notification谷歌云消息不发送通知
【发布时间】:2016-04-16 13:49:24
【问题描述】:

大家好,我可以从 GCM 云中获取令牌并将其存储到我的数据库中,但是当我要发送有关相关令牌的通知时,它的输出类似于 {"multicast_id":8449678444605960595,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}

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表有GCM发送的token

【问题讨论】:

    标签: android google-cloud-messaging


    【解决方案1】:

    您在多播 ID 中传递的值看起来不像是有效的 GCM 令牌。 GCM 令牌比您拥有的要长得多,通常包含字母数字和一些特殊字符。

    如果您正确注册设备,则可能是保存此令牌的代码出错。

    【讨论】:

      猜你喜欢
      • 2015-03-08
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 2015-01-27
      相关资源
      最近更新 更多