我想使用查询发送推送通知 例如
我有这个查询
$ages = array(18,19,20,21)
$parseQuery = new parseQuery('_User');
$parseQuery->whereContainedIn('age', $ages);
$result = $parseQuery->find();
我想向他们发送推送通知 我应该使用安装还是另一种方式? 感谢
更新
我正在使用这个sdk https://github.com/apotropaic/parse.com-php-library
从我返回的代码列表中我将向他们发送通知 我想将推送通知发送到_User类
答案 0 :(得分:6)
您似乎正在使用parseQuery
来检索具有您指定的年龄限制的用户。根据文档,在$result
中获得用户数据后,您可以使用curl发送推送通知。
以下是我在网络上找到的一些代码,应该很容易将其用于现有代码,以便向您检索到的用户发送推送通知。
<?php
$APPLICATION_ID = "xxxxxxxx";
$REST_API_KEY = "xxxxxxxxx";
$MESSAGE = "your-alert-message";
$url = 'https://api.parse.com/1/push';
$data = array(
'channel' => '',
'type' => 'android',
'expiry' => 1451606400,
'where' => array(
'age' => array('$in' => array(18,19,20,21))
),
'data' => array(
'alert' => 'greetings programs',
),
);
$_data = json_encode($data);
$headers = array(
'X-Parse-Application-Id: ' . $APPLICATION_ID,
'X-Parse-REST-API-Key: ' . $REST_API_KEY,
'Content-Type: application/json',
'Content-Length: ' . strlen($_data),
);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_exec($curl);
值得注意的是,你需要php-curl来实现这一点。如果您还没有它,install or enable就很容易了。或者,如果你想使用开箱即用的东西,你可以使用file_get_contents
来实现同样的目的。
修改:我已使用您在问题中定义的约束更新了$data
数组。您不需要使用parseQuery来查找具有更新代码的用户。你有效地告诉Parse在调用中应用约束。
更新2 :我还没有测试过这段代码,但是库让我们可以非常直接地在README中进行设置。该库只是使用下面的卷曲,所以你可以使用更方便的。
$parse = new parsePush('Sample push message');
$parse->where = array(
'age' => array('$in' => array(18,19,20,21))
);
//create acl
$parse->ACL = array("*" => array("write" => true, "read" => true));
$r = $parse->send();