我使用以下代码使用REST API从我的PHP表单发送parse.com推送通知。
$APPLICATION_ID = 'Applicatio_id_here';
$REST_API_KEY = 'Rest_api_key_here';
$data = [
'where' => ['channels' => ''],
'expiry' => time() + 1000,
'data' => [
'alert' => $notification,
],
];
$_data = json_encode($data);
$headers = [
'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_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_exec($curl);
我的parse.com帐户已针对Android和iOS推送通知进行设置。我能够成功获得Android设备上的通知。但问题出在iPhone上。我没有在iPhone设备上收到任何通知。
但是,如果我从parse.com管理员发送通知(发送推送),iPhone设备正在成功接收通知。
还有一件事要提到,在parse.com管理员中,我可以看到适用于iOS设备的频道= ["全球"]但是[""]适用于Android设备。 所以我认为我的PHP代码可能存在一些问题。
如果无法使用此代码发送相同的消息,请帮我处理一些有效的代码。我需要这个,因为我的两个设备的应用程序已经在线。
答案 0 :(得分:0)
尝试更改您的" $ data"到这一个:
$data = [ 'where' => ['channels' => 'global'] OR ['channels' => ''], 'expiry' => time()
另一种选择:
$data = ['where' => 'channels' => 'global' OR 'channels' => '', 'expiry' => time()