JPush极光推送Java服务器端API

转载自:http://www.cnblogs.com/zhanghaoh/archive/2013/02/20/2919282.html


// 对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;
     }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值