使用Pushwoosh和Php向特定设备发送通知

有没有人成功使用Pushwoosh远程api向特定设备发送自定义通知?我已经查看了他们的文档来设置它,但通知会继续发送到所有设备.我在这做错了什么?提前致谢.

<?php


define('PW_AUTH', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
define('PW_APPLICATION', 'XXXXXX-XXXXXX');
define('PW_DEBUG', true);

function pwCall($method, $data = array()) {


    $url = 'https://cp.pushwoosh.com/json/1.3/' . $method;
    $request = json_encode(['request' => $data]);

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request);

    $response = curl_exec($ch);
    $info = curl_getinfo($ch);
    curl_close($ch);

    if (defined('PW_DEBUG') && PW_DEBUG) {
        print "[PW] request: $request\n";
        print "[PW] response: $response\n";
        print "[PW] info: " . print_r($info, true);
    }
}
pwCall('createMessage', array(
                  'application' => PW_APPLICATION,
                  'auth' => PW_AUTH,
                  'notifications' => array(
                          array(

                              'send_date' => 'now',
                              'content' => 'Send this content to user',

                          )


                  ),

                  'devices' => array('2lksdflkje96a4389f796173fakeae938device95ajkdh8709843') //Optional. Not more than 1000 tokens in an array. If set, message will only be delivered to the devices in the list. Ignored if the applications group is used


          )
        );
?>

最佳答案 您必须将通知数组中的设备列表指定.请参阅下面的正确请求(此处还提供Pushwoosh API文档
https://www.pushwoosh.com/programming-push-notification/pushwoosh-push-notification-remote-api/#PushserviceAPI-Method-messages-create)

   <?php
    define('PW_AUTH', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
    define('PW_APPLICATION', 'XXXXXX-XXXXXX');
    define('PW_DEBUG', true);

    function pwCall($method, $data = array()) {
        $url = 'https://cp.pushwoosh.com/json/1.3/' . $method;
        $request = json_encode(['request' => $data]);

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
        curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $request);

        $response = curl_exec($ch);
        $info = curl_getinfo($ch);
        curl_close($ch);

        if (defined('PW_DEBUG') && PW_DEBUG) {
            print "[PW] request: $request\n";
            print "[PW] response: $response\n";
            print "[PW] info: " . print_r($info, true);
        }
    }
    pwCall('createMessage', array(
                      'application' => PW_APPLICATION,
                      'auth' => PW_AUTH,
                      'notifications' => array(
                              array(
                                  'send_date' => 'now',
                                  'content' => 'Send this content to user',
                                  'devices' => array('2lksdflkje96a4389f796173fakeae938device95ajkdh8709843') //Optional. Not more than 1000 tokens in an array. If set, message will only be delivered to the devices in the list. Ignored if the applications group is used
                              )
                      ),
              )
            );
    ?>
点赞