You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby应用集成Firebase SDK及FCM推送遇阻,无相关集成文档

Ruby 集成 Firebase Cloud Messaging 发送推送通知方案

一、依赖安装

Ruby 官方没有专门的 Firebase SDK,推荐使用社区维护的 firebase-admin gem,这是目前最稳定的方案:

  • 执行安装命令:gem install firebase-admin
  • 或者在 Gemfile 中添加:gem 'firebase-admin',然后运行 bundle install

二、初始化配置

  1. 从 Firebase 控制台下载服务账号密钥文件(JSON 格式),保存到项目目录(比如命名为 firebase-service-account.json)
  2. 初始化客户端:
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 01:45:31