Parse.com向多种设备类型发送推送通知,即Android和iOS无法正常工作

时间:2016-01-28 20:28:52

标签: php android ios parse-platform push-notification

我使用以下代码使用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代码可能存在一些问题。

如果无法使用此代码发送相同的消息,请帮我处理一些有效的代码。我需要这个,因为我的两个设备的应用程序已经在线。

1 个答案:

答案 0 :(得分:0)

尝试更改您的" $ data"到这一个:

$data = [ 'where' => ['channels' => 'global'] OR  ['channels' => ''], 'expiry' => time() 

另一种选择:

$data = ['where' => 'channels' => 'global' OR  'channels' => '', 'expiry' => time()