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

简介: jpush.php  这是推送方法  用到curl发送请求     send.php  发送推送消息   http://blog.csdn.net/qq1355541448/article/details/41803239如何联系我:【万里虎】www.

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  发送推送消息

<?php
      include('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

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
1月前
|
开发框架 缓存 .NET
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
|
25天前
|
关系型数据库 MySQL PHP
PHP:一种强大的服务器端脚本语言
【8月更文挑战第23天】PHP是一种被广泛使用的开源服务器端脚本语言,它的强大和灵活性使其成为开发Web应用程序的首选。本文将从PHP的基本概念、主要特性以及应用场景等方面进行深入探讨,以期帮助读者更好地理解和掌握PHP。
|
26天前
|
Oracle 关系型数据库 MySQL
PHP:一种灵活而强大的服务器端脚本语言
【8月更文挑战第22天】PHP是一种广泛使用的开源通用脚本语言,尤其适用于Web开发。它快速、灵活且易于学习,使其成为开发者的首选。本文将探讨PHP的基本概念、优点以及如何开始学习PHP。让我们一起了解这个强大的工具,开启编程之旅吧!
|
1月前
|
PHP
PHP遍历文件并同步上传到服务器
在进行网站迁移时,由于原网站的图片文件过多,采用打包下载再上传的方式耗时过长,且尝试使用FTP工具从旧服务器传输至新服务器时失败。为解决此问题,特使用PHP编写了一款工具,该工具能扫描指定目录下的所有`.webp`图像文件,并将其上传至新的服务器,极大地提高了迁移效率。
71 16
|
1月前
|
缓存 测试技术 API
从零到一:构建高效的 RESTful API 服务器
在当今的软件开发环境中,RESTful API 是实现系统间数据交互的关键组件。本文探讨了如何从头开始构建一个高效的 RESTful API 服务器,包括技术选型、架构设计、性能优化等方面的内容。我们将以 Python 的 Flask 框架为例,展示如何设计一个可扩展且高性能的 API 服务器,并提供实际代码示例来说明最佳实践。
|
1月前
|
监控 物联网 数据挖掘
PHP不仅在Web开发领域有着广泛的应用,其在服务器端的应用也非常重要
【8月更文挑战第4天】PHP不仅在Web开发领域有着广泛的应用,其在服务器端的应用也非常重要
46 8
|
17天前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
51 0
|
23天前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
|
2月前
|
SQL 缓存 前端开发
PHP性能优化实战:从代码到服务器的全方位攻略
【7月更文挑战第30天】在Web开发的世界里,PHP以其灵活性和易用性赢得了广泛的赞誉。然而,随着应用规模的扩大,性能问题逐渐浮现。本文将深入探讨PHP的性能优化策略,不仅涉及代码层面的精细调整,还包括服务器配置的优化技巧。我们将一起探索如何通过减少资源消耗、优化数据库交互以及利用缓存技术来提升PHP应用的性能表现。无论你是PHP新手还是资深开发者,这篇文章都将为你提供实用的优化建议,帮助你打造更快、更稳定的PHP应用。
53 4
|
1月前
|
运维 Java 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理深入理解PHP的垃圾回收机制
【7月更文挑战第31天】在现代IT环境中,自动化运维是提高效率、降低错误率的关键。本文将介绍如何使用Ansible——一种流行的开源自动化工具,来简化和自动化服务器的配置管理。我们将通过一个实际的代码示例,展示如何利用Ansible进行自动化部署和配置更新,确保你的服务器始终运行最新、最安全的软件版本。
15 1