# jiguang-sdk-java
**Repository Path**: industry-software-open-source/jiguang-sdk-java
## Basic Information
- **Project Name**: jiguang-sdk-java
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: customize
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-05-12
- **Last Updated**: 2025-05-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# jiguang-sdk-java
这是 Jiguang REST API 的 Java 版本封装开发包,是由极光推送官方提供的,一般支持最新的 API 功能。
## 1. 集成
引入sdk包
```xml
io.github.jpush
jiguang-sdk
5.1.14-customize
```
引入log包
> 注意项目中已引用了logback、log4j、commons-logging等实现slfj接口的日志框架,则不需要配置。例如'example-for-spring'中引入了spring,自带logback框架,就不需要再配置。
```xml
ch.qos.logback
logback-classic
1.2.11
```
## 2. Api
创建api对象
> 可根据自身情况设置client、host和loggerLevel
```java
// appKey和masterSecret在极光官网-应用控制台获取
PushApi pushApi = new PushApi.Builder()
.setHost(host)
.setAppKey(appKey)
.setMasterSecret(masterSecret)
.setLoggerLevel(Logger.Level.FULL)
.build();
DeviceApi deviceApi = new DeviceApi.Builder()
.setHost(host)
.setAppKey(appKey)
.setMasterSecret(masterSecret)
.setLoggerLevel(Logger.Level.FULL)
.build();
ReportApi reportApi = new ReportApi.Builder()
.setHost(host)
.setAppKey(appKey)
.setMasterSecret(masterSecret)
.setLoggerLevel(Logger.Level.FULL)
.build();
ScheduleApi scheduleApi = new ScheduleApi.Builder()
.setHost(host)
.setAppKey(appKey)
.setMasterSecret(masterSecret)
.setLoggerLevel(Logger.Level.FULL)
.build();
GeofenceApi geofenceApi = new GeofenceApi.Builder()
.setHost(host)
.setAppKey(appKey)
.setMasterSecret(masterSecret)
.setLoggerLevel(Logger.Level.FULL)
.build();
// 其他可自定义演示
okhttp3.OkHttpClient okHttpClient = new okhttp3.OkHttpClient().newBuilder()
// .proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy_host", proxy_port))) // 可自定义代理,可选
.build();
PushApi pushApi = new PushApi.Builder()
.setClient(new OkHttpClient(okHttpClient)) // sdk默认使用的feign-okhttp,可自定义,可选
.setOptions(new Request.Options(10, TimeUnit.SECONDS, 10, TimeUnit.SECONDS, false)) // 可自定义超时参数,可选
.setRetryer(new Retryer.Default(10, 10, 10)) // 可自定义重试参数,可选
.setLoggerLevel(Logger.Level.FULL) // 可自定义日志打印级别,可选
.setHost(host) // 必填
.setAppKey(appKey) // 必填
.setMasterSecret(masterSecret) // 必填
.build();
```
使用api示例
* [PushApi](https://github.com/jpush/jiguang-sdk-java/blob/customize/example-for-spring/src/test/java/cn/jiguang/app/api/PushApiTest.java)
* [DeviceApi](https://github.com/jpush/jiguang-sdk-java/blob/customize/example-for-spring/src/test/java/cn/jiguang/app/api/DeviceApiTest.java)
* [ReportApi](https://github.com/jpush/jiguang-sdk-java/blob/customize/example-for-spring/src/test/java/cn/jiguang/app/api/ReportApiTest.java)
* [ScheduleApi](https://github.com/jpush/jiguang-sdk-java/blob/customize/example-for-spring/src/test/java/cn/jiguang/app/api/ScheduleApiTest.java)
* [GeofenceApi](https://github.com/jpush/jiguang-sdk-java/customize/customize/example-for-spring/src/test/java/cn/jiguang/app/api/GeofenceApiTest.java)
## 3. 推送失败
推送失败会抛出异常,可对下面的类异常捕获后进行业务处理
```java
cn.jiguang.sdk.exception.ApiErrorException
```
## 4. 第三方库引用说明
```
4.12.0
1.18.30
13.1
3.8.0
2.15.3
org.projectlombok
lombok
${lombok.version}
provided
io.github.openfeign
feign-core
${feign-core.version}
io.github.openfeign.form
feign-form
${feign-form.version}
io.github.openfeign
feign-slf4j
${feign-core.version}
io.github.openfeign
feign-okhttp
${feign-core.version}
io.github.openfeign
feign-jackson
${feign-core.version}
com.squareup.okhttp3
okhttp
${okhttp.version}
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
${jackson-datatype-jsr310.version}
org.bouncycastle
bcpkix-jdk15on
1.68
```