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

相关文章
|
25天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
64 2
|
3天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
52 26
|
12天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
28 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
10天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
10天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
7天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
17天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
25 2
|
9天前
|
Java 数据库连接 编译器
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
27 0
|
22天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
10 0
|
23天前
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
41 0