Php 向所有用户和特定设备发送推送通知

Php 向所有用户和特定设备发送推送通知,php,json,rest,parse-platform,Php,Json,Rest,Parse Platform,我正在PHP中使用Parserestapi,我正在努力找出如何做两件事 发送给频道的所有用户: { "data": { "alert": "This is a test!!", "sound": "default", "badge": 1 }, "where": { "channels": [ "puc" ]} } } { "data": { "alert": "This is a test!!", "so

我正在PHP中使用
Parse
restapi
,我正在努力找出如何做两件事

发送给频道的所有用户:

{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": [
      "puc"
    ]}
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": [
      "puc"
    ],
    "deviceToken": {
      "$in": [
        "DSFSAFJDSLKWRJKLJGLKASGLK"
      ]
    }
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": "puc"
    }
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": "puc",
    "deviceToken": {
      "$in": [
        "DSFSAFJDSLKWRJKLJGLKASGLK"
      ]
    }
  }
}
发送该JSON会导致错误:

{“code”:102,“error:“equality需要一个值而不是[puc]”}

发送到特定设备令牌:

{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": [
      "puc"
    ]}
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": [
      "puc"
    ],
    "deviceToken": {
      "$in": [
        "DSFSAFJDSLKWRJKLJGLKASGLK"
      ]
    }
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": "puc"
    }
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": "puc",
    "deviceToken": {
      "$in": [
        "DSFSAFJDSLKWRJKLJGLKASGLK"
      ]
    }
  }
}
发送该JSON会导致错误:

{“code”:102,“error:“equality需要一个值而不是[puc]”}


我做错了什么?有人能给我指出这两次推送的正确方向吗?

where
子句中使用
channels
时,它只接受一个值而不接受一个数组:

发送给频道的所有用户:

{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": [
      "puc"
    ]}
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": [
      "puc"
    ],
    "deviceToken": {
      "$in": [
        "DSFSAFJDSLKWRJKLJGLKASGLK"
      ]
    }
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": "puc"
    }
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": "puc",
    "deviceToken": {
      "$in": [
        "DSFSAFJDSLKWRJKLJGLKASGLK"
      ]
    }
  }
}
发送到特定设备令牌:

{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": [
      "puc"
    ]}
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": [
      "puc"
    ],
    "deviceToken": {
      "$in": [
        "DSFSAFJDSLKWRJKLJGLKASGLK"
      ]
    }
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": "puc"
    }
  }
}
{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "where": {
    "channels": "puc",
    "deviceToken": {
      "$in": [
        "DSFSAFJDSLKWRJKLJGLKASGLK"
      ]
    }
  }
}
如果您需要传递一个数组,则必须像“deviceToken”一样使用
$in

或者,当您没有通道以外的任何其他条件时,不需要放置where子句:

{
  "data": {
    "alert": "This is a test!!",
    "sound": "default",
    "badge": 1
  },
  "channels": [
    "puc"
  ]
}
您可以在文档中找到更多示例和信息: