public class FcmInitialization {
@Value("${fcm.proxy.enable:false}")
private boolean enable;
@Value("${fcm.proxy.host}")
private String host;
@Value("${fcm.proxy.port}")
private String port;
@PostConstruct
public void init() {
// 读取配置文件
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("application_default_credentials.json");
FirebaseOptions.Builder optionsBuilder = FirebaseOptions.builder();
try {
if (enable) {
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, Integer.parseInt(port)));
NetHttpTransport httpTransport = new NetHttpTransport.Builder().setProxy(proxy).build();
optionsBuilder.setHttpTransport(httpTransport)
.setCredentials(GoogleCredentials.fromStream(resourceAsStream, () -> httpTransport));
} else {
optionsBuilder.setCredentials(GoogleCredentials.fromStream(resourceAsStream));
}
FirebaseApp.initializeApp(optionsBuilder.build());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
Google Fcm使用代理初始化sdk
最新推荐文章于 2023-10-11 08:57:35 发布