如何替换以前使用云功能发送的通知?而且你如何阻止获得某些通知?

时间:2017-03-21 01:05:50

标签: android firebase google-cloud-functions

我正在使用Firebase存储通知所需的内容,以及Google Cloud Functions来发送通知。当用户决定转到某个应用时,他们会订阅该活动,以便他们可以收到聊天通知。

我的第一个问题是他们正在为每条消息收到单独的通知,我想这会在群聊中变得非常烦人。我尝试使用collapseKey,但我认为我使用它错误或误解其目的。它是否无效,因为通知已经发送?无论哪种方式,我该如何解决这个问题?

我的第二个问题是用户订阅了某个活动,但由于接收通知有时会有一点延迟,如果他们在发送通知之前退出应用,他们就会收到自己的消息通知。我该如何防止这种情况?

2 个答案:

答案 0 :(得分:2)

对于你的第一个问题, 使用

  

待定意图标记

PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0 /* Request code */, intent,
            PendingIntent.FLAG_UPDATE_CURRENT);

有关标志Please visit this link

的更多信息

答案 1 :(得分:1)

我无法弄清楚PendingIntent解决方案,但这对我有用。

结果'collapseKey'用于设备处于非活动状态。您可以在手机运行时使用“标记”来替换旧通知。

const payload = {
    notification:{
      title: eventName,
      body: message,
      tag: 'chat',
      sound: 'default'
    },
  };

对于第二部分,我刚刚结束切换到sendToDevice而不是sendToTopic。我不知道你一次可以把它发送给多个设备大声笑。只需注意,注册令牌数组不允许为空。