简单源码如下:

//Map<String, String> parm是我自己传过来的参数,同学们可以自定义参数
public static void jpushAndroid(Map<String, String> parm) {
// 设置好账号的app_key和masterSecret
String appKey = "12e1c6d64793a7578400a773";
String masterSecret = "546b568dfe28ef114a93c929";
//创建JPushClient
JPushClient jpushClient = new JPushClient(masterSecret, appKey); //推送的关键,构造一个payload
PushPayload payload = PushPayload.newBuilder()
.setPlatform(Platform.android())//指定android平台的用户
.setAudience(Audience.tag(parm.get("userId")))//推送目标是指定userName的用户 Audience.all()--你项目中的所有用户
//发送内容,这里不要盲目复制粘贴,这里是我从controller层中拿过来的参数)
.setNotification(Notification.android(parm.get("msg"), parm.get("title"), parm))//第一个参数为推送的通知,第二个为标题,第三个暂理解为推送的消息(开发人员可见)
//这里是指定开发环境,不用设置也没关系
.setOptions(Options.newBuilder().setApnsProduction(false).build())
.setMessage(Message.content(parm.get("msg")))//自定义信息
.build();
try {
PushResult pu = jpushClient.sendPush(payload);
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
} 方法加粗部分PushPayload 的创建 是推送的关键
setPlatform(Platform.android())方法----Platform.android()参数是指定安卓平台的用户,参数为Platform.ios()是指定IOS平台的用户,参数为Platform.all()指定所有平台的用户。
setAudience(Audience.tag("tag名"))方法--- 参数名为Audience.tag("tag名")向指定目标的设备发推送。注意要先设置tag名,否则会抛出异常。
                        
参数名为Audience.alias("alias名")指定别名的设备发推送。注意要先设置tag名,否则会抛出异常。
setNotification(Notification.android(parm.get("msg"), parm.get("title"), parm))//第一个参数为推送的通知,第二个为标题,第三个为自定义消息(开发人员通过一定方法可见,不会有界面通知,可以写称null)

setOptions(Options.newBuilder().setApnsProduction(false).build())//这里是指定开发环境,不用设置也没关系
setMessage(Message.content(parm.get("msg")))//自定义的推送通知信息

以上为个人总结,请列为大牛指出不足,希望在代码的道路上越走越远,像着架构师前进

学海无涯,唯苦作舟
 
 
 

刚发了两个关于极光推送的网上Demo,再次自己结合官网总结一下,以便加深印象的更多相关文章

  1. 关于极光推送Jpush的demo

    关于极光推送Jpush 推送是手机app必不可少的一样功能,这次由于公司项目需要研究了一下.由于推送一般写于服务端,所以对于不会Android的javaweb程序员要写出一个完整的demo是一件很头痛 ...

  2. 记录vue项目 用hbuilder离线打包集成极光推送 安卓篇

    极光推送的官方demo: https://github.com/jpush/jpush-hbuilder-demo 里面也记录有详细的方法了. 我记录下自己的过程. 首先去极光那里创建一个应用 获取A ...

  3. 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式

    原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ...

  4. Android消息推送——JPush极光推送

    刚看了一篇关于Android消息推送评测总结的博客http://www.cnblogs.com/logan/p/4514635.html: 自己也对原学过的JPush极光进行一下小结,方便后续工作使用 ...

  5. iOS - 极光推送证书的创建及过期处理

    无论iPhone还是安卓,我们用到的所有应用基本都有推送通知服务,因为这是应用很好的推广方式,有新产品了.有新更新了通知下用户及时查看.但Apple有点特殊,它的推送需要发到苹果服务器上中转一下,这就 ...

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

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

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

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

  8. 【android极光推送】—从客户端到后台,一文通吃

    sion android:name="android.permission.VIBRATE" /> <uses-permission android:name=&quo ...

  9. iOS开发——iOS10升级极光推送SDK、友盟分享SDK

    前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...

随机推荐

  1. [转] Understanding Convolutional Neural Networks for NLP

    http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/ 讲CNN以及其在NLP的应用,非常 ...

  2. 如何能让MAC和PC都能读写移动硬盘

    Macbook Pro 移动硬盘 希捷硬盘就不用,有专业适用于苹果的软件. 1.在“LaunchPad”中找到并打开“磁盘工具”,在“磁盘工具”中可以看到移动硬盘的几个分区 2.选择一个分区后,选择“ ...

  3. [Kubernetes]CentOS7下搭建Harbor仓库

    环境依赖: Harbor仓库需要环境:Python 2.7或以上版本,Docker 1.10或以上,Docker Compose 1.6.0或以上. CentOS7自带Python,所以不需要安装. ...

  4. web应用与http协议

    web应用 Web应用程序是一种可以通过web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件. 应用程序有两种模式C/S.B/S.C/S是客户端/ ...

  5. 设计模式C++学习笔记之十七(Chain of Responsibility责任链模式)

      17.1.解释 概念:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. main(),客户 IWom ...

  6. Ubuntu16.04用源安装Nginx+PHP5.6+MySQL5.6

    安装Nginx 1.首先添加nginx_signing.key(必须,否则出错) $ wget http://nginx.org/keys/nginx_signing.key $ sudo apt-k ...

  7. Loj 【CQOI 2006】简单题,mmp

    #10117. 「一本通 4.1 练习 2」简单题     题目描述 题目来源:CQOI 2006 有一个 nnn 个元素的数组,每个元素初始均为 000.有 mmm 条指令,要么让其中一段连续序列数 ...

  8. Alpha冲刺(8/10)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:冲刺倒计时之8 团队部分 后敬甲(组长) 过去两天完成了哪些任务 首页重新设计 课程时间线确定 答辩准备 接下来的计划 ...

  9. Android-创建一个简单的用户接口-(补day2内容)

    如果按照之前的布局设置,那么输入框和按钮组件的大小就会是刚好满足它们的内容的.如图1. 图1.输入框和按钮宽度设置为”wrap_content” 这样的设置是可以满足按钮的,但不能满足输入框的要求,因 ...

  10. linux dynamic lib

    // test1.h ; struct AA { int a,b: }; AA b(5,6); int ball(); // test1.cpp # include"test1.h" ...