我一直在尝试通过云功能发送推送通知。 这是有关如何从Firebase执行此操作的指南: documentation
这是我有效的负载
const payload = {
"notification": {
title: 'Title!',
body: 'Body!',
sound: 'default'
},
"data":{"score":"3x1"},
"content_available": true,
};
现在,这会引发错误,当我检查日志时,这是错误:
Error: Messaging payload contains an invalid "content_available" property. Valid properties are "data" and "notification".
at FirebaseMessagingError.Error (native)
at FirebaseMessagingError.FirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:25:28)
at new FirebaseMessagingError (/user_code/node_modules/firebase-admin/lib/utils/error.js:130:23)
at /user_code/node_modules/firebase-admin/lib/messaging/messaging.js:465:23
at Array.forEach (native)
at Messaging.validateMessagingPayload (/user_code/node_modules/firebase-admin/lib/messaging/messaging.js:462:21)
at /user_code/node_modules/firebase-admin/lib/messaging/messaging.js:204:37
at process._tickDomainCallback (internal/process/next_tick.js:129:7)
如果我删除content_available:true,它可以正常工作,所以我知道代码可以工作。
我还尝试使用CURL / POST请求手动发送此内容与content_available:true,它也有效。
谢谢!
答案 0 :(得分:6)
contentAvailable
在sendToDevice(regToken, payload, options)的options
参数中传递。示例代码位于this documentation中。 MessagingOptions is here的文档。