Skip to content

Commit

Permalink
support custom client, update version to 5.1.4.
Browse files Browse the repository at this point in the history
  • Loading branch information
wicked-tc130 committed Aug 8, 2024
1 parent 8baa50a commit 5ce0f99
Show file tree
Hide file tree
Showing 11 changed files with 73 additions and 66 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ replay_pid*
*.iml

.idea
target/
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@
## 1. 集成
引入sdk包
```xml
<!--以5.1.3版本为例-->
<!--以5.1.4版本为例-->
<dependencies>
<!-- jiguang-sdk -->
<dependency>
<groupId>io.github.jpush</groupId>
<artifactId>jiguang-sdk</artifactId>
<version>5.1.3</version>
<version>5.1.4</version>
</dependency>
</dependencies>
```
Expand All @@ -40,7 +40,7 @@
```
## 2. Api
创建api对象
> 可根据自身情况设置host、proxy和loggerLevel
> 可根据自身情况设置client、host和loggerLevel
```java
// appKey和masterSecret在极光官网-应用控制台获取
PushApi pushApi = new PushApi.Builder()
Expand Down Expand Up @@ -70,6 +70,16 @@
.setGroupMasterSecret(groupMasterSecret)
.setLoggerLevel(Logger.Level.FULL)
.build();

// 设置client,更多okhttp配置请参考:https://square.github.io/okhttp/5.x/okhttp/okhttp3/-ok-http-client/-builder/index.html
okhttp3.OkHttpClient okHttpClient = new okhttp3.OkHttpClient().newBuilder()
.connectTimeout(5, TimeUnit.SECONDS) // 设置连接超时
.build();
PushApi pushApi = new PushApi.Builder()
.setClient(new OkHttpClient(okHttpClient))
.setAppKey(appKey)
.setMasterSecret(masterSecret)
.build();
```
使用api示例
* [PushApi](https://github.com/jpush/jiguang-sdk-java/blob/main/example-for-spring/src/test/java/cn/jiguang/app/api/PushApiTest.java)
Expand Down
4 changes: 2 additions & 2 deletions example-for-spring/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<groupId>io.github.jpush</groupId>
<artifactId>example-for-spring</artifactId>
<version>5.1.3</version>
<version>5.1.4</version>

<properties>
<maven.compiler.source>8</maven.compiler.source>
Expand All @@ -26,7 +26,7 @@
<dependency>
<groupId>io.github.jpush</groupId>
<artifactId>jiguang-sdk</artifactId>
<version>5.1.3</version>
<version>5.1.4</version>
</dependency>
<!-- lombok -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@

import cn.jiguang.sdk.api.*;
import feign.Logger;
import feign.okhttp.OkHttpClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.TimeUnit;

@Slf4j
@Configuration
public class JiguangApiConfig {

Expand All @@ -27,9 +33,23 @@ public class JiguangApiConfig {
@Value("${jiguang.api.group-master-secret}")
private String groupMasterSecret;

// sdk默认使用的feign-okhttp,下面是设置示例
// 更多okhttp配置请参考:https://square.github.io/okhttp/5.x/okhttp/okhttp3/-ok-http-client/-builder/index.html
@Bean("okHttpClient")
public OkHttpClient okHttpClient() {
okhttp3.OkHttpClient okHttpClient = new okhttp3.OkHttpClient().newBuilder()
// .proxy() // 设置代理,如果有需要
.connectTimeout(5, TimeUnit.SECONDS) // 设置连接超时
.build();
OkHttpClient okHttpClient1 = new OkHttpClient(okHttpClient);
log.info("okHttpClient1:{}", okHttpClient1);
return okHttpClient1;
}

@Bean
public PushApi pushApi() {
public PushApi pushApi(@Qualifier("okHttpClient") OkHttpClient okHttpClient) {
return new PushApi.Builder()
.setClient(okHttpClient) // 如果不配置client,则使用默认的okHttpClient
.setAppKey(appKey)
.setMasterSecret(masterSecret)
.build();
Expand Down
4 changes: 2 additions & 2 deletions jiguang-sdk/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
<parent>
<groupId>io.github.jpush</groupId>
<artifactId>jiguang-sdk-java</artifactId>
<version>5.1.3</version>
<version>5.1.4</version>
<relativePath>../pom.xml</relativePath>
</parent>

<groupId>io.github.jpush</groupId>
<artifactId>jiguang-sdk</artifactId>
<version>5.1.3</version>
<version>5.1.4</version>
<packaging>jar</packaging>

<properties>
Expand Down
15 changes: 5 additions & 10 deletions jiguang-sdk/src/main/java/cn/jiguang/sdk/api/AdminApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,14 @@
import cn.jiguang.sdk.codec.ApiDecoder;
import cn.jiguang.sdk.codec.ApiEncoder;
import cn.jiguang.sdk.codec.ApiErrorDecoder;
import feign.Client;
import feign.Feign;
import feign.Logger;
import feign.auth.BasicAuthRequestInterceptor;
import feign.okhttp.OkHttpClient;
import feign.slf4j.Slf4jLogger;
import lombok.NonNull;

import java.net.Proxy;

public class AdminApi {

private final AdminClient adminClient;
Expand All @@ -36,8 +35,8 @@ public CertificateUploadResult uploadCertificate(@NonNull String appKey, @NonNul

public static class Builder {

private Client client = new OkHttpClient();
private String host = "https://admin.jpush.cn";
private Proxy proxy;
private String devKey;
private String devSecret;
private Logger.Level loggerLevel = Logger.Level.BASIC;
Expand All @@ -47,8 +46,8 @@ public Builder setHost(@NonNull String host) {
return this;
}

public Builder setProxy(@NonNull Proxy proxy) {
this.proxy = proxy;
public Builder setClient(@NonNull Client client) {
this.client = client;
return this;
}

Expand All @@ -68,12 +67,8 @@ public Builder setLoggerLevel(@NonNull Logger.Level loggerLevel) {
}

public AdminApi build() {
okhttp3.OkHttpClient.Builder delegateBuilder = new okhttp3.OkHttpClient().newBuilder();
if (proxy != null) {
delegateBuilder.proxy(proxy);
}
AdminClient adminClient = Feign.builder()
.client(new OkHttpClient(delegateBuilder.build()))
.client(client)
.requestInterceptor(new BasicAuthRequestInterceptor(devKey, devSecret))
.encoder(new ApiEncoder())
.decoder(new ApiDecoder())
Expand Down
19 changes: 7 additions & 12 deletions jiguang-sdk/src/main/java/cn/jiguang/sdk/api/DeviceApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,14 @@
import cn.jiguang.sdk.codec.ApiEncoder;
import cn.jiguang.sdk.codec.ApiErrorDecoder;
import cn.jiguang.sdk.enums.platform.Platform;
import feign.Client;
import feign.Feign;
import feign.Logger;
import feign.auth.BasicAuthRequestInterceptor;
import feign.okhttp.OkHttpClient;
import feign.slf4j.Slf4jLogger;
import lombok.NonNull;

import java.net.Proxy;

public class DeviceApi {

private final DeviceClient deviceClient;
Expand Down Expand Up @@ -77,19 +76,19 @@ public DeviceStatusGetResult getDeviceStatus() {

public static class Builder {

private Client client = new OkHttpClient();
private String host = "https://device.jpush.cn";
private Proxy proxy;
private String appKey;
private String masterSecret;
private Logger.Level loggerLevel = Logger.Level.BASIC;

public Builder setHost(@NonNull String host) {
this.host = host;
public Builder setClient(@NonNull Client client) {
this.client = client;
return this;
}

public Builder setProxy(@NonNull Proxy proxy) {
this.proxy = proxy;
public Builder setHost(@NonNull String host) {
this.host = host;
return this;
}

Expand All @@ -109,12 +108,8 @@ public Builder setLoggerLevel(@NonNull Logger.Level loggerLevel) {
}

public DeviceApi build() {
okhttp3.OkHttpClient.Builder delegateBuilder = new okhttp3.OkHttpClient().newBuilder();
if (proxy != null) {
delegateBuilder.proxy(proxy);
}
DeviceClient deviceClient = Feign.builder()
.client(new OkHttpClient(delegateBuilder.build()))
.client(client)
.requestInterceptor(new BasicAuthRequestInterceptor(appKey, masterSecret))
.encoder(new ApiEncoder())
.decoder(new ApiDecoder())
Expand Down
19 changes: 7 additions & 12 deletions jiguang-sdk/src/main/java/cn/jiguang/sdk/api/GroupPushApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,14 @@
import cn.jiguang.sdk.codec.ApiDecoder;
import cn.jiguang.sdk.codec.ApiEncoder;
import cn.jiguang.sdk.codec.ApiErrorDecoder;
import feign.Client;
import feign.Feign;
import feign.Logger;
import feign.auth.BasicAuthRequestInterceptor;
import feign.okhttp.OkHttpClient;
import feign.slf4j.Slf4jLogger;
import lombok.NonNull;

import java.net.Proxy;

public class GroupPushApi {

private final GroupPushClient groupPushClient;
Expand All @@ -29,19 +28,19 @@ public GroupPushSendResult send(@NonNull GroupPushSendParam param) {

public static class Builder {

private Client client = new OkHttpClient();
private String host = "https://api.jpush.cn";
private Proxy proxy;
private String groupKey;
private String groupMasterSecret;
private Logger.Level loggerLevel = Logger.Level.BASIC;

public Builder setHost(@NonNull String host) {
this.host = host;
public Builder setClient(@NonNull Client client) {
this.client = client;
return this;
}

public Builder setProxy(@NonNull Proxy proxy) {
this.proxy = proxy;
public Builder setHost(@NonNull String host) {
this.host = host;
return this;
}

Expand All @@ -61,12 +60,8 @@ public Builder setLoggerLevel(@NonNull Logger.Level loggerLevel) {
}

public GroupPushApi build() {
okhttp3.OkHttpClient.Builder delegateBuilder = new okhttp3.OkHttpClient().newBuilder();
if (proxy != null) {
delegateBuilder.proxy(proxy);
}
GroupPushClient groupPushClient = Feign.builder()
.client(new OkHttpClient(delegateBuilder.build()))
.client(client)
.requestInterceptor(new BasicAuthRequestInterceptor("group-" + groupKey, groupMasterSecret))
.encoder(new ApiEncoder())
.decoder(new ApiDecoder())
Expand Down
19 changes: 7 additions & 12 deletions jiguang-sdk/src/main/java/cn/jiguang/sdk/api/PushApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,14 @@
import cn.jiguang.sdk.codec.ApiDecoder;
import cn.jiguang.sdk.codec.ApiEncoder;
import cn.jiguang.sdk.codec.ApiErrorDecoder;
import feign.Client;
import feign.Feign;
import feign.Logger;
import feign.auth.BasicAuthRequestInterceptor;
import feign.okhttp.OkHttpClient;
import feign.slf4j.Slf4jLogger;
import lombok.NonNull;

import java.net.Proxy;

public class PushApi {

private final PushClient pushClient;
Expand Down Expand Up @@ -120,19 +119,19 @@ public PushSendResult sendByFile(Object param) {

public static class Builder {

private Client client = new OkHttpClient();
private String host = "https://api.jpush.cn";
private Proxy proxy;
private String appKey;
private String masterSecret;
private Logger.Level loggerLevel = Logger.Level.BASIC;

public Builder setHost(@NonNull String host) {
this.host = host;
public Builder setClient(@NonNull Client client) {
this.client = client;
return this;
}

public Builder setProxy(@NonNull Proxy proxy) {
this.proxy = proxy;
public Builder setHost(@NonNull String host) {
this.host = host;
return this;
}

Expand All @@ -152,12 +151,8 @@ public Builder setLoggerLevel(@NonNull Logger.Level loggerLevel) {
}

public PushApi build() {
okhttp3.OkHttpClient.Builder delegateBuilder = new okhttp3.OkHttpClient().newBuilder();
if (proxy != null) {
delegateBuilder.proxy(proxy);
}
PushClient pushClient = Feign.builder()
.client(new OkHttpClient(delegateBuilder.build()))
.client(client)
.requestInterceptor(new BasicAuthRequestInterceptor(appKey, masterSecret))
.encoder(new ApiEncoder())
.decoder(new ApiDecoder())
Expand Down
18 changes: 7 additions & 11 deletions jiguang-sdk/src/main/java/cn/jiguang/sdk/api/ReportApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
import cn.jiguang.sdk.codec.ApiDecoder;
import cn.jiguang.sdk.codec.ApiEncoder;
import cn.jiguang.sdk.codec.ApiErrorDecoder;
import feign.Client;
import feign.Feign;
import feign.Logger;
import feign.auth.BasicAuthRequestInterceptor;
import feign.okhttp.OkHttpClient;
import feign.slf4j.Slf4jLogger;
import lombok.NonNull;

import java.net.Proxy;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -43,19 +43,19 @@ public UserDetailGetResult getUserDetail(@NonNull LocalDate startDate, @NonNull

public static class Builder {

private Client client = new OkHttpClient();
private String host = "https://report.jpush.cn";
private Proxy proxy;
private String appKey;
private String masterSecret;
private Logger.Level loggerLevel = Logger.Level.BASIC;

public Builder setHost(@NonNull String host) {
this.host = host;
public Builder setClient(@NonNull Client client) {
this.client = client;
return this;
}

public Builder setProxy(@NonNull Proxy proxy) {
this.proxy = proxy;
public Builder setHost(@NonNull String host) {
this.host = host;
return this;
}

Expand All @@ -75,12 +75,8 @@ public Builder setLoggerLevel(@NonNull Logger.Level loggerLevel) {
}

public ReportApi build() {
okhttp3.OkHttpClient.Builder delegateBuilder = new okhttp3.OkHttpClient().newBuilder();
if (proxy != null) {
delegateBuilder.proxy(proxy);
}
ReportClient reportClient = Feign.builder()
.client(new OkHttpClient(delegateBuilder.build()))
.client(client)
.requestInterceptor(new BasicAuthRequestInterceptor(appKey, masterSecret))
.encoder(new ApiEncoder())
.decoder(new ApiDecoder())
Expand Down
Loading

0 comments on commit 5ce0f99

Please sign in to comment.