极光推送服务端 服务端怎么设置推送通知

java(20)
1:推送工具类
package com.jetf.
import java.util.M
import org.slf4j.L
import org.slf4j.LoggerF
import cn.jpush.api.JPushC
import cn.mon.resp.APIConnectionE
import cn.mon.resp.APIRequestE
import cn.jpush.api.push.PushR
import com.jfinal.kit.JsonK
public class AJpushUtils {
static Logger logger = LoggerFactory.getLogger(AJpushUtils.class);
public static AjPushPojo ajPushPojo =
public static JPushClient jpushClient =
* 发送通知
* @param registrationId
* @param alert
public static void jSend_notification(String masterSecret, String appKey,
String content, String alert, Map&String, Object& map,
String... alias) {
(masterSecret);
jpushClient = new JPushClient(masterSecret, appKey, 3);
ajPushPojo = new AjPushPojo();
// ajPushPojo.setMessage(content);
// 根据别名推送通知,不传默认推送全部
if (alias.length &= 1) {
ajPushPojo.setAlias(alias);
ajPushPojo.setNotification(alert, map);
PushResult result = jpushClient
.sendPush(JsonKit.toJson(ajPushPojo));
(result.msg_id + &===& + result.sendno);
} catch (APIConnectionException e) {
(& e: {}&, e);
} catch (APIRequestException e) {
(& e: {}&, e);
* 发送消息
* @param registrationId
* @param alert
public static void jSend_Message(String masterSecret, String appKey,
String alert, Map&String, Object& map, String... alias) {
(masterSecret);
jpushClient = new JPushClient(masterSecret, appKey, 3);
ajPushPojo = new AjPushPojo();
// 根据别名推送通知,不传默认推送全部
if (alias.length &= 1) {
ajPushPojo.setAlias(alias);
ajPushPojo.setMessage(alert, map);
PushResult result = jpushClient
.sendPush(JsonKit.toJson(ajPushPojo));
(result.msg_id + &===& + result.sendno);
} catch (APIConnectionException e) {
(& e: {}&, e);
} catch (APIRequestException e) {
(& e: {}&, e);
public static void jSend_notification1(String masterSecret, String appKey,
String content, String alert, Map&String, Object& map,
String... alias) {
package com.jetf.
import java.util.HashM
import java.util.M
import com.jfinal.kit.JsonK
public class AjPushPojo {
private String platform = &all&;
private String audience = &all&;
private String notification = &{}&;
private String message = &{\&msg_content\&:\&sadsa\&}&;
private String options = &{\&time_to_live\&: 60,\&apns_production\&: true}&;
public String getPlatform() {
public void setPlatform(String... platform) {
if (platform.length == 1) {
this.platform = platform[0];
this.platform = JsonKit.toJson(platform);
public String getAudience() {
public void setAlias(String... audience) {
Map&String, Object& map = new HashMap&String, Object&();
map.put(&alias&, (audience));
this.audience = JsonKit.toJson(map);
public void setAudience(String audience) {
this.audience =
public String getNotification() {
public void setNotification(String alert, Map&String, Object& extras) {
Map&String, Object& map = new HashMap&String, Object&();
Map&String, Object& map1 = new HashMap&String, Object&();
Map&String, Object& map2 = new HashMap&String, Object&();
map1.put(&extras&, extras);
map1.put(&alert&, alert);
map2.put(&extras&, extras);
map2.put(&alert&, alert);
map2.put(&sound&, &default&);
map2.put(&content-available&, true);
map.put(&android&, map1);
map.put(&ios&, (map2));
this.notification = JsonKit.toJson(map);
public String getMessage() {
public void setMessage(String message, Map&String, Object& extras) {
this.message = &{}&;
Map&String, Object& map = new HashMap&String, Object&();
map.put(&extras&, extras);
map.put(&msg_content&, message);
map.put(&content_type&, &text&);
this.message = JsonKit.toJson(map);
public String getOptions() {
public void setOptions(String options) {
this.options =
3:JAR包 & &jpush-client-3.2.7.jar
MAVEN 仓库
&dependency&
&groupId&cn.jpush.api&/groupId&
&artifactId&jpush-client&/artifactId&
&version&3.2.7&/version&
&/dependency&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:11558次
排名:千里之外
原创:21篇
转载:15篇
评论:16条
(1)(8)(8)(5)(2)(3)(2)(7)JPush极光推送Java服务器端API - 菜鸟的春天 - 博客园
JPushClient jpush = new JPushClient(masterSecret, appKey);
JPushClient jpush = new JPushClient(masterSecret, appKey, timeToLive);
JPushClient jpush = new JPushClient(masterSecret, appKey, DeviceEnum.Android);
JPushClient jpush = new JPushClient(masterSecret, appKey, timeToLive, DeviceEnum.IOS);
参数名称参数类型选项内容说明
masterSecret
Portal上注册应用时生成的 masterSecret
Portal上注册应用时生成的&appKey
timeToLive
保存离线消息的时长。秒为单位。最多支持10天(864000秒)。0 表示该消息不保存离线。即:用户在线马上发出,当前不在线用户将不会收到此消息。此参数不设置则表示默认,默认为保存1天的离线消息(86400秒)。
DeviceEnum
指定的设备。可选值:DeviceEnum.Android, DeviceEnum.IOS。不填或者null值为同时支持 Android 与 iOS。
JPushClient公共方法
方法名称参数列表(必须)方法说明
setEnableSSL
boolean enableSSL (true为使用ssl, 默认为不使用ssl)
是否启动ssl安全连接
sendNotificationWithImei
int sendNo(发送编号),String imei (IMEI字符串) ,String msgTitle (消息标题/通知标题)&,String msgContent (消息内容/通知内容)&
发送带IMEI的通知
sendNotificationWithImei
int sendNo ,&String imei ,String msgTitle&,String msgContent&,int builderId (自定义通知栏样式Id) ,Map&String, Object&extra (附属信息)
自定义通知栏(没有则填写0)以及传递附属信息&
sendCustomMessageWithImei
int sendNo ,&String imei ,String msgTitle&,String msgContent&
发送带IMEI的消息
sendCustomMessageWithImei
int sendNo ,&String imei ,String msgTitle&,String msgContent,&String msgContentType (消息内容类型,原样返回),Map&String, Object& extra&
用户自定义消息类型,以及传递附属信息&
sendNotificationWithTag
int sendNo ,&String tag (Tag字符串) ,String msgTitle&,String msgContent
发送带Tag的通知
sendNotificationWithTag
int sendNo ,&String tag ,String msgTitle&,String msgContent ,&int builderId ,Map&String, Object&extra
自定义通知栏(没有则填写0)以及传递附属信息&
sendCustomMessageWithTag
int sendNo ,&String tag ,String msgTitle&,String msgContent
发送带Tag的消息
sendCustomMessageWithTag
int sendNo ,&String tag ,String msgTitle&,String msgContent ,String msgContentType ,Map&String, Object& extra&
用户自定义消息类型,以及传递附属信息&
sendNotificationWithAlias
int sendNo ,&String alias (Alias字符串) ,String msgTitle&,&String msgContent
发送带Alias的通知
sendNotificationWithAlias
int sendNo ,&String alias (Alias字符串) ,String msgTitle&,&String msgContent ,int builderId ,Map&String, Object&extra
自定义通知栏(没有则填写0)以及传递附属信息&
sendCustomMessageWithAlias
int sendNo ,&String alias ,String msgTitle&,&String msgContent
发送带Alias的消息
sendCustomMessageWithAlias
int sendNo ,&String alias ,String msgTitle&,&String msgContent ,&String msgContentType ,Map&String, Object& extra&
用户自定义消息类型,以及传递附属信息&
sendNotificationWithAppKey
int sendNo ,&String msgTitle&,&String msgContent
发送通知给AppKey的所有用户
sendNotificationWithAppKey
int sendNo ,&String msgTitle&,&String msgContent ,int builderId ,Map&String, Object&extra
自定义通知栏(没有则填写0)以及传递附属信息&
sendCustomMessageWithAppKey
int sendNo ,&String msgTitle&,&String msgContent
发送带AppKey的消息
sendCustomMessageWithAppKey
int sendNo ,&String msgTitle&,&String msgContent ,String msgContentType ,Map&String, Object& extra&&
用户自定义消息类型,以及传递附属信息&
JPushClient jpush = new JPushClient(masterSecret, appKey);
int sendNo = 1;
String imei = "";
String msgTitle = "";
String msgContent = "";
MessageResult msgResult = jpush.sendNotificationWithImei(sendNo, imei, msgTitle, msgContent);
if (null != msgResult) {
&&&&if (msgResult.getErrcode() == ErrorCodeEnum.NOERROR.value()) {
&&&&&&&&System.out.println("发送成功, sendNo=" + msgResult.getSendno());
&&&&} else {
&&&&&&&&System.out.println("发送失败, 错误代码=" + msgResult.getErrcode() + ", 错误消息=" + msgResult.getErrmsg());
&&&&System.out.println("无法获取数据");
JPushClient jpush = new JPushClient(masterSecret, appKey);
Map&String, Object& extra = new HashMap&String, Object&();
IOSExtra iosExtra = new IOSExtra(1, "Windows_Logon_Sound.wav");
extra.put("ios", iosExtra);
MessageResult msgResult = jpush.sendNotificationWithAppKey(sendNo, msgTitle, msgContent, 0, extra);
MessageResult 类
公共方法方法用途
&消息发送成功后,按客户端传输的sendNo原样返回
getErrcode
&错误代码,代码定义参考ErrorCodeEnum
&返回错误消息的描述
ErrorCode 类
package cn.jpush.
public enum ErrorCodeEnum {
&&&&NOERROR(0),
&&&&SystemError(10),
&&&&NotSupportGetMethod(1001),
&&&&MissingRequiredParameters(1002),
&&&&InvalidParameter(1003),
&&&&ValidateFailed(1004),
&&&&DataTooBig(1005),
&&&&InvalidIMEI(1007),
&&&&InvalidAppKey(1008),
&&&&InvalidMsgContent(1010),
&&&&InvalidPush(1011),
&&&&CustomMessgaeNotSupportIOS(1012);
&&&&private final int
&&&&private ErrorCodeEnum(final int value) {
&&&&&&&&this.value =
&&&&public int value() {
&&&&&&&&return this.下次自动登录
现在的位置:
& 综合 & 正文
java服务器端调用JPush极光推送api推送通知消息
调用JPush推送的api,官网上已经有很详细的说明了,我只是写了一个小的demo测试下了!
在极光推送的官网注册帐号,获得应用标识(AppKey) , API
MasterSecret , apk应用,将apk安装在手机上并运行,
package com.zensoftware.
import cn.jpush.api.ErrorCodeE
import cn.jpush.api.JPushC
import cn.jpush.api.MessageR
public class TestPush {
JPushClient jpush = new JPushClient(Master, AppKey);//修改这两个参数为你注册得到的
int sendNo = 108;// 在实际业务中,建议 sendNo 是一个你自己的业务可以处理的一个自增数字。
String imei = "手机的IMEI码";
String msgTitle = "逆水寒";
String msgContent = "这是极光推送的例子哦!";
public int MAX = Integer.MAX_VALUE;
public int MIN = MAX/2;
MessageResult msgResult=
public void pushMsg(){
msgResult= jpush.sendNotificationWithImei(sendNo, imei, msgTitle, msgContent);
if (null != msgResult) {
if (msgResult.getErrcode() == ErrorCodeEnum.NOERROR.value()) {
System.out.println("发送成功, sendNo=" + msgResult.getSendno());
System.out.println("发送失败, 错误代码=" + msgResult.getErrcode() + ", 错误消息=" + msgResult.getErrmsg());
System.out.println("无法获取数据");
public int getRandomSendNo() {
return (int) (MIN + Math.random() * (MAX - MIN));
public static void main(String[] args) {
TestPush test=new TestPush();
test.pushMsg();
System.out.println("-----Push Completed!");
保证手机网络畅通,运行后台代码无错即看到效果!
&&&&推荐文章:
【上篇】【下篇】极光推送接收服务器推送过来的消息
上文介绍了客户端自己接收极光发来的消息。该文介绍客户端接收服务器的消息。
定义是:集成了
JPush SDK 的应用程序在第一次成功注册到 JPush 服务器时,JPush 服务器会给客户端返回一个唯一的该设备的标识 -
RegistrationID。JPush SDK 会以广播的形式发送 RegistrationID
到应用程序。
应用程序可以把此
RegistrationID 保存以自己的应用服务器上,然后就可以根据 RegistrationID
来向设备推送消息或者通知。
一、首先我们在自定义的Receiver中的onReceiver()里写:
通过该方法获得唯一标识。
二、在我们需要调“保存在极光上注册的ID”接口(你服务端给的接口)的时候,写提交信息的代码(网络请求),其中一定会有一个字段需要用到RegistrationID的值,我们也可以通过上述方法得到,再传进去即可。
(JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction()))
System.out.println("用户点击打开了通知");
// 在这里可以自己写代码去定义用户点击后的行为
Intent i = new Intent(context, MainActivity.class);
&//自定义打开的界面
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
写上述打开通知的代码。
上述步骤即可实现推送到指定人,对于网络请求不懂的,可以单独查找资料。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 极光推送服务端demo 的文章

 

随机推荐