您似乎正在使用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 中进行设置变得非常简单。该库只是在下面使用 curl,因此您可以使用更方便的方式。
$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();