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

旧版Firebase Cloud Messaging (FCM) API即将停用,该如何应对?

旧版FCM API停用后的替代方案思路
  • 采用FCM HTTP v1 API:这是官方指定的核心替代方案,相比旧版支持更多扩展功能(如批量发送、自定义消息字段),需通过OAuth 2.0完成身份认证。基础请求示例如下:

    POST https://fcm.googleapis.com/v1/projects/[PROJECT_ID]/messages:send HTTP/1.1
    Authorization: Bearer [ACCESS_TOKEN]
    Content-Type: application/json
    
    {
      "message": {
        "token": "DEVICE_REGISTRATION_TOKEN",
        "notification": {
          "title": "测试通知",
          "body": "这是一条测试消息"
        }
      }
    }
    

    核心步骤是先通过服务账号密钥生成有效访问令牌,再构造符合格式的请求体。

  • 使用Firebase Admin SDK:若服务端基于Node.js、Java、Python等主流语言开发,直接集成Admin SDK可大幅降低迁移成本——它封装了HTTP v1 API的底层细节,自动处理认证、请求构造等流程。以Node.js为例:

    const admin = require('firebase-admin');
    const serviceAccount = require('./service-account-key.json');
    
    admin.initializeApp({
      credential: admin.credential.cert(serviceAccount)
    });
    
    const message = {
      token: 'DEVICE_REGISTRATION_TOKEN',
      notification: {
        title: '测试通知',
        body: '这是一条测试消息'
      }
    };
    
    admin.messaging().send(message)
      .then((response) => {
        console.log('消息发送成功:', response);
      })
      .catch((error) => {
        console.log('消息发送失败:', error);
      });
    
  • 批量推送场景适配:如果之前依赖旧版API做批量消息发送,HTTP v1 API支持通过批量请求接口处理,或使用Admin SDK的sendAll/sendMulticast方法,一次提交多条消息,效率与旧版持平甚至更高。

  • 客户端兼容性确认:多数情况下客户端无需大幅修改,只要服务端发送的消息结构符合v1 API规范(比如自定义数据仍放在data字段下),原有接收逻辑即可正常工作。若客户端曾依赖旧版API的特殊字段,需对照v1文档调整解析逻辑。

内容的提问来源于stack exchange,提问作者Sagar Zala

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:13:10