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

使用firebase-admin SDK给iOS发推送时image字段被改为image_url如何解决

问题原因

Firebase Admin SDK 对 apns.fcmOptions 下的内置字段有固定的映射逻辑,其中image字段会被自动转换为image_url写入最终下发到APNs的 payload 中,该行为是SDK内置的预设规则,无法通过配置直接阻止转换。

解决方案

  • 方案1(推荐):将自定义image字段直接放到apns.payload层级,和aps字段平级即可,该位置的自定义字段不会被FCM SDK修改键名,修改后的配置示例如下:
var admin = require("firebase-admin");
var serviceAccount = require("./firebase-adminSDK.json");
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
});
 
const notif = {
    data: {
        title : "hello",
        body:"hello",
    },
    notification : {
        title : "title to iOS",
        body:"Message to iOS",
    },
    apns: {
        payload: {
            aps: {
                mutableContent: 1
            },
            // 自定义image字段放在该层级,不会被重命名
            image: "https://example.com/image.png"
        },
        // 移除fcmOptions中的image配置
        fcmOptions: {}
    },
    tokens: [],
};


//looped over some list and pushed fcm tokens on to `tokens` array


await messaging.sendMulticast(notif)

iOS端的通知服务扩展(Notification Service Extension)可以直接从 payload 顶层读取image字段获取图片地址,完全符合需求。

  • 方案2:无需修改服务端代码,直接调整iOS端兼容逻辑,读取image_url字段即可实现相同效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:36:04