本文部分内容引用于 http://zxs19861202.iteye.com/blog/1532460

准备工作

1.获取手机注册应用的deviceToken(iphone手机注册应用时返回唯一值deviceToken)

2.获取ck.pem文件(做手机端的给)

3.获取pass phrase(做手机端的给)

testpush.php文件

  1. <?php
  2. //手机注册应用返回唯一的deviceToken
  3. $deviceToken = '6ad7b13f b05e6137 a46a60ea 421e5016 4b701671 cc176f70 33bb9ef4 38a8aef9';
  4. //ck.pem通关密码
  5. $pass = 'jetson';
  6. //消息内容
  7. $message = 'A test message!';
  8. //badge我也不知是什么
  9. $badge = 4;
  10. //sound我也不知是什么(或许是推送消息到手机时的提示音)
  11. $sound = 'Duck.wav';
  12. //建设的通知有效载荷(即通知包含的一些信息)
  13. $body = array();
  14. $body['id'] = "4f94d38e7d9704f15c000055";
  15. $body['aps'] = array('alert' => $message);
  16. if ($badge)
  17. $body['aps']['badge'] = $badge;
  18. if ($sound)
  19. $body['aps']['sound'] = $sound;
  20. //把数组数据转换为json数据
  21. $payload = json_encode($body);
  22. echo strlen($payload),"\r\n";
  23. //下边的写法就是死写法了,一般不需要修改,
  24. //唯一要修改的就是:ssl://gateway.sandbox.push.apple.com:2195这个是沙盒测试地址,ssl://gateway.push.apple.com:2195正式发布地址
  25. $ctx = stream_context_create();
  26. stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
  27. stream_context_set_option($ctx, 'ssl', 'passphrase', $pass);
  28. $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);
  29. if (!$fp) {
  30. print "Failed to connect $err $errstr\n";
  31. return;
  32. }
  33. else {
  34. print "Connection OK\n<br/>";
  35. }
  36. // send message
  37. $msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload;
  38. print "Sending message :" . $payload . "\n";
  39. fwrite($fp, $msg);
  40. fclose($fp);
  41. ?>

php做推送服务端实现ios消息推送的更多相关文章

  1. java服务端集成极光消息推送--详细开发步骤

    1.极光推送账号准备 要使用极光消息推送必须先在官方网站上注册账号,并添加应用. 产品介绍:https://docs.jiguang.cn/jpush/guideline/intro/ 注册开发者账号 ...

  2. (转)iOS消息推送机制的实现

    原:http://www.cnblogs.com/qq78292959/archive/2012/07/16/2593651.html iOS消息推送机制的实现 iOS消息推送的工作机制可以简单的用下 ...

  3. IOS 推送消息 php做推送服务端

    IOS推送消息是许多IOS应用都具备的功能,最近也在研究这个功能,参考了很多资料终于搞定了,下面就把步骤拿出来分享下: iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPh ...

  4. 基于APNs最新HTTP/2接口实现iOS的高性能消息推送(服务端篇)

    1.前言 本文要分享的消息推送指的是当iOS端APP被关闭或者处于后台时,还能收到消息/信息/指令的能力. 这种在APP处于后台或关闭情况下的消息推送能力,通常在以下场景下非常有用: 1)IM即时通讯 ...

  5. 使用flask_socketio实现服务端向客户端定时推送

    websocket连接是客户端与服务器之间永久的双向通信通道,直到某方断开连接. 双向通道意味着在连接时,服务端随时可以发送消息给客户端,反之亦然,这在一些需要即时通讯的场景比如多人聊天室非常重要. ...

  6. Ios 消息推送

    手把手教你做iOS推送 http://www.cocoachina.com/industry/20130321/5862.html http://www.cnblogs.com/cdts_change ...

  7. [置顶] 手把手教你iOS消息推送证书生成以及Push消息

    iOS推送消息是许多iOS应用都具备的功能,今天在给应用加推送功能,在生成证书的过程中,发生了各种令人蛋痛的事.下面就把步骤拿出来分享下: iOS消息推送的工作机制可以简单的用下图来概括: Provi ...

  8. 了解iOS消息推送一文就够:史上最全iOS Push技术详解

    本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表. 1.引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ.微信等IM界面处于前台时,聊天消息和指 ...

  9. ios消息推送机制原理与实现

    本文转载至 http://hi.baidu.com/yang_qi168/item/480304c542fd246489ad9e91 Push的原理: Push 的工作机制可以简单的概括为下图 图中, ...

随机推荐

  1. Java高级架构师(一)第01节:整体课程概览

    本课程专注于构建:高可扩展性.高性能.大数据量.高并发.分布式的系统架构. 从零开始.全面系统.成体系的软件架构课程,循序渐进的讲述构建上述系统架构所需要的各种技术知识和技能. 适应人群: 1:有一定 ...

  2. linux-文件中行按照出现次数多少排序

    cat sorttest | sort | uniq -c | sort -k1 sorttest内容如下:

  3. c# datatable.select() 支持group by

    不支持group by ,支持order by.如果要使用group by的话,可以使用linq,这是C#3.0的内容.给你个示例static void Main(string[] args){ Da ...

  4. SQLServer组成:

    SQL Server DB Engine (Relational Engine),SQL语言用于向Engine描述问题. Algebrizer:代数器,检查语法,并将查询转换成内部表达式 Query ...

  5. iOS: ios视频播放(MPMediaPlayerController,AVPlayer,AVPlayerViewcontroller、ffmpeg-AVPlayer)

    介绍: 和音频播放一样,ios也提供个很多的API.如mediaPlayer.framework下的MPMediaPlayerController.AVFounditon.framework下的AVP ...

  6. 用coffeescript实现类java的Map类

    class Map constructor : -> @entry = {} @count = 0 size : -> return @count isEmpty : -> retu ...

  7. vue2自定义事件之$emit

    父组件: API上的解释不多: https://cn.vuejs.org/v2/api/#vm-emit vm.$emit( event, […args] ) 参数: {string} event [ ...

  8. 安装dubbo-admin报错 URIType BeanCreationException

    安装dubbo-admin报错 URIType BeanCreationException 学习了:https://blog.csdn.net/lsm135/article/details/52725 ...

  9. 一种让UITableView的数据从下往上增长的方式

    遇到问题 一般来说tableview的数据都是从上往下增长,如下图所示(先是aaa出现在表格列表的最顶部,然后bbb出现在aaa的下面,以此类推) 但是如果我们想反向这个过程该怎么做呢?如下图所示(先 ...

  10. 安装Python的机器学习包Sklearn 出错解决方法

    1 首先须要安装Cython.网上下载后进行本地安装 python setup.py install 2 下载Sklearn包,https://pypi.python.org/pypi/scikit- ...