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

<?php
/*** 极光推送php 服务器端* @author yalong sun* @Email <syl_ad@163.com>  */class jpush {
private $_masterSecret = '';
private $_appkeys = '';/**
* 构造函数
* @param string $username
* @param string $password
* @param string $appkeys
*/
function __construct($masterSecret = '',$appkeys = '') {
$this->_masterSecret = $masterSecret;
$this->_appkeys = $appkeys;
}
/**
* 模拟post进行url请求
* @param string $url
* @param string $param
*/
function request_post($url = '', $param = '') {
if (empty($url) || empty($param)) {
return false;
}$postUrl = $url;
$curlPost = $param;
$ch = curl_init();//初始化curl
curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);//运行curl
curl_close($ch);return $data;
}
/**
* 发送
* @param int $sendno 发送编号。由开发者自己维护,标识一次发送请求
* @param int $receiver_type 接收者类型。1、指定的 IMEI。此时必须指定 appKeys。2、指定的 tag。3、指定的 alias。4、 对指定 appkey 的所有用户推送消息。
* @param string $receiver_value 发送范围值,与 receiver_type相对应。 1、IMEI只支持一个 2、tag 支持多个,使用 "," 间隔。 3、alias 支持多个,使用 "," 间隔。 4、不需要填
* @param int $msg_type 发送消息的类型:1、通知 2、自定义消息
* @param string $msg_content 发送消息的内容。 与 msg_type 相对应的值
* @param string $platform 目标用户终端手机的平台类型,如: android, ios 多个请使用逗号分隔
*/
function send($sendno = 0,$receiver_type = 1, $receiver_value = '', $msg_type = 1, $msg_content = '', $platform = 'android,ios') {
$url = 'http://api.jpush.cn:8800/sendmsg/v2/sendmsg';
$param = '';
$param .= '&sendno='.$sendno;$appkeys = $this->_appkeys;$param .= '&app_key='.$appkeys;$param .= '&receiver_type='.$receiver_type;$param .= '&receiver_value='.$receiver_value;$masterSecret = $this->_masterSecret;$verification_code = md5($sendno.$receiver_type.$receiver_value.$masterSecret);$param .= '&verification_code='.$verification_code;$param .= '&msg_type='.$msg_type;$param .= '&msg_content='.$msg_content;$param .= '&platform='.$platform;$res = $this->request_post($url, $param);if ($res === false) {
return false;
}
$res_arr = json_decode($res, true);return $res_arr;
}}?>

send.php  发送推送消息

<?phpinclude('jpush.php');$n_title   =  '驿泊';$n_content =  '驿泊人生';$appkeys='先上传app应用项目,自动生成的key';$masterSecret='appkey下边就同样生成mastersecret的秘钥';$sendno = 4;$receiver_value = '';
$platform = 'android,ios' ;
$msg_content = json_encode(array('n_builder_id'=>0, 'n_title'=>$n_title, 'n_content'=>$n_content));
$obj = new jpush($masterSecret,$appkeys);$res = $obj->send($sendno, 4, $receiver_value, 1, $msg_content, $platform);print_r($res);
exit();
?>

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

**极光推送PHP服务器端推送移动设备消息(Jpush V2 api)相关推荐

  1. JPush极光推送Java服务器端API

    菜鸟的春天 JPush极光推送Java服务器端API // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, app ...

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

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

  3. 极光推送后台php接口,极光推送Jpush(v2)接口 服务端PHP版本的REST API推送类

    在许多的手机App开发中推送是一个必须的应用.高大上的企业都会自己投入成本搭建自己的推送服务器,而小微企业则会选择一些服务商,使用他们的服务,减轻自己的运营和维护的成本.Jpush(极光推送)是目前比 ...

  4. 极光推送服务端API(定时推送任务,推送到指定设备,推送到所有设备)

    极光推送常用的几个api方法总结,抽取出了utils类,利用MsgType进行业务类型区别,方便app端收到推送后进行不同处理: 首先引入依赖: <!-- 极光推送 --><depe ...

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

    分类: .net外部工具接口(3) .net知识精华(29) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近做的.net项目(Windows Service)需要向Android手机发送推 ...

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

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

  7. 百度云推送、极光推送等云推送服务搜罗点评

    事先声明,本人只测试的android部分.ios的情况不知道. 个推 用户数量低于10000时免费,大于时收费.看很多大公司的软件都在用. "sdk接口比较丰富,使用比较简单,而且遇到问题直 ...

  8. BUI框架中 使用Jpush极光推送,单推跟群推,尽量让小白都能看懂

    1.先贴一下自己使用的Cordvoa版本 2.再贴一下自己使用的极光推送版本 3.极光推送GitHub地址:点击打开 4.小白常见问题 Crodova打包,编译出错. Crodova打包后,提示JPu ...

  9. 第一篇博客:极光推送以及自定义推送声音

    极光注册就不说了,首先配置App的build.grandle 在defaultConfig里粘贴一下内容appkey为我在极光注册之后的Appkey 然后配置AndroidManifest  把下面这 ...

最新文章

  1. 103. Leetcode 213. 打家劫舍 II (动态规划-打家劫舍)
  2. centos 对已有卷扩容_CentOS LVM 新加硬盘,扩容逻辑卷步骤
  3. c语言 写出raw文件,求指导,如何用c语言实现读取*.raw格式图像
  4. 微积分31--微分学在几何上的应用
  5. c语言代码表白_用微信表情翻译表白,程序员的小浪漫,赶紧Get起来
  6. Python:常用模块简介(1)
  7. Docker Compose运行MySQL、Redis服务
  8. Go实现Raft第四篇:持久化和调优
  9. HTTPS SSL/TLS协议原理
  10. sql 求相交的行_SQL相交
  11. 二叉树遍历之层次遍历算法入门详解
  12. 日记html模板,【精选】初二日记模板集锦7篇
  13. windows开启远程Wmi服务支持
  14. 二次函数回归方程_高三专题||【导数专题四】利用导数研究函数图形专项习题...
  15. LeetCode刷题|36有效的数独
  16. 摄影测量实习-解析空中三角测量-C#代码
  17. 浅谈ES6后的TDZ时间死区
  18. 微信java tools_微信工具weixin-java-tools的使用总结
  19. 电机加减速S曲线算法 Sigmoid 函数
  20. 忘记开机密码怎么开机

热门文章

  1. Python-anaconda-Spyder使用matplotlib画图无法显示报错解决:Figures now render in the Plots pane by default. To mak
  2. 报错解决:ERROR: Failed to format E:; DiskPart errorlevel -2147212243.
  3. mysql和java区别_java和mysql的length()区别及char_length()
  4. 机器人 瓷砖墙面清洗_瓷砖铺贴注意事项有哪些?
  5. Linux下的vim文本替换,Linux下文本的vim文本替换
  6. sentinel使用
  7. SpringBoot开启异步方法
  8. proftpd mysql_Proftpd(MySQL验证+配额)
  9. Spring Boot实战:静态资源处理
  10. go环境变量配置 (GOROOT和GOPATH)