产品简介:

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 极光推送相关推荐

  1. app推送以及提示音java,APP集成小米消息推送自定义铃声设置

    目前市面上APP有很多第三方推送,如个推.极光.腾讯信鸽.百度云推送.友盟推送.云巴推送等,还有厂商系统级的推送,比如小米推送.华为推送,这个就很像iOS系统的APNs消息推送,可以做到不管你的APP ...

  2. JPush极光推送Java服务器端API

    菜鸟的春天 JPush极光推送Java服务器端API // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, app ...

  3. springboot 整合 unipush 个推 实现cid单推、批量推

    springboot 整合 unipush 个推 实现cid单推.批量推 unipush介绍 开通配置 uniapp获取cid Springboot集成 pom文件引入相关jar包 yml配置文件配置 ...

  4. Laravel 集成 JPush 极光推送指北

    2019独角兽企业重金招聘Python工程师标准>>> 我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就 ...

  5. php集成jpush教程,Laravel 集成 JPush 极光推送指北

    我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...

  6. 解决Android Studio配置JPush极光推送错误方案

    1.在JPush极光推送官方下载 JPush SDK(jpush-android-release-2.1.7.zip) 2.解压下载好的压缩包解压并复制libs/jpush-android-2.1.7 ...

  7. JPush极光推送 and 百度云推送

    一.极光推送 这两天在研究极光推送,极光推送是一种第三方推送,提供了比较便利的推送的方式,首先让开发者不用花人力和时间去开发后台数据返回,客户端这边只管一些配置和客户端接受消息的配置. 激光推送文档: ...

  8. Android Jpush极光推送

    平时我们开发手机客户端总是少不了与服务器进行交流,那当我们服务器数据有更新时候,客户端是怎么知道的呢,我们以前一般用两种方法: 1,客户端每隔一段时间向服务器发请求,检测数据是否发生变化,当发生变化的 ...

  9. iOS第三方集成之jpush极光推送

    iOS第三方集成之jpush极光推送 现在很多app都带推送功能,极光推送是很受大家欢迎的第三方推送,本文将为iOS初学者和初次设计开发推送的攻城狮们提供以下自己的使用心得. 大家可以边参考官方文档, ...

最新文章

  1. 刚子扯谈:微信 今天你打飞机了嘛吗?
  2. 【Flutter】Banner 轮播组件 ( flutter_swiper 插件 | Swiper 组件 )
  3. 折纸机器人的步骤图解_折纸图解老虎
  4. 关于ASP.NET未能映射路径问题
  5. netty系列之:netty架构概述
  6. 在虚拟机中安装和配配置 MOSS2007 全过程
  7. HTML表格基础学习
  8. mysql存储过程与触发器的例题
  9. 什么是安全查找Bean,什么是非安全查找Bean?如何安全地查找Bean?
  10. flying saucer技术生成pdf文档
  11. linux psftp,使用PSFTP实现Windows、Linux之间的文件传输
  12. 最新微信小程序影视源码,附带规则跟教程
  13. 计算机excel减法函数,excel减法函数的使用
  14. 2012-2013考研英语词汇
  15. Java 生成数字证书系列(三)生成数字证书
  16. Python之组合数据类型(列表、元组、集合、字典)
  17. 「管理数学基础」2.3 泛函分析:赋范空间与巴拿赫空间
  18. 妈妈说就算你注册的域名再长google都能搜索出来-google太强了
  19. php开源会员信息系统,poscms会员详情
  20. 【捡肥皂】Microsoft SQL Server 2000 MSSQL2000下载中文企业版个人版免费下载

热门文章

  1. linux下统计文件的数目,Linux下如何统计文件数目
  2. linux域文件夹权限设置密码,如何配置Linux 文件权限(经典详细版本: rwxst)
  3. 【mysql分区分表】mysql 按时间分区 【partition】
  4. Android 起调系统功能,打开系统浏览器,拨打电话,发送短信,手机震动,跳转到设置通知开关页面
  5. nginx.conf文件内容详解
  6. 简述List、Set、Map类型的集合的各自特点
  7. Maven中Spring-Data-Redis存储对象(redisTemplate)
  8. c语言计算据标准时间多少天,C语言系列--时间处理
  9. vue自定义组件,插槽,自定义事件
  10. 昆仑量子计算机只是云计算模拟吧,量子模拟赛题让大学生认识未来计算发展方向...