烛光推送是:使得开发者能够即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提升留存率,提高用户体验。简单的说就是经过JPush后台管理网站进行app消息的推送。可让用户及时的收到最新的消息提示。java
可是每每有时候须要咱们本身开发本身的后台管理网站实现推送的功能,这个时候就须要调用JPush提供的API接口,来进行消息的推送。这里我只讲一些核心API接口,客户端的网站上有例子你们能够本身下载下来看看。android
下面是java后台的代码部分:ios
public class JPushClientExample {
//在极光注册上传应用的 appKey 和 masterSecret
private static final String appKey ="a148767f7440ff9daf56457f";////必填,例如466f7032ac604e02fb7bda89
private static final String masterSecret = "731e374afd796d5942ba1363";//必填,每一个应用都对应一个masterSecret
private static JPushClient jpush = null;
/*
* 保存离线的时长。秒为单位。最多支持10天(864000秒)。
* 0 表示该消息不保存离线。即:用户在线立刻发出,当前不在线用户将不会收到此消息。
* 此参数不设置则表示默认,默认为保存1天的离线消息(86400秒
*/
private static long timeToLive = 60 * 60 * 24;
public static void main(String[] args) {
/*
* Example1: 初始化,默认发送给android和ios,同时设置离线消息存活时间
* jpush = new JPushClient(masterSecret, appKey, timeToLive);
*
* Example2: 只发送给android *
* Example3: 只发送给IOS
* jpush = new JPushClient(masterSecret, appKey, DeviceEnum.IOS);
*
* Example4: 只发送给android,同时设置离线消息存活时间
* jpush = new JPushClient(masterSecret, appKey, timeToLive, DeviceEnum.Android);
*/
jpush = new JPushClient(masterSecret, appKey, timeToLive);
/*
* 是否启用ssl安全链接, 可选
* 参数:启用true, 禁用false,默认为非ssl链接
*/
jpush.setEnableSSL(true);
//测试发送消息或者通知
testSend();
}
private static void testSend() {
// 在实际业务中,建议 sendNo 是一个你本身的业务能够处理的一个自增数字。
// 除非须要覆盖,请确保不要重复使用。详情请参考 API 文档相关说明。
// Integer num= getRandomSendNo();
String sendNo="1900192560";
String msgTitle = "JPush测试信息";
String msgContent = "我是JPush测试信息,已经成功发送给你,请查收。";
/*
* IOS设备扩展参数,
* 设置badge,设置声音
*/
Map<String, Object> extra = new HashMap<String, Object>();
IOSExtra iosExtra = new IOSExtra(1, "WindowsLogonSound.wav");
extra.put("id1",iosExtra);
extra.put("id2","I am extra infomation");
//IOS和安卓一块儿
MessageResult msgResult = jpush.sendNotificationWithAppKey(sendNo, msgTitle, msgContent, 0, extra);
//对全部用户发送通知, 更多方法请参考文档
// MessageResult msgResult = jpush.sendCustomMessageWithAppKey(sendNo,msgTitle, msgContent);
if (null != msgResult) {
System.out.println("服务器返回数据: " + msgResult.toString());
if (msgResult.getErrcode() == ErrorCodeEnum.NOERROR.value()) {
System.out.println("发送成功, sendNo=" + msgResult.getSendno());
} else {
System.out.println("发送失败, 错误代码=" + msgResult.getErrcode() + ", 错误消息=" + msgResult.getErrmsg());
}
} else {
System.out.println("没法获取数据");
}
}
public static final int MAX = Integer.MAX_VALUE;
public static final int MIN = (int) MAX/2;
/**
* 保持 sendNo 的惟一性是有必要的
* It is very important to keep sendNo unique.
* @return sendNo
*/
public static int getRandomSendNo() {
return (int) (MIN + Math.random() * (MAX - MIN));
}
}
开发者能够本身定义发送的标题,内容,附加信息,离线等待时间等消息。用起来特别方便。这里我就添加这个demo核心的代码。有兴趣的能够把整个demo下载下来研究研究。安全