首页 > 解决方案 > Firebase 云消息传递本地化参数错误

问题描述

我提供以下有效载荷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”不是字符串。我也尝试指定一个字符串,但这也不起作用......

知道问题可能是什么吗?

谢谢

标签: iosfirebasefirebase-cloud-messaging

解决方案


我不确定正在使用哪个版本的 Admin SDK,但如果代码是最新的,那么只能title进入body对象notification。其他值在payload键下。这是指南中的一个示例是 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,我建议更新。


推荐阅读