沃梦达 / 编程问答 / php问题 / 正文

带有 PHP 脚本的 Apple 推送通知服务

Apple Push Notification Service with PHP Script(带有 PHP 脚本的 Apple 推送通知服务)

本文介绍了带有 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 推送通知服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:带有 PHP 脚本的 Apple 推送通知服务

基础教程推荐