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

相关文章
|
2天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2
|
15天前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
13天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
13天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
13天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
15天前
|
监控 前端开发 Java
Java SpringBoot –性能分析与调优
Java SpringBoot –性能分析与调优
|
17天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
9天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
19 0
|
21天前
|
缓存 Java 程序员
Java|SpringBoot 项目开发时,让 FreeMarker 文件编辑后自动更新
在开发过程中,FreeMarker 文件编辑后,每次都需要重启应用才能看到效果,效率非常低下。通过一些配置后,可以让它们免重启自动更新。
23 0
|
安全 Java 程序员
4月7日云栖精选夜读:给 Java 学习者的超全教程整理
作为Java程序员的我们,应该不仅对这门语言有所了解,而且我们在平常编程时也需要使用众多的库。比如小编知道的,如果要学习Java Web的话,SSH(Spring, Struts和Hibernate)肯定得会吧,或者至少了解基本的原理吧。
2760 0