Java整合极光推送 ( 简单 )
Java 整合极光推送官方文档:https://github.com/jpush/jpush-api-java-client
这里记录一下简单的使用步骤:创建一个普通的 Maven 工程然后添加依赖
<dependency>
    <groupId>cn.jpush.api</groupId>
    <artifactId>jpush-client</artifactId>
    <version>3.4.8</version>
</dependency>
然后创建一个类测试消息推送,代码如下所示:
public class PushTest {
    public static void main(String[] args) throws Exception {
        // 实现推送最基本的两个参数
        String APP_KEY = "APP_KEY";
        String MASTER_SECRET = "SECRET";
        // 构建极光客户端对象
        JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);
        // 获取Payload对象,对象内封装这消息主体、消息接收范围等等,Payload是个重点
        PushPayload payload = getPayload("消息接收测试");
        // 调用客户端对象中的sendPush函数进行发送消息
        jpushClient.sendPush(payload);
    }
}
构建 Payload 对象
可以看到,通过两个基本参数构建了极光推送实例,然后获取到Payload将其发送出去完成了推送,这里含金量最高的地方就是获取 payload 的过程,上面获取 payload 的函数并没有写出来,这里单独拿出来看:
public static PushPayload getPayload(String msg) {
    return new PushPayload.Builder()
            .setPlatform(Platform.android())
            .setAudience(Audience.all())
            .setNotification(Notification.alert(msg))
            .build();
}
构建最基本的 Payload 对象语法是这样写的:
PushPayload payload = new PushPayload.Builder().build();
但是这样构建出来的是空对象,我们需要在build()之前对这个实例进行一些操作,例如:
1. 发送消息的内容:最终显示在通知上的内容
 PushPayload payload = new PushPayload.Builder()
     // 消息的具体内容,会显示在通知上
    .setNotification(Notification.alert("【系统提示】您有五元话费优惠券待领取"))
    .build();
显示在手机上类似这种效果:

2. 限制接收消息的平台:例如限制为安卓、苹果
PushPayload payload = new PushPayload.Builder()
    .setNotification(Notification.alert("【系统提示】您有五元话费优惠券待领取"))
    /*
     * setPlatform代表客户端平台,也就是设备类型,最常用的几个参数为:
     *    1. Platform.all():所有设备都可以接收
     *    2. Platform.android():仅安卓设备可接收
     *    3. Platform.ios():仅苹果设备可接收
     *    4. Platform.android_ios():安卓、苹果都可以接收
     *    ....
     */
    .setPlatform(Platform.all())
    .build();
3. 限制接收消息的设备:匹配客户端自行设置的 TAG 标签以及 Alias 别名
PushPayload payload = new PushPayload.Builder()
    .setNotification(Notification.alert("【系统提示】您有五元话费优惠券待领取"))
    .setPlatform(Platform.all())
    /*
     * setAudience可以过滤符合条件的客户端,最常用的几个参数为:
     *    1. Audience.all():没有设置过滤条件
     *    2. Audience.alias("01", "02" ...):设置了目标别名的设备才能接收到
     *    3. Audience.tag("VIP1", "VIP2" ...):添加了目标标签才可以接收到
     *    4. Audience.tag_and("VIP", "SVIP" ...):必须同时拥有这两个标签才能接收到
     *    5. Audience.tag_not("Guest" ...):必须不包含这些标签才能接收到
     *    还有一些更高级的交集并集玩儿法等等....
     */
    .setAudience(Audience.all())
    .build();
4. 关于消息的其他配置项:
PushPayload payload = new PushPayload.Builder()
    .setNotification(Notification.alert("【系统提示】您有五元话费优惠券待领取"))
    .setPlatform(Platform.all())
    .setAudience(Audience.all())
    /*
     * setOptions对消息进行其他设置,需要传入Options实例,同样是链式编程然后跟上build()函数,例如:
     *     setTimeToLive(10):消息离线生存时间/s,发送消息后10秒内用户打开了APP就会收到消息,否则收不到
     *     其他配置项我这里没用过就没去找....
     */
    .setOptions(Options.newBuilder()
                .setTimeToLive(10)
                .build())
    .build();
Java整合极光推送 ( 简单 )的更多相关文章
- Ionic5整合极光推送JPush ( 简单 )
		项目初始化 1. 安装项目依赖: # 安装cordova插件 ionic cordova plugin add jpush-phonegap-plugin --variable APP_KEY=&qu ... 
- ThinkPHP框架整合极光推送DEMO
		极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专业.高效的移动消息推送服务. 本篇博文讲述如何在将极光推送DEMO整合到ThinkPHP框架中,我使用的是极光推送PHP ... 
- java接入极光推送
		直接提供工具类, 调用时直接调用其 sendToRegistrationId() 方法 1 import cn.jiguang.common.resp.APIConnectionException; ... 
- 极光推送-Java后台实现方式一:Http API
		Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请求API:https://api.jpush.cn/v3/push,另一种则是使用官方提供的第三方Java APIjar包,这里先 ... 
- 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式
		原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ... 
- 【Android应用开发】 推送原理解析 极光推送使用详解 (零基础精通推送)
		作者 : octopus_truth 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/45046283 推送技术产生场景 : -- ... 
- JPush极光推送 Java调用服务器端API开发
		极光推送是:使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验.简单的说就是通过JPush后台管理网站进行app消息的推送.可以让用户及时 ... 
- 极光推送>>java SDK服务端集成后台项目(使用详解)
		PS:如果你是第一次用推送,那就直接按照我的步骤来,再去看官方文档,这样,更容易能理解操作流程.还有——-请耐心看 极光文档(java SDK)请参考 [ 极光文档 ] 步骤一: 首先,你必须在 [极 ... 
- java SDK服务端推送 --极光推送(JPush)
		网址:https://blog.csdn.net/duyusean/article/details/86581475 消息推送在APP应用中越来越普遍,来记录一下项目中用到的一种推送方式,对于Andr ... 
随机推荐
- Oracle数据库配置监听程序
			最近在学习Oracle数据库,从安装到配置监听程序基本靠百度... 不得不说百度真的很nice!!! 下面是我的Oracle服务端(PL/SQL Developer)出现的监听程序的问题及我解决的方法 ... 
- Elasticsearch--Logstash定时同步MySQL数据到Elasticsearch
			新地址体验:http://www.zhouhong.icu/post/139 一.Logstash介绍 Logstash是elastic技术栈中的一个技术.它是一个数据采集引擎,可以从数据库采集数据到 ... 
- Selenium 4.0beta: Grid 工作原理
			Selenium 4.0 beta版已经发布,那么距离正式版已经不远了,在Selenium 4.0中变化比较大的就是Grid了,本文翻译了官方文档,重点介绍Grid 4的工作原理 Selenium G ... 
- 如何获取下载 FreeBSD
			『如何获取下载 FreeBSD 』 『如何获取下载 FreeBSD 』 FreeBSD 是免费获取的. [下载地址] O网页链接 版本选择,尽量选择较新版本,桌面用户可选择 current 版本.st ... 
- Tomcat源码学习 - 环境搭建
			一. 源码下载 PS: 多图预警 在开始阅读源码之前,我们需要先构建一个环境,这样才能便于我们对源码进行调试,具体源码我们可以到官网进行下载(这里我以8.5.63版本为例). 二. 项目导入 下载并解 ... 
- 导出文件,responseType设置了blob,实际返回了JSON格式的错误信息的处理方式
			需求:导出文件 问题描述:由于后台直接返回的文件流,在请求下载的方法中将XHR 的 responseType 指定为 blob 或者 arraybuffer.但并不是每次的操作都是成功的,所以在接口错 ... 
- MySQL基础知识:MySQL Connection和Session
			在connection的生命里,会一直有一个user thread(以及user thread对应的THD)陪伴它. Connection和Session概念 来自Stackoverflow的一个回答 ... 
- A Color Game
			题目大意: 给定一个只包含七种字母的字符串,如果满足一段连续相同的字符长度大于等于K那么即可消除,问最后能不能变为空字符. 题解:很明显是用区间dp来解决,我们设dp[l][r][k]代表的是在[l ... 
- 2018ICPC南京K. Kangaroo Puzzle
			题目:在一个20×20的地图上,1表示有袋鼠,0表示有障碍物,边界外和障碍物上不能走. 要求给出一个50000步以内的操作,每一步操作为'L', 'R', 'U', 'D', 表示所有袋 ... 
- KVM虚拟化配置
			KVM虚拟化 虚拟化概念 KVM虚拟化概念详讲 虚拟化配置 首先开启虚拟化的支持 并且增加一个50g的硬盘 free查看内存 grep -Ei 'vmx|svm' /proc/cpuinfo查看虚拟机 ... 
