简体   繁体   English

用PHP在gcm推送通知中出错

[英]Error in gcm push notification with php

When I'm using gcm push notification, 当我使用gcm推送通知时,

Field"data"mustbeaJSONarray: {
    "details": [
        {
            "regid": "APA91bH8zxTxfoSLWhE21IbTR9a10cvIcm17-zsPY_0OAy3JhO_8gTwMwwAUd_4vZiLu5UF4A1m8R3TEIffDaChVR0y2us9iebngkaWlOM34ix4PUeOgIoM9aGOcxLLECAGjKNSwupTY0p2O0BeXjSCp8RYFaD-xzg",
            "status": "true",
            "post_userid": "34",
            "post_id": "7",
            "postuser_name": "dev",
            "message": "gggggg"
        }]}

and that give me error: "Field data must be a JSON array" 那给我错误: “字段数据必须是一个JSON数组”

please guide me 请指导我

My code : 我的代码:

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

Well, your JSON doesn't look like it's supposed to look. 好吧,您的JSON看起来不应该看起来像。 It should be something like that : 应该是这样的:

{
  "data": {
        "status": "true",
        "post_userid": "34",
        "post_id": "7",
        "postuser_name": "dev",
        "message": "gggggg"
  },
  "registration_ids":["APA91bH8zxTxfoSLWhE21IbTR9a10cvIcm17-zsPY_0OAy3JhO_8gTwMwwAUd_4vZiLu5UF4A1m8R3TEIffDaChVR0y2us9iebngkaWlOM34ix4PUeOgIoM9aGOcxLLECAGjKNSwupTY0p2O0BeXjSCp8RYFaD-xzg"]
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM