Firebase FCM - 为啥会收到:有效负载错误,无效的“android”(或“apns”)属性

     2023-02-23     153

关键词:

【中文标题】Firebase FCM - 为啥会收到:有效负载错误,无效的“android”(或“apns”)属性【英文标题】:Firebase FCM - Why am I getting: payload error, invalid 'android' (or 'apns') propertyFirebase FCM - 为什么会收到:有效负载错误,无效的“android”(或“apns”)属性 【发布时间】:2019-03-26 09:30:14 【问题描述】:

我正在使用云功能 (node.js) 向设备发送通知。我的有效载荷设置如下:

const payload = 
    notification: 
        title: payloadSender,
        body: payloadMessage,
    ,
    data: 
        chatId: chatId,
    ,
    android: 
        priority: 'normal',
        collapse_key: chatId,
        //todo how to set badge?
        notification: 
          sound: 'messageSent.wav',  
        ,
    ,
    apns: 
        headers: 
            'apns-priority': '5',
            'apns-collapse-id': chatId,
        ,
        payload: 
            aps: 
                badge: newUnreads,
                sound: 'messageSent.wav',
                'content-available': 1,
            
        

    
;

根据 Firebase 文档,您可以将“android”和“apns”字段用于设备特定行为。以下是 FCM 发送的消息的 JSON 表示 found here:


 "name": string,
 "data": 
   string: string,
   ...
,
"notification": 
  object(Notification)
,
"android": 
  object(AndroidConfig)
,
"webpush": 
  object(WebpushConfig)
,
"apns": 
  object(ApnsConfig)
,

// Union field target can be only one of the following:
"token": string,
"topic": string,
"condition": string
// End of list of possible types for union field target.

为什么我收到错误 Messaging payload contains an invalid "android" property. Valid properties are "data" and "notification".Messaging payload contains an invalid "apns" property. Valid properties are "data" and "notification".

【问题讨论】:

您找到解决方案了吗?我也有同样的困难。 【参考方案1】:

根据您的帖子,我无法判断您使用的是哪个版本,但请注意,平台覆盖功能仅适用于 v1,旧版。

另外,我不确定您是否刚刚从示例负载中删除了一些项目,但其中有很多不必要的逗号 (,) 会破坏 JSON。尝试使用在线 JSON 格式化程序来仔细检查您的有效负载。我在你的上面试了一个,在消除所有错误后得到了这个结果:


    "notification": 
        "title": "payloadSender",
        "body": "payloadMessage"
    ,
    "data": 
        "chatId": "chatId"
    ,
    "android": 
        "priority": "normal",
        "collapse_key": "chatId",
        //todo how to set badge? IIRC, Badges can be enabled via method inside the Android Notification builder
        "notification": 
          "sound": "messageSent.wav"
        
    ,
    "apns": 
        "headers": 
            "apns-priority": "5",
            "apns-collapse-id": "chatId"
        ,
        "payload": 
            "aps": 
                "badge": "newUnreads",
                "sound": "messageSent.wav",
                "content-available": 1 // Double check this one if you are to actually use content-available or content_available for FCM
            
        

    

只需根据需要再次切换变量即可。

【讨论】:

刚刚使用了关于 JSON 的副本.. Messaging payload contains an invalid "android" property. Valid properties are "data" and "notification @Rajamohan 平台覆盖仅适用于 v1。我认为您正在使用旧版。 @AL。您能否分享一下我如何使用 V1?

为啥调用firebase函数时会出现FCM错误

】为啥调用firebase函数时会出现FCM错误【英文标题】:WhydoesanFCMerrorappearwhencallingafirebasefunction为什么调用firebase函数时会出现FCM错误【发布时间】:2020-08-2118:35:10【问题描述】:所以我像这样通过AngularFire调用firebase函数:constrespo... 查看详情

向 FCM API 发送请求时收到无效的 JSON 有效负载

】向FCMAPI发送请求时收到无效的JSON有效负载【英文标题】:InvalidJSONpayloadreceivedwhensendingrequesttoFCMAPI【发布时间】:2020-03-3004:37:27【问题描述】:我正在通过我的PHP应用程序向FCM发送请求,但它返回以下错误:"code":400,"message":"Inv... 查看详情

Firebase 云消息传递 - 发布消息说 JSON 有效负载无效

】Firebase云消息传递-发布消息说JSON有效负载无效【英文标题】:FirebaseCloudMessaging-PostingMessageSaysInvalidJSONPayload【发布时间】:2019-06-1200:18:25【问题描述】:所以我使用jQueryAjax发布使用我必须从某人的node.js应用程序获取的不记名... 查看详情

如何使用 FCM 向 iOS 发送通知?

...布时间】:2020-11-0303:28:23【问题描述】:我正在尝试使用firebase云功能向设备发送通知。我当前的代码仅适用于android设备。我的理解是您的有效负载对于iOS设备必须是特殊的,但我正在尝试使用sendToDevice函数,该函数似乎只能接... 查看详情

在收到 Firebase 通知时打开应用 (FCM)

】在收到Firebase通知时打开应用(FCM)【英文标题】:Openapponfirebasenotificationreceived(FCM)【发布时间】:2016-09-2923:20:05【问题描述】:我想在收到通知时自动打开应用程序,这可以通过Firebase和新的FCM通知实现吗?我知道我可以设置cli... 查看详情

如何使用 Firebase Cloud Messaging 发送图像并使用数据有效负载发出通知

】如何使用FirebaseCloudMessaging发送图像并使用数据有效负载发出通知【英文标题】:HowtosendanimageusingFirebaseCloudMessagingwithnotificationusingdatapayload【发布时间】:2019-03-1911:09:14【问题描述】:我正在为我的项目使用FCM,并在用户离线... 查看详情

通过 FCM 的 iOS 严重警报

...发送到iOS设备。【问题讨论】:看起来现在完全支持了。firebase.google.com/docs/cloud-messaging/ 查看详情

FCM - 为啥在较新的 Firebase Admin SDK 中不再支持 FCM 直接通道?

】FCM-为啥在较新的FirebaseAdminSDK中不再支持FCM直接通道?【英文标题】:FCM-whynolongersupportFCMdirectchannelinnewerFirebaseAdminSDK?FCM-为什么在较新的FirebaseAdminSDK中不再支持FCM直接通道?【发布时间】:2020-04-2811:27:09【问题描述】:我正在... 查看详情

为啥不获取 Android Firebase FCM 注册令牌?

】为啥不获取AndroidFirebaseFCM注册令牌?【英文标题】:WhynotgettingAndroidFirebaseFCMregistrationtoken?为什么不获取AndroidFirebaseFCM注册令牌?【发布时间】:2017-03-0314:32:54【问题描述】:我正在尝试从我的应用服务器向我的应用发送推送... 查看详情

客户端未收到主题服务器端的 FCM 通知

...216:52:15【问题描述】:我尝试了一个示例代码来测试带有Firebase的推送通知系统,它运行良好,除了一件事。如果我尝试使用设备令牌从Firebase控制台发送通知,通知会显示在设备中。如果我尝试使用我的主题topik从Firebase控制台 查看详情

Firebase 通知无法使用 FCM 服务正常工作

】Firebase通知无法使用FCM服务正常工作【英文标题】:FirebasenotificationnotworkingproperlyusingFCMservice【发布时间】:2018-10-3010:52:45【问题描述】:有时FCM发送消息,有时会在设备上发生或从未收到延迟。如果FCM不可靠,请建议推送通... 查看详情

从 android 中的 FCM 获取自定义有效负载

】从android中的FCM获取自定义有效负载【英文标题】:GetcustompayloadfromFCMinandroid【发布时间】:2016-11-1406:47:24【问题描述】:我必须从FCM推送通知中阅读下面提到的键。"from_id":"","data":"sender_id":"15","receiver_id":"42","sender_name":"Addy","ale... 查看详情

Swift如何在系统启动之前更改从firebase(FCM)收到的通知标题和正文?

】Swift如何在系统启动之前更改从firebase(FCM)收到的通知标题和正文?【英文标题】:SwiftHowtochangethenotificationtitleandbodyreceivedfromfirebase(FCM)beforefireitupbythesystem?【发布时间】:2019-07-3110:54:23【问题描述】:如何在系统启动之前更... 查看详情

从 Firebase 获取数据时,来自 Redux Toolkit 的 createAsyncThunk 会产生未定义的有效负载

】从Firebase获取数据时,来自ReduxToolkit的createAsyncThunk会产生未定义的有效负载【英文标题】:createAsyncThunkfromReduxToolkityieldsundefinedpayloadwhenfetchingdatafromFirebase【发布时间】:2020-10-0303:01:19【问题描述】:我使用ReduxToolkit中的createAs... 查看详情

Android 没有收到来自 Firebase 的带有 FCM 注册令牌的推送通知

】Android没有收到来自Firebase的带有FCM注册令牌的推送通知【英文标题】:AndroidnotreceivingpushnotificationsfromFirebasewithFCMregistrationtoken【发布时间】:2017-02-2621:41:05【问题描述】:我有在Android应用收到推送通知时显示推送通知的代码... 查看详情

如果指定了多个类型和有效负载选项,为啥 Redux Promise 会返回未解决的承诺?

】如果指定了多个类型和有效负载选项,为啥ReduxPromise会返回未解决的承诺?【英文标题】:WhydoesReduxPromisereturnunresolvedpromiseifmorethantypeandpayloadoptionsarespecified?如果指定了多个类型和有效负载选项,为什么ReduxPromise会返回未解决... 查看详情

如何修复应用休眠 1 分钟后未收到 Firebase FCM 的通知

】如何修复应用休眠1分钟后未收到FirebaseFCM的通知【英文标题】:HowtofixnotificationFirebaseFCMnotrecievedafterappsleeping1min【发布时间】:2021-12-1200:49:04【问题描述】:我的应用程序约会有问题,我使用功能云Firebase发送通知,但在1分钟... 查看详情

如何在 iOS 上显示使用 firebase-cpp-sdk 收到的 FCM“数据”消息?

】如何在iOS上显示使用firebase-cpp-sdk收到的FCM“数据”消息?【英文标题】:HowtodisplayFCM\'data\'messagereceivedusingfirebase-cpp-sdkoniOS?【发布时间】:2020-06-0320:26:08【问题描述】:当我的应用程序处于后台或被终止时,我需要显示通知。... 查看详情