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 ...
随机推荐
- spring cloud stream集成rabbitmq
pom添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g ...
- pip install 报SSL异常和timeout异常
在安装pip3 install virtualenv时报了SSL异常 如图 pip is configured with locations that require TLS/SSL, however ...
- mootools使用Request.send()数据时刷新整个页面
今天使用mootools做ajax登录时使用Request().send()数据时老是刷新整个页面,换成Requesr.JSON()也不行,弄了好长时间,很郁闷啊,最后终于发现onSuccess:fu ...
- python- ' % '运算符的用途(非常重要)
%运算符就是用来格式化字符串的. 在字符串内部, %s表示用字符串替换, %d表示用整数替换, 有几个%?占位符,后面就跟几个变量或者值,顺序要对应好. 如果只有一个%?,括号可以省略. 另一种格式化 ...
- 【读书笔记】:MIT线性代数(2):Vector Spaces and Subspaces
Vector Space: R1, R2, R3,R4 , .... Each space Rn consists of a whole collection of vectors. R5 conta ...
- JNDI数据源的配置及使用
数据源的作用JDBC操作的步骤: 1. 加载驱动程序 2. 连接数据库 3. 操作数据库 4. 关闭数据库,释放连接 也就是说,所有的用户都需要经过此四步进行操作,但是这四步之中有三步对所有人 ...
- 使用jquery.validate组件进行前端数据验证并实现异步提交前验证检查
学习如鹏网掌上组的项目开发,使用到了前端验证,视频里使用的ValidateForm验证框架,但是我使用的Hui的框架中使用的是jquery.validate验证框架 所以自行学习jquery.vali ...
- getopts的错误报告模式
- python socket的长连接和短连接
前言 socket中意为插座,属于进程间通信的一种方式.socket库隐藏了底层,让我们更好的专注于逻辑.如果短连接和长连接两概率没搞明白,会被坑的爬不起来. 短连接 一次完整的传输过程,发送方输出流 ...
- 使用conda部署jupyterhub以及ladp验证的安装
前提:机器安装有conda环境 官方文档:http://jupyterhub.readthedocs.io/en/stable/quickstart.html 1.安装conda3 jupyterhu ...