[请益] PHP推播APnS问题请教

楼主: rurikaxx (DavidLuo)   2015-01-22 16:28:15
在网络上找到很多范例
做法其实都一样
范例如下:
$deviceToken =
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$certificateFile = 'ck.pem;
$pushServer = 'ssl://gateway.sandbox.push.apple.com:2195';
$feedbackServer = 'ssl://feedback.sandbox.push.apple.com:2196';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert',
$certificateFile);
$fp = stream_socket_client($pushServer, $error, $errorStr, 100,
STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $streamContext);
$payloadObject = array('aps' => array('alert' => 'Server Time','sound' =>
'default','badge' => 3),'custom_key' => 'custom_value22');
$payload = json_encode($payloadObject);
$expire = time() + 3600;
$id = time();
if ($expire) {
$binary = pack('CNNnH*n', 1, $id, $expire, 32, $deviceToken,
strlen($payload)).$payload;
}
$result = fwrite($fp, $binary);
fclose($fp);
if( $result )
{
echo "写入成功!" . $result;
}
else
{
echo "写入失败!";
}
我检查$fp有连线成功(TRUE)
$result也有回传成功讯息(字数)
但手机一直没有收到推播讯息
有人有遇过类似的状况或可以麻烦帮我看一下是否程式有问题?
若程式没问题我才能再去检查是否是其他因素造成QQ
作者: kerash (.TW)   2015-01-25 01:51:00
https://github.com/kerash-huang/pushNotification/Source/apple.pn.class.php 我 pack 的写法跟你不同我目前都还可以用,可以试试看

Links booklink

Contact Us: admin [ a t ] ucptt.com