php – Urban Airship push:响应:来自服务器的否定响应:0
发布时间:2020-12-13 16:52:06 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试从我的服务器向我的 Android应用程序发送推送通知.但它正在抛出错误Payload:{“audience”:“all”,“notification”:{“android”:{“alert”:“PHP script test”}},“device_types”:[“android”]}响应:得到了服务器的否定回复:0. 以
|
我正在尝试从我的服务器向我的
Android应用程序发送推送通知.但它正在抛出错误Payload:{“audience”:“all”,“notification”:{“android”:{“alert”:“PHP script test”}},“device_types”:[“android”]}响应:得到了服务器的否定回复:0.
以下是源代码 <?php
define('APPKEY','**************Mw'); // Your App Key
define('PUSHSECRET','**********Low'); // Your Master Secret
define('PUSHURL','https://go.urbanairship.com/api/push/');
$contents = array();
$contents['alert'] = "PHP script test";
$notification = array();
$notification['android'] = $contents;
$platform = array();
array_push($platform,"android");
$push = array("audience"=>"all","notification"=>$notification,"device_types"=>$platform);
$json = json_encode($push);
echo "Payload: " . $json . "n"; //show the payload
$session = curl_init(PUSHURL);
curl_setopt($session,CURLOPT_USERPWD,APPKEY . ':' . PUSHSECRET);
curl_setopt($session,CURLOPT_POST,True);
curl_setopt($session,CURLOPT_POSTFIELDS,$json);
curl_setopt($session,CURLOPT_HEADER,False);
curl_setopt($session,CURLOPT_RETURNTRANSFER,CURLOPT_HTTPHEADER,array('Content-Type:application/json','Accept: application/vnd.urbanairship+json; version=3;'));
$content = curl_exec($session);
echo "Response: " . $content . "n";
// Check if any error occured
$response = curl_getinfo($session);
if($response['http_code'] != 202) {
echo "Got negative response from server: " . $response['http_code'] . "n";
} else {
echo "Wow,it worked!n";
}
curl_close($session);
?>
我试图从我的浏览器运行这个PHP脚本.来自城市飞艇服务器的推送通知正常工作. 感谢提前获得任何帮助. 解决方法<?php
// DEVELOPMENT PUSH DETAILS
define('APPKEY','XXXXXXXXXXXXXXXXXXX');
define('PUSHSECRET','XXXXXXXXXXXXXXXXXXX'); // Master Secret
define('PUSHURL','https://go.urbanairship.com/api/push/');
/*
// PRODUCTION PUSH DETAILS
define('APPKEY','https://go.urbanairship.com/api/push/');
*/
$push = array();
$push['aliases'] = $aliases; // Using alias that is set from the javascript after the device has registered to urban airship
$push['aps'] = array("badge"=>"+1","alert" => $message); // for iphone
$push['android'] = array("alert"=>$message); // for android
$json = json_encode($push);
echo "Payload: " . $json . "n"; //show the payload
$session = curl_init(PUSHURL);
curl_setopt($session,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($session,APPKEY . ':' . PUSHSECRET);
curl_setopt($session,True);
curl_setopt($session,$json);
curl_setopt($session,False);
curl_setopt($session,array('Content-Type:application/json'));
$content = curl_exec($session); // $content has all the data that came back from urban airship..check its contents to see if successful or not.
// Check if any error occured
$response = curl_getinfo($session);
if($response['http_code'] != 200) {
$status = $response['http_code'];
echo "Got negative response from server: " . $response['http_code'] . "n";
} else {
$status = 'ok';
}
curl_close($session);
?>
这里,$aliases是数组类型.它是别名列表. $message是您要推送的通知.在这两个变量中正确分配值.它会工作.. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
