实现Java Spring Boot FCM推送教程

简介: 详细介绍实现Java Spring Boot FCM推送教程

流程图

image.png


image.png

详细步骤

1. 创建Spring Boot项目

首先,你需要创建一个Spring Boot项目,可以使用Maven或Gradle构建工具。


2. 添加Firebase依赖

在项目的pom.xml中添加Firebase相关依赖:


<dependency>

   <groupId>com.google.firebase</groupId>

   <artifactId>firebase-admin</artifactId>

   <version>7.3.0</version>

</dependency>


3. 获取Firebase服务账户密钥

在Firebase控制台中创建一个新的项目,并下载服务账户密钥JSON文件。


4. 配置application.properties

在application.properties中添加Firebase服务账户密钥的路径:


firebase.credential.path=PATH_TO_JSON_FILE


5. 编写推送服务类


创建一个推送服务类,其中包括初始化Firebase应用和发送推送消息的方法:


@Service

public class FcmService {

 

   @Value("${firebase.credential.path}")

   private String credentialPath;

   @PostConstruct

   public void initializeApp() throws IOException {

       FileInputStream serviceAccount = new FileInputStream(credentialPath);

       FirebaseOptions options = new FirebaseOptions.Builder()

           .setCredentials(GoogleCredentials.fromStream(serviceAccount))

           .build();

       FirebaseApp.initializeApp(options);

   }

   public void sendMessage(String token, String title, String body) {

       Message message = Message.builder()

           .setToken(token)

           .setNotification(Notification.builder()

               .setTitle(title)

               .setBody(body)

               .build())

           .build();

       String response = FirebaseMessaging.getInstance().send(message);

       System.out.println("Successfully sent message: " + response);

   }

}

-----------------------------------

6. 发送推送消息

在需要发送推送消息的地方调用sendMessage方法:


@Autowired

private FcmService fcmService;

public void sendPushNotification() {

   String token = "DEVICE_TOKEN";

   String title = "Title";

   String body = "Body";

   fcmService.sendMessage(token, title, body);

}

-----------------------------------


序列图


image.png


通过以上步骤和示例代码,你可以成功实现Java Spring Boot FCM推送功能。如果有任何疑问,欢迎随时询问。祝你编码顺利!


























相关文章
|
8天前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
7天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
7天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
7天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
9天前
|
监控 前端开发 Java
Java SpringBoot –性能分析与调优
Java SpringBoot –性能分析与调优
|
11天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
16天前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。
42 2
|
3天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
7 0
|
14天前
|
缓存 Java 程序员
Java|SpringBoot 项目开发时,让 FreeMarker 文件编辑后自动更新
在开发过程中,FreeMarker 文件编辑后,每次都需要重启应用才能看到效果,效率非常低下。通过一些配置后,可以让它们免重启自动更新。
22 0
|
10天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
下一篇
无影云桌面