IOS PushNotification - IOS推送测试 PHP 版

来源:互联网 发布:男人心目中的女神 知乎 编辑:程序博客网 时间:2024/05/16 05:27

这里讲的是如何给设备发送一个推送消息,不是如何获取Token哦!


<?php// Put your device token here (without spaces):$deviceToken = '获取到的Token';// Put your private key's passphrase here:$passphrase = '123456';// Put your alert message here:$message = 'My first push notification!';////////////////////////////////////////////////////////////////////////////////$ctx = stream_context_create();stream_context_set_option($ctx, 'ssl', 'local_cert', 'apans-dis.pem');stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);// Open a connection to the APNS server$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err,$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);if (!$fp)exit("Failed to connect: $err $errstr" . PHP_EOL);echo 'Connected to APNS' . PHP_EOL;// Create the payload body$body['aps'] = array('alert' => $message,'sound' => 'default');// Encode the payload as JSON$payload = json_encode($body);// Build the binary notification$msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;// Send it to the server$result = fwrite($fp, $msg, strlen($msg));if (!$result)echo 'Message not delivered' . PHP_EOL;elseecho 'Message successfully delivered' . PHP_EOL;// Close the connection to the serverfclose($fp);

修改devicetoken和passphrase这两个变量为获取到的token和证书密码。


保存上面代码为push.php ,把pem放到文件同目录。

然后执行 php push.php ,就会收到推送啦


上面代码使用的是发布证书,如果是测试证书需要修改ssl网址哦。

修改为:

ssl://gateway.sandbox.push.apple.com:2195


0 0
原创粉丝点击