【问题标题】:Firebase Cloud Messaging Localization Arguments ErrorFirebase 云消息传递本地化参数错误
【发布时间】:2018-06-29 14:50:42
【问题描述】:

我正在向admin.messaging().sendToDevice(fcmToken, message);提供以下有效负载

var message = {
    notification: {
      title_loc_key: "NOTIFICATION_TITLE",
      body_loc_key: "NOTIFICATION_BODY",
      body_loc_args: ["Body Arg"],
      sound: 'default'
    }
};

但是这会产生以下错误:

Messaging payload contains an invalid value for the "notification.body_loc_args" property. Values must be strings.

我不明白“Body Arg”如何不是字符串。我也尝试指定一个字符串,但这也没有用...

知道可能是什么问题吗?

谢谢

【问题讨论】:

    标签: ios firebase firebase-cloud-messaging


    【解决方案1】:

    我不确定正在使用哪个版本的 Admin SDK,但如果代码是最新的,那么只有 titlebody 进入 notification 对象。其他值位于payload 键下。 Here's an example 在指南中。 Here 是 API 参考。您的消息变量应该看起来像这样:

    var message = {
      apns: {
        payload: {
          aps: {
            alert: {
              title_loc_key: "NOTIFICATION_TITLE",
              body_loc_key: "NOTIFICATION_BODY",
              body_loc_args: ["Body Arg"],
              sound: 'default'
            }
          }
        }
      }
    };
    

    如果代码没有使用最新版本的 Admin SDK,我建议更新。

    【讨论】:

    • 我收到的消息负载包含无效的“apns”属性。有效属性是“数据”和“通知”。将它包装在通知中也不起作用。我在云功能中使用最新的 admin sdk
    • 您应该使用send,而不是sendToDevice 来使用FCM v1。设备令牌应该在函数的主体中,如我链接的指南中所示。
    • 没问题!很高兴你发布了这个,因为它确实帮助我在文档中找到了一个错误 :)
    猜你喜欢
    • 2020-01-03
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    相关资源
    最近更新 更多