app推送以及提示音java,springboot 整合 Jpush 极光推送
产品简介:
JPush 是经过考验的大规模 App 推送平台,每天推送消息数超过 5 亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台。
产品优势:
快速集成SDK,简单易用的控制台和API
提供用户自定义的标签和别名系统,以及极光自己根据数据分析出的分类目标
支持10亿级的高并发访问,多点备份保证系统稳定
有专业的技术支持团队,及时响应客户的需求和问题
这些都是人家自己说的⬆️ 还有一些统计的功能确实不错
实现比较简单
一.账号申请
二.注册 (进入官网之后右上角注册 邮箱即可)
三.创建应用 (注册成功后进入 默认没有应用 进行创建)
四.查看自己应用的appkey 与 Master Secret
一会要配置在代码中类似于账号密码
五.项目添加pom文件
cn.jpush.api
jpush-client
3.2.17
cn.jpush.api
jiguang-common
1.1.1
六.编写通用的实现类
package com.zhuning.safetyguard.common;
import cn.jiguang.common.ClientConfig;
import cn.jiguang.common.resp.APIConnectionException;
import cn.jiguang.common.resp.APIRequestException;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Message;
import cn.jpush.api.push.model.Options;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.notification.AndroidNotification;
import cn.jpush.api.push.model.notification.IosNotification;
import cn.jpush.api.push.model.notification.Notification;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.Map;
import static com.zhuning.safetyguard.common.ErrCodeEnum.JPUSH_FAILE;
/**
* @author : Gyf
* create at: 2019-06-06 11:18
* @description: 推送通用Utils
*/
@Service
public class JPushUtils {
//TODO molly123456789@126.com 极光号
private static final String APP_KEY = "a21265452973aafa25c2b386";
private static final String MASTER_SECRET = "fd2fdc64c3eb85a26409b111";
/**
* 极光推送>>Android
*/
public static void jpushAndroid(Map param, String title) {
final Logger logger = LoggerFactory.getLogger(JPushUtils.class);
//创建JPushClient(极光推送的实例)
JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);
//推送的关键,构造一个payload
PushPayload payload = PushPayload.newBuilder()
//指定android平台的用户
.setPlatform(Platform.android())
//你项目中的所有用户
.setAudience(Audience.all())
// .setAudience(Audience.registrationId(param.get("id")))
//registrationId指定用户
.setNotification(Notification.android(param.get("msg"), title, param))
.setOptions(Options.newBuilder().setApnsProduction(false).build())
//这里是指定开发环境,不用设置也没关系
//自定义信息
.setMessage(Message.content(param.get("msg")))
.build();
try {
jpushClient.sendPush(payload);
} catch (APIConnectionException | APIRequestException e) {
logger.info(JPUSH_FAILE.getRetMsg());
}
}
/**
* 极光推送>>ios
*/
public static void jpushIOS(Map param, String title) {
final Logger logger = LoggerFactory.getLogger(JPushUtils.class);
//创建JPushClient
JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);
PushPayload payload = PushPayload.newBuilder()
//ios平台的用户
.setPlatform(Platform.ios())
//所有用
.setAudience(Audience.all())
//.setAudience(Audience.registrationId(parm.get("id")))//registrationId指定用户
.setNotification(Notification.newBuilder()
.addPlatformNotification(IosNotification.newBuilder()
.setAlert(param.get("msg"))
.setBadge(+1)
//这里是设置提示音(更多可以去官网看看)
.setSound("happy")
.addExtras(param)
.build())
.build())
.setOptions(Options.newBuilder().setApnsProduction(false).build())
//自定义信息
.setMessage(Message.newBuilder().setMsgContent(param.get("msg")).addExtras(param).build())
.build();
try {
jpushClient.sendPush(payload);
} catch (Exception e) {
logger.info(JPUSH_FAILE.getRetMsg());
}
}
/**
* 极光推送>>All所有平台
*/
public static void jpushAll(Map parm, String title) {
final Logger logger = LoggerFactory.getLogger(JPushUtils.class);
//创建JPushClient
JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY);
//创建option
PushPayload payload = PushPayload.newBuilder()
//所有平台的用户
.setPlatform(Platform.all())
//registrationId指定用户
.setAudience(Audience.registrationId(parm.get("id")))
.setNotification(Notification.newBuilder()
//发送ios
.addPlatformNotification(IosNotification.newBuilder()
//消息体
.setAlert(parm.get("msg"))
.setBadge(+1)
//ios提示音
.setSound("happy")
//附加参数
.addExtras(parm)
.build())
//发送android
.addPlatformNotification(AndroidNotification.newBuilder().setTitle(title)
//附加参数
.addExtras(parm)
//消息体
.setAlert(parm.get("msg"))
.build())
.build())
.setOptions(Options.newBuilder().setApnsProduction(true).build())
//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
.setMessage(Message.newBuilder().setMsgContent(parm.get("msg")).addExtras(parm).build())
//自定义信息
.build();
try {
jpushClient.sendPush(payload);
} catch (APIConnectionException | APIRequestException e) {
logger.info(JPUSH_FAILE.getRetMsg());
}
}
/**
* 极光推送 api v3 自定义推送 没有提示
*/
public static void apiV3Push() {
final Logger logger = LoggerFactory.getLogger(JPushUtils.class);
JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY, null, ClientConfig.getInstance());
// For push, all you need do is to build PushPayload object.
PushPayload payload = buildPushObject_ios_tagAnd_alertWithExtrasAndMessage();
try {
jpushClient.sendPush(payload);
} catch (APIConnectionException | APIRequestException e) {
logger.info(JPUSH_FAILE.getRetMsg());
}
}
private static PushPayload buildPushObject_ios_tagAnd_alertWithExtrasAndMessage() {
return PushPayload.newBuilder()
.setPlatform(Platform.android())
.setAudience(Audience.registrationId("140fe1da9ee8a57e2fd"))
.setNotification(Notification.newBuilder()
.addPlatformNotification(AndroidNotification.newBuilder()
.setAlert("")
.build())
.build())
.setMessage(Message.content("20"))
.setOptions(Options.newBuilder()
.setApnsProduction(false)
.build())
.build();
}
}
我只用了 推送android ios 以及全部推送和一个自定义推送的方法
七.测试 (等待 移动端开发人员集成sdk 获取移动设备key)
1.api测试 java后台发起 推送手机
创建测试接口 根据 设备的类型与设备key进行推送
2.web测试 极光官网推送
点击自己项目进入 然后选择推送
选择推送的设备类型 标题以及推送的内容
也可以自定义传送的消息 key-value形式
根据 设备的key 进行发送
本文地址:https://blog.csdn.net/weixin_42404521/article/details/107512865
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
app推送以及提示音java,springboot 整合 Jpush 极光推送相关推荐
- app推送以及提示音java,APP集成小米消息推送自定义铃声设置
目前市面上APP有很多第三方推送,如个推.极光.腾讯信鸽.百度云推送.友盟推送.云巴推送等,还有厂商系统级的推送,比如小米推送.华为推送,这个就很像iOS系统的APNs消息推送,可以做到不管你的APP ...
- JPush极光推送Java服务器端API
菜鸟的春天 JPush极光推送Java服务器端API // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, app ...
- springboot 整合 unipush 个推 实现cid单推、批量推
springboot 整合 unipush 个推 实现cid单推.批量推 unipush介绍 开通配置 uniapp获取cid Springboot集成 pom文件引入相关jar包 yml配置文件配置 ...
- Laravel 集成 JPush 极光推送指北
2019独角兽企业重金招聘Python工程师标准>>> 我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就 ...
- php集成jpush教程,Laravel 集成 JPush 极光推送指北
我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...
- 解决Android Studio配置JPush极光推送错误方案
1.在JPush极光推送官方下载 JPush SDK(jpush-android-release-2.1.7.zip) 2.解压下载好的压缩包解压并复制libs/jpush-android-2.1.7 ...
- JPush极光推送 and 百度云推送
一.极光推送 这两天在研究极光推送,极光推送是一种第三方推送,提供了比较便利的推送的方式,首先让开发者不用花人力和时间去开发后台数据返回,客户端这边只管一些配置和客户端接受消息的配置. 激光推送文档: ...
- Android Jpush极光推送
平时我们开发手机客户端总是少不了与服务器进行交流,那当我们服务器数据有更新时候,客户端是怎么知道的呢,我们以前一般用两种方法: 1,客户端每隔一段时间向服务器发请求,检测数据是否发生变化,当发生变化的 ...
- iOS第三方集成之jpush极光推送
iOS第三方集成之jpush极光推送 现在很多app都带推送功能,极光推送是很受大家欢迎的第三方推送,本文将为iOS初学者和初次设计开发推送的攻城狮们提供以下自己的使用心得. 大家可以边参考官方文档, ...
最新文章
- 刚子扯谈:微信 今天你打飞机了嘛吗?
- 【Flutter】Banner 轮播组件 ( flutter_swiper 插件 | Swiper 组件 )
- 折纸机器人的步骤图解_折纸图解老虎
- 关于ASP.NET未能映射路径问题
- netty系列之:netty架构概述
- 在虚拟机中安装和配配置 MOSS2007 全过程
- HTML表格基础学习
- mysql存储过程与触发器的例题
- 什么是安全查找Bean,什么是非安全查找Bean?如何安全地查找Bean?
- flying saucer技术生成pdf文档
- linux psftp,使用PSFTP实现Windows、Linux之间的文件传输
- 最新微信小程序影视源码,附带规则跟教程
- 计算机excel减法函数,excel减法函数的使用
- 2012-2013考研英语词汇
- Java 生成数字证书系列(三)生成数字证书
- Python之组合数据类型(列表、元组、集合、字典)
- 「管理数学基础」2.3 泛函分析:赋范空间与巴拿赫空间
- 妈妈说就算你注册的域名再长google都能搜索出来-google太强了
- php开源会员信息系统,poscms会员详情
- 【捡肥皂】Microsoft SQL Server 2000 MSSQL2000下载中文企业版个人版免费下载
热门文章
- linux下统计文件的数目,Linux下如何统计文件数目
- linux域文件夹权限设置密码,如何配置Linux 文件权限(经典详细版本: rwxst)
- 【mysql分区分表】mysql 按时间分区 【partition】
- Android 起调系统功能,打开系统浏览器,拨打电话,发送短信,手机震动,跳转到设置通知开关页面
- nginx.conf文件内容详解
- 简述List、Set、Map类型的集合的各自特点
- Maven中Spring-Data-Redis存储对象(redisTemplate)
- c语言计算据标准时间多少天,C语言系列--时间处理
- vue自定义组件,插槽,自定义事件
- 昆仑量子计算机只是云计算模拟吧,量子模拟赛题让大学生认识未来计算发展方向...