实现Java Spring Boot FCM推送教程

简介: 本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。

流程图
详细步骤

  1. 创建Spring Boot项目
    首先,你需要创建一个Spring Boot项目,可以使用Maven或Gradle构建工具。
  2. 添加Firebase依赖
    在项目的pom.xml中添加Firebase相关依赖:
    com.google.firebase
    firebase-admin
    7.3.0
  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);
    

    }
    }


  1. 发送推送消息
    在需要发送推送消息的地方调用sendMessage方法:
    @Autowired
    private FcmService fcmService;
    public void sendPushNotification() {
    String token = "DEVICE_TOKEN";
    String title = "Title";
    String body = "Body";
    fcmService.sendMessage(token, title, body);
    }

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

相关文章
|
28天前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
1月前
|
Oracle Java 关系型数据库
Java 简单教程
Java是跨平台、面向对象的编程语言,广泛用于企业开发、Android应用等。本教程涵盖环境搭建、基础语法、流程控制、面向对象、集合与异常处理,助你快速入门并编写简单程序,为进一步深入学习打下坚实基础。
262 0
|
1月前
|
消息中间件 缓存 Java
Spring框架优化:提高Java应用的性能与适应性
以上方法均旨在综合考虑Java Spring 应该程序设计原则, 数据库交互, 编码实践和系统架构布局等多角度因素, 旨在达到高效稳定运转目标同时也易于未来扩展.
110 8
|
2月前
|
安全 Java
Java之泛型使用教程
Java之泛型使用教程
210 10
|
2月前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
1205 58
|
2月前
|
监控 Java 数据库
从零学 Dropwizard:手把手搭轻量 Java 微服务,告别 Spring 臃肿
Dropwizard 整合 Jetty、Jersey 等成熟组件,开箱即用,无需复杂配置。轻量高效,启动快,资源占用少,内置监控、健康检查与安全防护,搭配 Docker 部署便捷,是构建生产级 Java 微服务的极简利器。
235 2
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
478 5
|
3月前
|
Java 关系型数据库 数据库
Java 项目实战教程从基础到进阶实战案例分析详解
本文介绍了多个Java项目实战案例,涵盖企业级管理系统、电商平台、在线书店及新手小项目,结合Spring Boot、Spring Cloud、MyBatis等主流技术,通过实际应用场景帮助开发者掌握Java项目开发的核心技能,适合从基础到进阶的学习与实践。
405 3
|
3月前
|
前端开发 Java 开发者
Java新手指南:在Spring MVC中使用查询字符串与参数
通过结合实际的需求和业务逻辑,开发者可以灵活地利用这些机制,为用户提供更丰富而高效的Web应用体验。
129 15
|
3月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
595 0