一。先进行配置
1.具体配置可参考极光官方文档https://docs.jiguang.cn/jpush/server/sdk/java_sdk/ 或 https://github.com/jpush/jpush-api-java-client 可进行源码下载参考
2.配置maven pom.xml 文件
找到3.3.3jar包进行下载,复制jar包到你的项目(jiguang-common-1.0.8 jar && jpush-client-3.3.3 jar)
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jiguang-common</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.6.Final</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<!-- For log4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
找到以上包,进行配置。官方文档有详细说明
二。写一个公用推送demo工具类调用
//极光推送方法工具类
package com.javajy.util;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import cn.jiguang.common.ClientConfig;
import cn.jiguang.common.resp.APIConnectionException;
import cn.jiguang.common.resp.APIRequestException;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Message;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.audience.AudienceTarget;
import cn.jpush.api.push.model.notification.AndroidNotification;
import cn.jpush.api.push.model.notification.IosNotification;
import cn.jpush.api.push.model.notification.Notification;
//极光推送类
public class JPushDevice {
protected static final Logger LOG = LoggerFactory.getLogger(JPushDevice.class);
public static final String URL = "https://device.jpush.cn";//极光访问URL
public static final String APPKEY = "****";//极光用户名
public static final String MASTERSECRET = "***";//极光密码
public static long timeToLive = 60 * 60 * 24 * 10; //10天
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("234354676");
list.add("234564566");
// System.out.println(list.toString());
// buildPushObject_ios_audienceMore_messageWithExtras(new String[]{"23456","234565","23456"},"title","content",3);
// buildPushObject_all_alertWithTitle("234566","title","content",3);
try {
JPushClient jpushClient = new JPushClient(JPushDevice.MASTERSECRET, JPushDevice.APPKEY, null,
ClientConfig.getInstance());
PushPayload payload = AllName(new String[]{"234566","23456"},"title3","content3",1);
PushResult pResult = jpushClient.sendPush(payload);
System.out.println("Got result - " + pResult);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
} // 请求结束后,调用 NettyHttpClient 中的 close
// 方法,否则进程不会退出。
jpushClient.close();
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
}
public static PushPayload AllName(String[] username,String title,String fsmessagecontent,Integer count) {
return PushPayload.newBuilder()
// .setPlatform(Platform.android_ios())//安卓和ios
.setPlatform(Platform.all())
.setAudience(Audience.newBuilder()
//