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