我想在 PHP 中使用 Parse 向多个 Android 设备发送通知。为此,我遵循了此 link 上给出的方法。 ,但这只为一个设备提供了解决方案。因此,我使用该方法创建了一个循环,并遍历包含 objectIDs
的 array
。但是,它也没有用。我也浏览了这个网站,但找不到所需的解决方案。请帮忙。
这是代码。
for($i=0;$i<count($devicesArray);$i++)
{
$target_device = $devicesArray[$i]; // using object Id of target Installation.
$push_payload = json_encode(array(
"where" => array(
"objectId" => $target_device,
),
"data" => array(
"alert" => "New message received in ".$groupName." ."
)
));
$rest = curl_init();
curl_setopt($rest,CURLOPT_URL,$url);
curl_setopt($rest,CURLOPT_PORT,443);
curl_setopt($rest,CURLOPT_POST,1);
curl_setopt($rest,CURLOPT_POSTFIELDS,$push_payload);
curl_setopt($rest,CURLOPT_HTTPHEADER,
array("X-Parse-Application-Id: " . $appId,
"X-Parse-REST-API-Key: " . $restKey,
"Content-Type: application/json"));
$response = curl_exec($rest);
}
$devicesArray
包含对象 ID,for
循环内的代码在上述链接中给出。问题是通知只传送到一台设备,但我希望它传送到所有设备。这是 Parse 仪表板的快照。
这里“1”和“0”是编号。已发送推送。
最佳答案
我想你可以试试下面这样的东西。我对 parse.com 没有太多经验,所以也许 $in
只是 in
或者你根本不需要它,也许你可以试试:
$push_payload = json_encode(array(
"where" => array(
"deviceToken" => array( '$in' => array( "deviceToken_1", "deviceToken_2", "deviceToken_3" ) )
),
"data" => array(
"alert" => "New message received in ".$groupName." ."
)
));
而不是 array( '$in' => array( "deviceToken_1", "deviceToken_2", "deviceToken_3") )
你可以试试这个:
array( 'in' => array( "deviceToken_1", "deviceToken_2", "deviceToken_3" ) )
或者说:
array( array( "deviceToken_1", "deviceToken_2", "deviceToken_3" ) )
或者只是:
array( "deviceToken_1", "deviceToken_2", "deviceToken_3" )
关于php - 在 PHP 中使用 Parse 将相同的通知推送到多个 Android 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33689746/