首页 > 解决方案 > Firebase:FCM:Android/iOS 可折叠和不可折叠通知的有效负载语法

问题描述

我正在努力寻找正确的语法和特定的有效负载键,以在 iOS 上实现可折叠和不可折叠通知,在 Android 上实现不可调用通知。我已经在 Android 上进行了可折叠的工作,所以我知道我正在朝着正确的方向前进。

我在我的 Node.js 云函数文件中使用 admin.messaging().send(payload) 函数。

我的可折叠有效负载示例:

{
  notification: {
    title: `${userName}`,
    body: `${message.msg}`
  },
  data: {
    click_action: "FLUTTER_NOTIFICATION_CLICK",
    v_type: 'chatMsg',
    v_uid: uid,
    v_cid: cid,
  },
  android: {
    collapse_key: cid,
  },
  apns: {
    headers: {
      'apns-collapse-id': cid,
    }
  },
  token: tokenDoc.data().notificationToken,
}

对于不可折叠的消息,我使用“apns-id”键而不是“apns-collapse-id”。我不确定 android 的等价物是什么。Firebase 上的文档涵盖了这些键,但没有示例说明有效负载结构的外观。

Firebase 文档指出消息默认情况下是不可折叠的,但设备如何知道何时替换与相同信息相关的现有通知?我假设我必须为设备设置一个 id 才能知道覆盖现有通知。

标签: firebase-cloud-messaging

解决方案


推荐阅读