开发包
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
<version>3.3.10</version>
</dependency>
1. 创建JPushClient实例(单例模式)
import cn.jiguang.common.ClientConfig;
import cn.jpush.api.JPushClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JPushClientConfiguration {
@Value("${jPush.masterSecret}")
private String masterSecret;
@Value("${jPush.appKey}")
private String appKey;
@Bean("jPushClient")
JPushClient jpushClientConfig(){
JPushClient jPushClient = new JPushClient(masterSecret,appKey, null, ClientConfig.getInstance());
return jPushClient;
}
}
masterSecret(秘钥)和 appKey我放在了application配置文件中
2. 创建推送对象PushPayload
PushPayload.Builder builder = new PushPayload.Builder();
builder.setPlatform(Platform.all());
builder.setAudience(Audience.registrationId("as12f323fg"));
builder.setNotification(Notification.alert("你好,极光推送"));
jPush(builder)
3. 使用JPushClient实例推送
@Autowired
private JPushClient jPushClient;
public void jPush(PushPayload.Builder builder) {
try {
PushResult result = jPushClient.sendPush(builder.build());
logger.info("result:" + result);
} catch (APIConnectionException e) {
logger.error("Connection error, should retry later", e);
} catch (APIRequestException e) {
logger.error("Should review the error, and fix the request", e);
logger.info("HTTP Status: " + e.getStatus());
logger.info("Error Code: " + e.getErrorCode());
logger.info("Error Message: " + e.getErrorMessage());
}
}
application.yml
jPush:
masterSecret: 1234567
appKey: 1234567