php对接极光推送
首先要明白php对接极光推送要做些什么,极光推送的大致流程是:你的服务器----->极光服务器------>app端。而php要做的就只有我们的服务器到极光服务器这个过程。极光服务器到app端需要app的开发人员去配置就行了。
操作步骤:
1.注册极光推送的账号,然后创建你要推送的应用。
2.app端集成极光推送,在极光后台完成推送设置。
3.下载极光推送PHP SDK: http://docs.jiguang.cn/jpush/guideline/intro/
4.将下载好的包解压放在项目的扩展类库目录中(如tp的extend)
5.将推送方法写入公共函数中,方便调用,如下所示:
/*
* 向所有用户设备推送消息
* $message 需要推送的消息
*/
function SendAll($message){ require_once(BASE_RESOURCE_PATH.DS.'JPush1'.DS.'JPush.php'); $client->appKey='你的appkey';
$client->masterSecret='你的masterSecret';
$result = $client->push()
->setPlatform('all')
->addAllAudience()
->setNotificationAlert($message) //你要推送的信息
->send();
echo json_encode($result); //返回发送结果 } /**
* 向指定设备推送消息
*/
function sendSpecial($regid,$message){
require_once(BASE_RESOURCE_PATH.DS.'JPush1'.DS.'JPush.php');//引入框架加载包,有的版
//本是autoload.php
$client->appKey='你的APPKey';
$client->masterSecret='你的masterSecret';
$client = new JPush($app_key,$master_secret);
$result = $client->push()->setPlatform('all') //设备:all表示所有,可以是
// ios/android
->addRegistrationId($regid) //你要推送的设备号/用户(registrationID)
->setNotificationAlert($message)
->send();
echo json_encode($result);
}
以上就是简单的推送消息的方法,适用于我目前的框架,因为目前做的项目框架不支持命名空间的写法,所以用的极光 推送是之前的老版本,新版本的写法也是差不多的。
6. 写好推送方法之后需要和app端配合,app端会在用户登录之后将设备id也就是registrationID传给你,所以你可能需要写一个接口来接收这个registrationID,同时还可以将当前用户的登录id一起传回来,可以当做alias(别名)使用,你还可以给每个用户设定一个标签(tag),标签的作用是用来群发消息的,比如用户性别是“男”’的,你可以给每个性别为“男”的用户打上相同的标签,下次推送的时候只要设置推送标签就可以只推送给性别为“男”’的设备(用户)。
7.app传回来的registrationID和用户id(也可以是其他表示用户唯一表示的字段),再给每个用户设置一个alias(传回来的用户ID)和tag(根据需求设定),一起存入数据库中,需要新建一张表和用户表关联起来。
8.到这里简单的推送基本完成了,如果要推送指定用户只需要在新建的表里面根据用户唯一表示将设备id找出来,然后放入上面第二个方法中就可以了。
有一个问题就是,如果方法写好了,然后推送给所有用户的时候,只有安卓能收到,而ios不能收到,则可能需要更改包里面的option参数:apns_production,false是ios的开发环境,true是生产环境。
---------------------
作者:月染指上
来源:CSDN
原文:https://blog.csdn.net/qq_36515500/article/details/81216364
https://blog.csdn.net/Zhihua_W/article/details/52197611
版权声明:本文为博主原创文章,转载请附上博文链接!
php对接极光推送的更多相关文章
- php实现简单消息发送+极光推送系统
前几天刚写完的一个东西,写的比较简单,没有使用其他插件,原生php+计划任务实现 极光推送的代码 /* $receiver="registration_id" : [ " ...
- 李洪强iOS之集成极光推送一iOS SDK概述
李洪强iOS之集成极光推送一iOS SDK概述 JPush iOS 从上图可以看出,JPush iOS Push 包括 2 个部分,APNs 推送(代理),与 JPush 应用内消息. 红色部分是 A ...
- 极光推送小结 - iOS
此次即友盟分享小结(友盟分享小结 - iOS)之后对推送也进行了一版优化.此次分享内容依然基于已经成功集成 SDK 后 code 层级部分. 注:此次分享基于 SDK 3.1.0,若版本相差较大,仅供 ...
- 使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言
在VisualStudio2010中新建网站JPushAndroid.添加引用json帮助类库Newtonsoft.Json.dll. 在web.config增加appkey和mastersecret ...
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...
- 极光推送-适配 iOS10
//************************ iOS10 适配 **************************// //************************ 11/02/20 ...
- iOS推送(利用极光推送)
本文主要是基于极光推送的SDK封装的一个快速集成极光推送的类的封装(不喜勿喷) (1)首先说一下推送的一些原理: Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指 ...
- 极光推送JPush的快速集成
首先到极光推送的官网上创建一个应用,填写对应的应用名和包名. 创建好之后下载Demo 提取Sdk里面的图片和xml等资源文件放自己项目的相应位置,然后要注意的是.so文件的放置位置: 在main目录下 ...
- APP的消息推送(极光推送)
APP的消息推送,使用的第三方平台是极光推送 简单案例(以Thinkphp为例): 1.下载下载PHPSDK 2.把PHPSDK目录下的jpush-api-php-client-3.5.1\src\J ...
随机推荐
- ubuntu下node.js 环境搭建
由于使用gulp.js来对前端项目进行管理,所以搭建了node.js的环境 首先, 需要安装node, npm 去官网下载安装包,解压后放到你的安装的目录.在这里我的是/opt/node-v6.11. ...
- php开发面试题---日常面试题1
php开发面试题---日常面试题1 一.总结 一句话总结: 实战确定学习方向,然后去网上找视频资源,非常多,然后看书 1.什么样的数据存在memcache里面? 要去数据库里面查询的那些数据,数据库查 ...
- mybatis Invalid bound statement (not found)错误解决办法
由于新版的IntelliJ IDEA不再编译source folder下的xml文件,而我们平时使用mybatis时,习惯于将*Mapper.xml文件放在与dao层.service层平级的src目录 ...
- 面试题57:数组中2个数的和(也是leetcode题目)
题目:给定一个整数数列,找出其中和为特定值的那两个数. 你可以假设每个输入都只会有一种答案,同样的元素不能被重用. 示例: 给定 nums = [2, 7, 11, 15], target = 9 因 ...
- Appium移动端自动化:元素定位uiautomatorviewer
一.启动uiautomatorviewer mac: 1.打开终端,进入Android/sdk/tools目录 2.打开uiautomatorviewer(我的路径是Android/sdk/tools ...
- hdu3555 Bomb(数位dp)
题目传送门 Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total ...
- unique(去重函数)
去重排序(unique函数的使用) 2013年05月30日 11:05:45 阅读数:9689更多 个人分类: 字符串处理 出处:http://www.cnblogs.com/QQbai/archi ...
- 转:几款免费的图表js插件
1,ichartjs(国产)(http://www.ichartjs.com/) ===============强烈推荐ichartjs是一款优秀的国产开源插件,作者是王鹤,英文名taylor,毕业 ...
- Node.js的适用场景?
1).实时应用:如在线聊天,实时通知推送等等(如socket.io) 2).分布式应用:通过高效的并行I/O使用已有的数据 3).工具类应用:海量的工具,小到前端压缩部署(如grunt),大到桌面图形 ...
- 静态部署TOMCAT
常见部署方式:静态部署和容器化部署 一.下载tomcat安装包 下载地址:https://tomcat.apache.org/download-90.cgi 图上是显示最新版本,而我下载的是9.0.8 ...