刚发了两个关于极光推送的网上Demo,再次自己结合官网总结一下,以便加深印象
简单源码如下:
//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,再次自己结合官网总结一下,以便加深印象的更多相关文章
- 关于极光推送Jpush的demo
关于极光推送Jpush 推送是手机app必不可少的一样功能,这次由于公司项目需要研究了一下.由于推送一般写于服务端,所以对于不会Android的javaweb程序员要写出一个完整的demo是一件很头痛 ...
- 记录vue项目 用hbuilder离线打包集成极光推送 安卓篇
极光推送的官方demo: https://github.com/jpush/jpush-hbuilder-demo 里面也记录有详细的方法了. 我记录下自己的过程. 首先去极光那里创建一个应用 获取A ...
- 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ...
- Android消息推送——JPush极光推送
刚看了一篇关于Android消息推送评测总结的博客http://www.cnblogs.com/logan/p/4514635.html: 自己也对原学过的JPush极光进行一下小结,方便后续工作使用 ...
- iOS - 极光推送证书的创建及过期处理
无论iPhone还是安卓,我们用到的所有应用基本都有推送通知服务,因为这是应用很好的推广方式,有新产品了.有新更新了通知下用户及时查看.但Apple有点特殊,它的推送需要发到苹果服务器上中转一下,这就 ...
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...
- iOS推送(利用极光推送)
本文主要是基于极光推送的SDK封装的一个快速集成极光推送的类的封装(不喜勿喷) (1)首先说一下推送的一些原理: Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指 ...
- 【android极光推送】—从客户端到后台,一文通吃
sion android:name="android.permission.VIBRATE" /> <uses-permission android:name=&quo ...
- iOS开发——iOS10升级极光推送SDK、友盟分享SDK
前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...
随机推荐
- linux 文件搜索命令
- MySql 在cmd下的学习笔记 —— 有关用户权限的操作(grant)
用户连接到MySQL时: [用户] <----> [服务器] 分为2个阶段: 1:有没有权限连接: 2:有没有执行此操作的权利.(如select, update……) 判断依据:( ...
- [BugBounty] Sleeping stored Google XSS Awakens a $5000 Bounty
来源:https://blog.it-securityguard.com/bugbounty-sleeping-stored-google-xss-awakens-a-5000-bounty/ 理解 ...
- HTTP协议07-通用首部字段
通用首部字段 通用首部字段是指,请求报文和响应报文双方都会使用的首部. 1)Cache-Control 通过指定首部字段Cache-Control的指令,就能操作缓存的工作机制. 指令的参数可以多选, ...
- android studio 学习之一 安装和基本使用
一.简介 Android Studio 是一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开 ...
- hibernate框架学习第一天:hibernate介绍及基本操作
框架辅助开发者进行开发,半成品软件,开发者与框架进行合作开发 Hibernate3Hibernate是一种基于Java的轻量级的ORM框架 基于Java:底层实现是Java语言,可以脱离WEB,在纯J ...
- Light OJ 1116
基础数学:.. #include<bits/stdc++.h> using namespace std; typedef unsigned long long ULL; int main( ...
- python学习第16天。
内置函数是在原本已经有的序列的基础上,再生成新的. List的方是修改原列表. 内置函数中大部分函数的返回值大部分都是迭代器.生成器. Sorted需要遍历操作,不是单纯的迭代,所以不生成迭代器. 一 ...
- 进程、线程、GIL、同步、异步、并行、并发、互斥锁
- css之relative
一.relative对absolute的限制作用 1.限制left/top/right/bottom定位.absolute默认是在也没的左上角,当父类设定为relative,absolute就被限制在 ...