jpush.php  这是推送方法  用到curl发送请求

  1. <?php
  2. /**
  3. * 极光推送php 服务器端
  4. * @author yalong sun
  5. * @Email <syl_ad@163.com>
  6. */
  7.  
  8. class jpush {
  9. private $_masterSecret = '';
  10. private $_appkeys = '';
  11.  
  12. /**
  13. * 构造函数
  14. * @param string $username
  15. * @param string $password
  16. * @param string $appkeys
  17. */
  18. function __construct($masterSecret = '',$appkeys = '') {
  19. $this->_masterSecret = $masterSecret;
  20. $this->_appkeys = $appkeys;
  21. }
  22. /**
  23. * 模拟post进行url请求
  24. * @param string $url
  25. * @param string $param
  26. */
  27. function request_post($url = '', $param = '') {
  28. if (empty($url) || empty($param)) {
  29. return false;
  30. }
  31.  
  32. $postUrl = $url;
  33. $curlPost = $param;
  34. $ch = curl_init();//初始化curl
  35. curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
  36. curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
  37. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
  38. curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
  39. curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
  40. $data = curl_exec($ch);//运行curl
  41. curl_close($ch);
  42.  
  43. return $data;
  44. }
  45. /**
  46. * 发送
  47. * @param int $sendno 发送编号。由开发者自己维护,标识一次发送请求
  48. * @param int $receiver_type 接收者类型。1、指定的 IMEI。此时必须指定 appKeys。2、指定的 tag。3、指定的 alias。4、 对指定 appkey 的所有用户推送消息。
  49. * @param string $receiver_value 发送范围值,与 receiver_type相对应。 1、IMEI只支持一个 2、tag 支持多个,使用 "," 间隔。 3、alias 支持多个,使用 "," 间隔。 4、不需要填
  50. * @param int $msg_type 发送消息的类型:1、通知 2、自定义消息
  51. * @param string $msg_content 发送消息的内容。 与 msg_type 相对应的值
  52. * @param string $platform 目标用户终端手机的平台类型,如: android, ios 多个请使用逗号分隔
  53. */
  54. function send($sendno = 0,$receiver_type = 1, $receiver_value = '', $msg_type = 1, $msg_content = '', $platform = 'android,ios') {
  55. $url = 'http://api.jpush.cn:8800/sendmsg/v2/sendmsg';
  56. $param = '';
  57. $param .= '&sendno='.$sendno;
  58.  
  59. $appkeys = $this->_appkeys;
  60.  
  61. $param .= '&app_key='.$appkeys;
  62.  
  63. $param .= '&receiver_type='.$receiver_type;
  64.  
  65. $param .= '&receiver_value='.$receiver_value;
  66.  
  67. $masterSecret = $this->_masterSecret;
  68.  
  69. $verification_code = md5($sendno.$receiver_type.$receiver_value.$masterSecret);
  70.  
  71. $param .= '&verification_code='.$verification_code;
  72.  
  73. $param .= '&msg_type='.$msg_type;
  74.  
  75. $param .= '&msg_content='.$msg_content;
  76.  
  77. $param .= '&platform='.$platform;
  78.  
  79. $res = $this->request_post($url, $param);
  80.  
  81. if ($res === false) {
  82. return false;
  83. }
  84. $res_arr = json_decode($res, true);
  85.  
  86. return $res_arr;
  87. }
  88.  
  89. }
  90.  
  91. ?>

send.php  发送推送消息

  1. <?php
  2. include('jpush.php');
  3. $n_title = '驿泊';
  4. $n_content = '驿泊人生';
  5.  
  6. $appkeys='先上传app应用项目,自动生成的key';
  7. $masterSecret='appkey下边就同样生成mastersecret的秘钥';
  8. $sendno = 4;
  9. $receiver_value = '';
  10. $platform = 'android,ios' ;
  11. $msg_content = json_encode(array('n_builder_id'=>0, 'n_title'=>$n_title, 'n_content'=>$n_content));
  12. $obj = new jpush($masterSecret,$appkeys);
  13.  
  14. $res = $obj->send($sendno, 4, $receiver_value, 1, $msg_content, $platform);
  15.  
  16. print_r($res);
  17. exit();
  18. ?>

http://blog.csdn.net/qq1355541448/article/details/41803239

**极光推送PHP服务器端推送移动设备消息(Jpush V2 api)的更多相关文章

  1. Phonegap 极光推送api 服务器端推送代码

    .net 版本 极光推送 后台接口 HttpWebResponseUtility类 using System; using System.Collections.Generic; using Syst ...

  2. iOS推送生成服务器端p12文件

    生成服务器端推送p12文件 所需文件:A.开发证书  aps_production.cer B.本地导出的私钥   : aps_production.p12 C.生成证书时用到的请求文件:Push.c ...

  3. SignalR 聊天室实例详解(服务器端推送版)

    翻译自:http://www.codeproject.com/Articles/562023/Asp-Net-SignalR-Chat-Room  (在这里可以下载到实例的源码) Asp.Net Si ...

  4. 拥抱HTTP2.0时代 - HTTP2.0实现服务器端推送Push功能

    在当今的移动互联开发趋势中,nghttp2是一个很值得大家去关注的一个开源项目. 我们在nghttpx模块中实现了HTTP/2服务器推送功能,并且在我们的nghttp2.org网站中启用了该推送功能. ...

  5. Qt通过极光推送向app推送消息

    简介 最近在做个项目,当客服端收到防盗的消息通知时向手机app推送一个消息,告知有防盗报警.这么小的功能没必要自己写个推送端,极光推送免费而且推送的成功率高,已经能满足我们的需求了. 极光推送的文档大 ...

  6. .net平台借助第三方推送服务在推送Android消息(极光推送)

    最近做的.net项目(Windows Service)需要向Android手机发送推送消息,真是有点困难,没有搞过就不停的搜文档,最后看到了一个开源项目PushSharp,可以在.net平台推送IOS ...

  7. 09点睛Spring MVC4.1-异步请求处理(包含兼容浏览器的服务器端推送)

    转发地址:https://www.iteye.com/blog/wiselyman-2215852 9.1 异步请求处理 Servlet 3开始支持异步请求处理 Spring MVC 3.2开始支持S ...

  8. SuperSocket主动从服务器端推送数据到客户端

    关键字: 主动推送, 推送数据, 客户端推送, 获取Session, 发送数据, 回话快照 通过Session对象发送数据到客户端   前面已经说过,AppSession 代表了一个逻辑的 socke ...

  9. android推送-PHP(第三方推送:个推)

    在项目初期,就安卓推送功能怎么做,曾经参考过例如XMPP之类的推送方法.但苦于那些是些英文档案,又没太多时间研究,所以打算采用第三方推送(个推,极光推送等),后来在美图技术老大推荐下用采用个推. PS ...

随机推荐

  1. 关于web.xml中的<welcome-file-list>中的默认首页资料

    关于web.xml中的<welcome-file-list>中的默认首页文件 先看我的配置文件: <welcome-file-list> <welcome-file> ...

  2. mybatis分页查询需要注意的问题

    一般对mybatis的分页查询的关键代码就两行: #currentPage代表当前页,pageSize代表每页的行数 PageHelper.startPage(currentPage, pageSiz ...

  3. HDU3265 线段树(扫描线)

    Posters Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  4. 任务调度 Quartz 学习(一) SimpleTrigger

    概述: 在实际开发过程中,会遇到很多任务调度的需求. 比如说:某网站要在每周一上午9点更新网站数据,并发邮件通知用户: 再比如某论坛需求:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积 ...

  5. 动态规划:区间DP与环形DP

    区间型动态规划的典型例题是石子归并,同时使用记忆化搜索实现区间动归是一种比较容易实现的方式,避免了循环数组实现的时候一些边界的判断 n堆石子排列成一条线,我们可以将相邻的两堆石子进行合并,合并之后需要 ...

  6. rabbitmq使用命令创建交换机、队列及绑定

    http://www.jusene.me/2018/02/20/rabbitmq-2/

  7. 使用JMeter录制脚本并调试

    仍然以禅道中添加bug为例进行录制 第一步:在JMeter中添加线程组,命名为AddBugByJMeter 第二步:在线程组下添加HTTP请求默认值 添加->配置元件->HTTP请求默认值 ...

  8. NGINX: 返回大 JSON 数据不完整的问题

    说明: 内容全部来自 [ CSDN 金玮良 ] nginx 返回数据不完整的问题 当nginx 遇到大数据流时,会把数据先放在自己的缓冲区,然后一并发给客户端. 那如果这个结论成立, 那一次请求的数据 ...

  9. 关于cocos2d-x 中 CCEditBox 的输入位置和IOS虚拟键盘位置不重合的bug

    这个文章的名字起的实在是有点长,主要是怕说不清楚. 在IOS上,输入时,我看到过的比较少,就两种,如附件两张图.一个是虚拟键盘的输入框完全是在CCEditBox上,另一张虚拟键盘的输入区域是紧挨着键盘 ...

  10. Vue 定义组件模板的七种方式(一般用单文件组件更好)

    在 Vue 中定义一个组件模板,至少有七种不同的方式(或许还有其它我不知道的方式): 字符串 模板字面量 x-template 内联模板 render 函数 JSF 单文件组件 在这篇文章中,我将通过 ...