使用PHP脚本的Apple推送通知服务 [英] Apple Push Notification Service with PHP Script

查看:120
本文介绍了使用PHP脚本的Apple推送通知服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试发送我的iPhone(APNS)的推送通知。我读了这篇发布并尝试实施它。所以我所有的证书都很好(正常)。

I'm trying so send push notifications ton my iPhone (APNS). I read this post and try to implement it. So all my certificates are good (normaly).

现在我有这个PHP脚本:

Now I have this php script :

$device = '4f30e047 c8c05db9 3fa87e7d ca5325f7 738cb2c0 0b4a02d4 d4329a42 a7128173'; // My iphone deviceToken
$payload['aps'] = array('alert' => 'This is the alert text', 'badge' => 1, 'sound' => 'default');
$payload['server'] = array('serverId' => $serverId, 'name' => $name);
$output = json_encode($payload);

$apnsCert = 'apple_push_notification_production.pem';

$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);

$apns = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);

$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $device)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);

//socket_close($apns); seems to be wrong here ...
fclose($apns);

当我运行此脚本时,没有任何事情发生。没有错误只是一个空白的页面,但我的iPhone没有收到推送通知......

When I run this script nothing happen. no error just an empty page but my iPhone doesn't receive the push notification ...

你有什么想法吗?

非常感谢!

推荐答案

设备令牌中没有空格,剥离它们

no space in device token, strip them

这篇关于使用PHP脚本的Apple推送通知服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆