您好我的应用程序中有推送通知我使用了设备令牌。我正在将设备令牌提取到我的服务器并使用php代码我之前发送了通知我已经完成了相同的过程它工作正常现在通知在我的应用程序中无法正常工作。
在网址中显示如下。
notifications sent!sending message:{ "aps" : { "alert" :"test", "badge" : 3, "sound" : "" } }nsending message:{ "aps" : { "alert" :"test", "badge" : 3, "sound" : "" } }nsending message:{ "aps" : { "alert" :"test", "badge" : 3, "sound" : "" } }n
我的PHP代码。
<?php
if($_POST['message']){
include "db.php";
$query = mysql_query("select * from notifi");
$deviceToken = ARRAY();
while ($row = mysql_fetch_array($query)){
$deviceToken[] = $row["token"];
}
$message = stripcslashes($_POST['message']);
$payload = '{
"aps" :
{
"alert" :"'.$message.'",
"badge" : 3,
"sound" : ""
}
}';
$ctx = stream_context_create();
stream_context_set_option($ctx,'ssl', 'local_cert','ck.pem');
stream_context_set_option($ctx,'ssl','passphrase', 'ssvv');
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195',$err,$errstr,60,STREAM_CLIENT_CONNECT,$ctx);
if(!fp){
print "Failed to connect $err $errstrn";
return;
}else{
print "notifications sent!";
}
$devArray = array();
$devArray[] = $deviceToken;
foreach($deviceToken as $token){
$msg = chr(0) . pack("n",32) . pack("H*", str_replace(' ',' ',$token)).pack("n",strlen($payload)) . $payload;
print "sending message:" .$payload . "n";
fwrite($fp,$msg);
}
fclose($fp);
}
?>
我已经检查了它看起来的一切f9但是我不知道为什么它不起作用请告诉我我在哪里做错了。
感谢。