首先要明白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对接极光推送的更多相关文章

  1. php实现简单消息发送+极光推送系统

    前几天刚写完的一个东西,写的比较简单,没有使用其他插件,原生php+计划任务实现 极光推送的代码 /* $receiver="registration_id" : [ " ...

  2. 李洪强iOS之集成极光推送一iOS SDK概述

    李洪强iOS之集成极光推送一iOS SDK概述 JPush iOS 从上图可以看出,JPush iOS Push 包括 2 个部分,APNs 推送(代理),与 JPush 应用内消息. 红色部分是 A ...

  3. 极光推送小结 - iOS

    此次即友盟分享小结(友盟分享小结 - iOS)之后对推送也进行了一版优化.此次分享内容依然基于已经成功集成 SDK 后 code 层级部分. 注:此次分享基于 SDK 3.1.0,若版本相差较大,仅供 ...

  4. 使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言

    在VisualStudio2010中新建网站JPushAndroid.添加引用json帮助类库Newtonsoft.Json.dll. 在web.config增加appkey和mastersecret ...

  5. 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)

    这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...

  6. 极光推送-适配 iOS10

    //************************ iOS10 适配 **************************// //************************ 11/02/20 ...

  7. iOS推送(利用极光推送)

    本文主要是基于极光推送的SDK封装的一个快速集成极光推送的类的封装(不喜勿喷) (1)首先说一下推送的一些原理: Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指 ...

  8. 极光推送JPush的快速集成

    首先到极光推送的官网上创建一个应用,填写对应的应用名和包名. 创建好之后下载Demo 提取Sdk里面的图片和xml等资源文件放自己项目的相应位置,然后要注意的是.so文件的放置位置: 在main目录下 ...

  9. APP的消息推送(极光推送)

    APP的消息推送,使用的第三方平台是极光推送 简单案例(以Thinkphp为例): 1.下载下载PHPSDK 2.把PHPSDK目录下的jpush-api-php-client-3.5.1\src\J ...

随机推荐

  1. English-Difference between original and source

    最近跟网页翻译怼上了,在给翻译前的页面起名是纠结于使用 original page 还是 source page,就查了一下 original 和 source 的区别. original: n. 原 ...

  2. Windwos 08R2_DNS全面图文详解

    目录 目录 前言 软件环境 DNS域名服务器 DNS服务器原理 DNS域名空间 DNS区域 DNS服务器的类别 DNS查询模式 缓存文件 配置DNS服务器 DNS服务的应用 创建DNS正向解析区域 在 ...

  3. Asp.Net Core 第07局:路由

    总目录 前言 本文介绍Asp.Net Core 路由. 环境 1.Visual Studio 2017 2.Asp.Net Core 2.2 开局 第一手:路由概述 1.路由主要用于处理特定的请求. ...

  4. 记录规则(recording rules)与告警规则(alerting rule)

    记录规则(recording rules) 配置规则 Prometheus支持两种类型的规则,可以对其进行配置,然后定期进行评估:记录规则和警报规则.要在Prometheus中包含规则,请创建一个包含 ...

  5. Appium移动端自动化:Api接口详解

    滑动操作与拖拽操作 # 滚动处理 # elementObj1 目标滚动元素,elementObj2 起始滚动元素 # 底层通过action操作,与web ui相反,origin_el为目标元素,des ...

  6. HDU2732 Leapin' Lizards

    Leapin' Lizards Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  7. HDU 1577 WisKey的眼神

    WisKey的眼神 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. 好用的打包工具webpack

    <什么是webpack> webpack是一个模块打包器,任何静态资源(js.css.图片等)都可以视作模块,然后模块之间也可以相互依赖,通过webpack对模块进行处理后,可以打包成我们 ...

  9. 想要成长,总得立个flag

    国庆假期结束了,自己的成长却丝毫没有,所以啊,立个flag试试看,每天能发表一个小知识点,希望自己能够做到,加油

  10. MyEclipse更换工作空间报错自动退出

    2.解决方法 后来找到一种方法,解决了我的问题,即找到图二中报错的那个jar包,我的是com.genuitec.eclipse.core_14.0.0.me201602080330.jar,然后将其文 ...