如何实现iPhone Push Demo
PushMeBaby source code:
http://stefan.hafeneger.name/download/PushMeBabySource.zip
http://bitbucket.org/urbanairship/push_sample/src/tip/APNS/Classes/APNSAppDelegate.m#cl-136
服务器实现:
<?php
$deviceToken = $_GET['deviceToken'];
echo $_GET['deviceToken'];
// Passphrase for the private key (ck.pem file)
// $pass = '';
// Get the parameters from http get or from command line
$message = $_GET['message'] or $message = $argv[1] or $message = 'You got a message';
$badge = (int)$_GET['badge'] or $badge = (int)$argv[2];
$sound = $_GET['sound'] or $sound = $argv[3];
// Construct the notification payload
$body = array();
$body['aps'] = array('alert' => $message);
if ($badge)
$body['aps']['badge'] = $badge;
if ($sound)
$body['aps']['sound'] = $sound;
/* End of Configurable Items */
$ctx = stream_context_create();
/*stream_context_set_option($ctx, 'ssl','allow_self_signed', true);
stream_context_set_option($ctx, 'ssl', 'verify_peer',false);*/
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
// assume the private key passphase was removed.
// stream_context_set_option($ctx, 'ssl', 'passphrase', $pass);
$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 $errstr/n";
return;
}
else {
print "Connection OK/n";
}
$payload = json_encode($body);
$msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload;
print "sending message :" . $payload . "/n";
fwrite($fp, $msg);
fclose($fp);
?>
其他相关文档:
iPhone Software Development: Apple Push Notification Service (APNS)
iPhone Software Development: APNS Client Development Certificate Available Now
OpenSSL support in PHP under MAMP | Barry Jaspan
Running a secure web server on your Leopard-powered Mac | Michael Gracie
如何实现iPhone Push Demo相关推荐
- 再论iPhone Push Notification
感谢@lawrencelry邀请我参加CocoaHeads的活动,有幸碰到iCHM和Buddyfeed的作者@RobinLu.我们三个人讨论了一下苹果的Push,内容总结于下文. ---------- ...
- 华为开发者联盟安卓Push Demo无法接收消息的解决
前段时间用了华为开发者联盟的Push服务,想自己在服务器端用华为Push的JAVA SDK来Push消息到安卓客户端上面,一直在编写服务器端,而且客户端用过华为的demo,之前是好了,能收到手动发出的 ...
- iphone push消息的原理
第一部分:Push原理 (以下绝大多数内容参考自.图片来自iPhone OS Reference Library) 机制简介 Push的工作机制可以简单的概括为下图 图中, Provider是指某个i ...
- iphone push是什么
第一部分:Push原理 (以下绝大多数内容参考自.图片来自iPhone OS Reference Library) 机制简介 Push 的工作机制可以简单的概括为下图 图中, Provider是指某个 ...
- 制作iPhone App demo video
Keep it short Edit using iMovie Dub in appropriate audio Host it on YouTube or host it yourself usin ...
- 基于dwr2.0的Push推送技术详细解析以及实例
DWR从2.0开始增加了push功能,也就是在异步传输的情况下可以从Web-Server端发送数据到 Browser. 我们知道,Web的访问机制天生是设计用来pull数据的,也就是只允许Browse ...
- 基于dwr2.0的Push推送技术详细解析以及实例(转)
DWR从2.0开始增加了push功能,也就是在异步传输的情况下可以从Web-Server端发送数据到 Browser. 我们知道,Web的访问机制天生是设计用来pull数据的,也就是只允许Browse ...
- 3D Touch大法
Demo同步更新到Swift2.3 本文出自: http://mokai.me/2016/09/3d-touch/ 3D Touch最先应用在Apple Watch上面,但叫Force Touch,后 ...
- next.js+react+typescript+antd+antd-mobile+axios+redux+sass react服务端渲染构建项目,从构建到发布,兼容pc+移动端
简介:该教程兼容pc+移动端,如只需一端,可忽略兼容部分教程,根据需要运行的客户端构建项目 antd官网:https://ant.design/components/overview-cn/ antd ...
最新文章
- 计算机网络工程应用,计算机网络工程网络命令的应用
- ubuntu nginx php-fpm mysql_Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL
- 使用jQuery的attr方法来修改onclick值
- 园区医保和其他地方的医保的区别
- linuxpython升级3.5_linux升级python3.5到3.6
- 【热烈祝贺】我刊主编郑纬民教授荣获中国存储终身成就奖!
- linux 强行安装软件,Linux下强制不检测依赖安装VNC
- MySQL高可用方案-PXC环境部署记录
- python一般的基础代码-Python入门经典练习题
- oracle startup open ora 03113,Oracle 11g startup时报ORA-03113通信通道的文件结尾
- java查询三级树(三级目录)
- 计算机cad比例尺1 150,CAD图纸里面 1:50 和:1:100和1:150三个比例分别怎么换算...
- 2020年好用的BI应用排行榜
- 【动态规划】2只鸡蛋与100层塔问题(有详细说明和思路代码)
- 2022年茶艺师(初级)考试模拟100题及答案
- 数据分析之Matplotlib(二)折线图(plot)
- android混淆一步一步
- Simscape - 关节添加摩擦力
- Unity--使用鼠标操纵摄像机,让其围绕屏幕中心旋转
- User-Agent结构介绍及主流浏览器User-Agent大全