实现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推送功能。如果有任何疑问,欢迎随时询问。祝你编码顺利!


























相关文章
|
13天前
|
消息中间件 Java 数据库
自研Java框架 Sunrays-Framework使用教程「博客之星」
### Sunrays-Framework:助力高效开发的Java微服务框架 **Sunrays-Framework** 是一款基于 Spring Boot 构建的高效微服务开发框架,深度融合了 Spring Cloud 生态中的核心技术组件。它旨在简化数据访问、缓存管理、消息队列、文件存储等常见开发任务,帮助开发者快速构建高质量的企业级应用。 #### 核心功能 - **MyBatis-Plus**:简化数据访问层开发,提供强大的 CRUD 操作和分页功能。 - **Redis**:实现高性能缓存和分布式锁,提升系统响应速度。 - **RabbitMQ**:可靠的消息队列支持,适用于异步
自研Java框架 Sunrays-Framework使用教程「博客之星」
|
3天前
|
存储 NoSQL Java
使用Java和Spring Data构建数据访问层
本文介绍了如何使用 Java 和 Spring Data 构建数据访问层的完整过程。通过创建实体类、存储库接口、服务类和控制器类,实现了对数据库的基本操作。这种方法不仅简化了数据访问层的开发,还提高了代码的可维护性和可读性。通过合理使用 Spring Data 提供的功能,可以大幅提升开发效率。
47 21
|
23天前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
82 33
|
11天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
27 6
|
15天前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
33 5
|
15天前
|
Java 数据库连接 数据处理
探究Java异常处理【保姆级教程】
Java 异常处理是确保程序稳健运行的关键机制。它通过捕获和处理运行时错误,避免程序崩溃。Java 的异常体系以 `Throwable` 为基础,分为 `Error` 和 `Exception`。前者表示严重错误,后者可细分为受检和非受检异常。常见的异常处理方式包括 `try-catch-finally`、`throws` 和 `throw` 关键字。此外,还可以自定义异常类以满足特定需求。最佳实践包括捕获具体异常、合理使用 `finally` 块和谨慎抛出异常。掌握这些技巧能显著提升程序的健壮性和可靠性。
35 4
|
15天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
30 2
|
15天前
|
监控 Java API
【潜意识Java】使用SpringBoot构建高效的RESTfulAPI
本文介绍了使用Spring Boot构建RESTful API的完整流程,涵盖从项目创建到API测试的各个步骤。
37 1
|
15天前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
39 1
|
15天前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
23 0