// 对android和ios设备发送
JPushClient jpush = new JPushClient(masterSecret, appKey);
 
// 对android和ios设备发送,同时指定离线消息保存时间
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
String 必须 Portal上注册应用时生成的 masterSecret
appKey String 必须 Portal上注册应用时生成的 appKey
timeToLive long 可选

保存离线消息的时长。秒为单位。最多支持10天(864000秒)。
0 表示该消息不保存离线。即:用户在线马上发出,当前不在线用户将不会收到此消息。
此参数不设置则表示默认,默认为保存1天的离线消息(86400秒)。

DeviceEnum Enum 可选 指定的设备。
可选值: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  
用户自定义消息类型,
以及传递附属信息 

代码示例

代码示例-发送带IMEI的通知
JPushClient jpush = new JPushClient(masterSecret, appKey);
//jpush.setEnableSSL(true);
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());
    }
} else {
    System.out.println("无法获取数据");
}
代码示例-IOS设置通知铃声和badge
JPushClient jpush = new JPushClient(masterSecret, appKey);
 
Map<String, Object> extra = new HashMap<String, Object>();
IOSExtra iosExtra = new IOSExtra(1, "Windows_Logon_Sound.wav");//badge and sound
extra.put("ios", iosExtra);
 
MessageResult msgResult = jpush.sendNotificationWithAppKey(sendNo, msgTitle, msgContent, 0, extra);

MessageResult 类

公共方法 方法用途

getSendno

 消息发送成功后,按客户端传输的sendNo原样返回

getErrcode

 错误代码,代码定义参考ErrorCodeEnum
getErrmsg  返回错误消息的描述

ErrorCode 类

错误代码-ErrorCodeEnum
package cn.jpush.api;
 
public enum ErrorCodeEnum {
     
    //没有错误,发送成功
    NOERROR(0),
 
    //系统内部错误
    SystemError(10),
 
    //不支持GET请求
    NotSupportGetMethod(1001),
 
    //缺少必须参数
    MissingRequiredParameters(1002),
 
    //参数值不合法
    InvalidParameter(1003),
 
    //验证失败
    ValidateFailed(1004),
 
    //消息体太大
    DataTooBig(1005),
 
    //IMEI不合法
    InvalidIMEI(1007),
 
    //appkey不合法
    InvalidAppKey(1008),
 
    //msg_content不合法
    InvalidMsgContent(1010),
 
    //没有满足条件的推送目标
    InvalidPush(1011),
 
    //IOS不支持自定义消息
    CustomMessgaeNotSupportIOS(1012);
 
    private final int value;
    private ErrorCodeEnum(final int value) {
        this.value = value;
    }
 
    public int value() {
        return this.value;
    }
}

JPush极光推送Java服务器端API的更多相关文章

  1. JPush极光推送Java服务器端实例

    import cn.jpush.api.JPushClient; import cn.jpush.api.common.resp.APIConnectionException; import cn.j ...

  2. JPush极光推送 Java调用服务器端API开发

       极光推送是:使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验.简单的说就是通过JPush后台管理网站进行app消息的推送.可以让用户及时 ...

  3. **极光推送PHP服务器端推送移动设备消息(Jpush V2 api)

    jpush.php  这是推送方法  用到curl发送请求 <?php /** * 极光推送php 服务器端 * @author yalong sun * @Email <syl_ad@1 ...

  4. C#—ASP.NET:集成极光推送(Push API v3)

    C#—ASP.NET:集成极光推送(Push API v3) 原文地址: https://blog.csdn.net/CXLLLK/article/details/86489994   1.极光推送官 ...

  5. 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)

    这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...

  6. atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99

    atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99 1.1. 云推送有推送次数或频率的限制吗? 1 1.2. 推送的消息长度 1 1.3. 离线消 ...

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

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

  8. 使用JPush(极光推送)实现远程通知

    使用JPush(极光推送)实现远程通知 远程推送是APP 必备的功能, 现在第三方的 SDK 已经做的非常完备了, 在 iOS10.0出来之后, 极光推送也及时更新了他的 SDK, 今天小试了一下效果 ...

  9. 极光推送-Java后台实现方式一:Http API

    Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请求API:https://api.jpush.cn/v3/push,另一种则是使用官方提供的第三方Java APIjar包,这里先 ...

随机推荐

  1. 《BI那点儿事》双变量的相关分析——相关系数

    例如,“三国人物是否智力越高,政治就越高”,或是“是否武力越高,统率也越高:准备数据分析环境: SELECT * FROM FactSanguo11 WHERE 姓名 IN ( N'荀彧', N'荀攸 ...

  2. Delphi 使用之dll文件生成与调用

    DLL是Dynamic-Link Libraries(动态链接库)的缩写,库里面是一些可执行的模块以及资源(如位图.图标等).可以认为DLL和EXE基本上是一回事,只是DLL不能直接执行,而必须由应用 ...

  3. android ViewGroup事件分发机制

    1:事件分销过程 自定义一个LinearLayout,重写dispatchTouchEvent onInterceptTouchEvent onTouchEvent,定义一个按键重写dispathcT ...

  4. 经典SQL语句大全以及50个常用的sql语句

    经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql serv ...

  5. oracle表空间不足相关问题解决办法

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  6. gitgub利用客户端实现简单的上传和同步

    新建项目 打开客户端(将项目拷贝到本地) 选择要clone到的文件夹 想该文件夹中,导入自己需要上传的代码 然后,在网站上登录自己的gitgub,就可以看到刚才上传的项目了╮(╯▽╰)╭

  7. WCF事务应用[转]

    在B2B的项目中,一般用户注册后,就有一个属于自己的店铺,此时,我们就要插入两张表, User和Shop表. 当然,要么插入成功,要么全失败. 第一步: 首先看一下项目的结构图: 第二步: 准备工作, ...

  8. 运用vertical:middle 使得元素垂直居中

    我要垂直居中我要垂直居中我要垂直居中我要垂直居中我要垂直居中垂直居中垂直居中垂直居中中垂直居中垂直居中   <!-- 第一步:主题元素display:inline-block;第二步:插入辅助元 ...

  9. Cisco防火墙配置

    帮朋友调试一台ASA,做一下记录(很久没动手了) 三个区: vlan10: inside: 192.168.1.1 vlan20: outside: 202.102.1.1 vlan30: dmz: ...

  10. RHCE 系列(二):如何进行包过滤、网络地址转换和设置内核运行时参数

    正如第一部分(“设置静态网络路由”)提到的,在这篇文章(RHCE 系列第二部分),我们首先介绍红帽企业版 Linux 7(RHEL)中包过滤和网络地址转换(NAT)的原理,然后再介绍在某些条件发生变化 ...