Firebase FCM content_available通过Firebase云计算功能引发错误

时间:2017-05-07 04:00:26

标签: firebase firebase-cloud-messaging google-cloud-functions

我一直在尝试通过云功能发送推送通知。 这是有关如何从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,它也有效。

谢谢!

1 个答案:

答案 0 :(得分:6)

contentAvailablesendToDevice(regToken, payload, options)options参数中传递。示例代码位于this documentation中。 MessagingOptions is here的文档。