簡體   English   中英

從php發送pushwoosh發送推送通知

[英]Sending Push notification through pushwoosh from php

我試圖通過推送woosh發送推送通知,如下所示:

有人幫我如何從這個代碼發送設備上的推送通知

function pwCall( 'createMessage' ,array(

        'application' => PW_APPLICATION,          

        'auth' => PW_AUTH,

        "devices" => PW_DEVICETOKEN,

        'notifications' =>  array(

                    'send_date' =>'now', //gmdate('d-m-Y H:i', strtotime('2014-04-07 20:35')),

                    'content' => 'my custom notification testing ',

    'link' => 'http://pushwoosh.com/',

                    'content' => array("en" => "English","ru" =>"Русский","de"=>"Deutsch")

                    ),

                  'page_id' => 16863,

                  'link' => 'http://google.com',

                 'data' => array( 'custom' => 'json data' ),   
            )
    );

我收到的錯誤如

數組([status_code] => 210 [status_message] =>無法解析日期[response] =>)

  1. 通知應該是JSON表示法中的對象數組。 在PHP中,它將是數組數組。 這是因為您可以在一個請求中創建多個通知。 通知字段的最終JSON:

    “通知”:[{...通知屬性...},{...第二通知屬性...},...]

  2. 請求中只有3個根參數: application (OR applications_group ), authnotifications 其他參數是通知參數,而不是請求。

最后你的PHP調用應該如下:

pwCall("createMessage", array(
  "auth" => PW_AUTH,
  "application" => PW_APPLICATION,
  "notifications" => array(
    array(
      "send_date" => "now",
      "content" => array("en" => "English", "ru" =>"Русский", "de"=>"Deutsch"),
      "link" => "http://pushwoosh.com/",
      "page_id" => 16863,
      "devices" => array( PW_DEVICETOKEN ),
      "data" => array( "custom" => "json data" )
    )
  )
));

send_date內容之外的所有通知字段都是可選的,可以省略

根據它的外觀,您的日期格式不正確。 你傳遞的是一個由“now”組成的普通字符串。 你想要做的是以下幾點:

function pwCall("createMessage", array(
    "application"   => PW_APPLICATION,          
    "auth"          => PW_AUTH,
    "devices"       => PW_DEVICETOKEN,
    "notifications" => array(
        "send_date" => gmdate("Y-m-d H:i"),
        "content"   => "My custom notification",
        "link"      => "http://pushwoosh.com/",
        "content"   => array("en" => "English", "ru" =>"Русский", "de"=>"Deutsch")
    ),
    "page_i" => 16863,
    "link"   => "http://google.com",
        "data" => array("custom" => "json data"),   
    )
);

我們開發了一個API來輕松調用Pushwoosh Web服務。

這個API應該是一個高質量的API並且經過全面測試(非常高的代碼覆蓋率)。

https://github.com/gomoob/php-pushwoosh

$push_auth = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$push_app_id = 'XXXXX-XXXXX';
$push_debug = false;
$title = ''; // pushwoosh title
$banner = ''; // pushwoosh banner
$send_date = 'now'; // pushwoosh date
$android_header = '';    // pushwoosh android header 
$android_custom_icon = '' pushwoosh notification icon;
sendpush('createMessage', array(
                    'application' => $push_app_id,
                    'auth' => $push_auth,
                    'notifications' => array(
                        array(
                            'send_date' => $send_date,
                            'content' => $title,
                            'android_header'=>$android_header,
                            'android_custom_icon' =>$android_custom_icon,
                            'android_badges' => 2,
                            'android_vibration' => 1,                
                            'android_priority' => 1,
                            'data' => array('custom' => 'json data'),
                        ),
                    )
        ));

function sendpush($method, $data) {
            $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, false);
            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') && self::$push_de) {
                print "[PW] request: $request\n";
                print "[PW] response: $response\n";
                print "[PW] info: " . print_r($info, true);
            }

            return $info;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM