Ruby应用集成Firebase SDK及FCM推送遇阻,无相关集成文档
Ruby 集成 Firebase Cloud Messaging 发送推送通知方案
一、依赖安装
Ruby 官方没有专门的 Firebase SDK,推荐使用社区维护的 firebase-admin gem,这是目前最稳定的方案:
- 执行安装命令:
gem install firebase-admin - 或者在 Gemfile 中添加:
gem 'firebase-admin',然后运行bundle install
二、初始化配置
- 从 Firebase 控制台下载服务账号密钥文件(JSON 格式),保存到项目目录(比如命名为
firebase-service-account.json) - 初始化客户端:
require "firebase_admin" # 初始化应用 FirebaseAdmin::App.initialize_app( credential: FirebaseAdmin::Credentials.from_file("firebase-service-account.json") ) # 获取 FCM 客户端 fcm = FirebaseAdmin::Messaging.messaging
三、发送推送通知示例
1. 发送到单个设备
message = { token: "设备的 FCM 令牌", notification: { title: "通知标题", body: "通知内容" }, data: { custom_key: "自定义数据" } } response = fcm.send(message) puts "推送成功,消息 ID:#{response.message_id}"
2. 发送到多个设备
message = { tokens: ["设备令牌1", "设备令牌2"], notification: { title: "批量通知标题", body: "批量通知内容" } } response = fcm.send_multicast(message) puts "成功发送 #{response.success_count} 条,失败 #{response.failure_count} 条"
四、常见问题排查
- 密钥文件路径错误:确保初始化时的文件路径是项目内的正确相对路径或绝对路径
- 设备令牌无效:检查令牌是否是从客户端正确获取的有效 FCM 令牌
- 权限问题:确认服务账号拥有
Cloud Messaging Admin权限,在 Firebase 控制台的 IAM 页面配置
内容的提问来源于stack exchange,提问作者Aftab Iqbal
相关产品推荐
相关产品推荐

