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 ...
随机推荐
- winform防止输入法对扫码的干扰
把textbox的imemode的属性设为disable,就强制只能录入英文和半角符号,防止了中文输入法等的干扰. 参考:https://blog.csdn.net/jhycjhyc/article/ ...
- kPagination纯js实现分页插件
kPagination分页插件 纯js分页插件,压缩版本~4kb,样式可以自定义 demo 使用方法 <div id="pagination"></div> ...
- js中打地鼠游戏
<!DOCTYPE html><html lang=""><head> <mata charset = "utf-8" ...
- Houdini学习笔记——【案例二】消散文字制作
[案例二]Houdini消散文字制作 一.Overview 文字通过时间轴中frame变化而碎裂从两边开始向着中间消散并向镜头移动. 效果 二.Sop(Surface OPerators or ...
- 用 Flask 来写个轻博客 (25) — 使用 Flask-Principal 实现角色权限功能
目录 目录 前文列表 扩展阅读 Flask-Principal 使用 Flask-Principal 来实现角色权限功能 添加 Role Model 在 Manager shell 中手动的添加角色 ...
- [360前端星计划]BlackJack(21点)(纯JS,附总部学习笔记)
[360前端星计划]总部学习笔记(6/6) [360前端星计划]详情跳转 游戏界面预览 目录 一.游戏介绍 1.起源 2.规则 3.技巧 二.游戏设计 1.整体UI构思 2.素材采集 3.游戏总规划 ...
- spring boot 尚桂谷学习笔记06 异常处理 ---Web
------错误处理机制------ 默认效果 1 返回一个默认的错误页面 浏览器发送请求的请求头:优先接收 text/html 数据 客户端则默认响应json数据 : accept 没有说明返回什么 ...
- LeetCode 实现 Trie (前缀树)
题目链接:https://leetcode-cn.com/problems/implement-trie-prefix-tree/ 题目大意: 略. 分析: 字典树模板. 代码如下: class Tr ...
- Java享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)主要用于减少创建的对象数量,并减少内存占用并提高性能. 这种类型的设计模式属于结构模式,因为该模式提供了减少对象计数的方法,从而改善应用的对象结构. 享元 ...
- Linux环境下OpenSceneGraph的安装和配置
1.在GitHub上下载OpenSceneGrpah的源码包,地址. 2.解压缩源码包并进入源码包; 3.安装所需的依赖库: 先输入命令: sudo apt-get install openscene ...