【问题标题】:How do you replace previous notifications sent using Cloud Functions? And how do you prevent getting certain notifications?如何替换以前使用 Cloud Functions 发送的通知?以及如何防止收到某些通知?
【发布时间】:2017-03-21 01:05:49
【问题描述】:

我使用 Firebase 来存储通知所需的内容,并使用 Google Cloud Functions 来发送通知。当用户决定访问应用程序时,他们会订阅该事件,以便他们可以接收聊天通知。

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

我的第二个问题是用户订阅了一个事件,但是因为有时接收通知会有一点延迟,如果他们在通知发送之前退出应用程序,他们可以得到自己的消息通知。如何防止这种情况发生?

【问题讨论】:

    标签: android firebase google-cloud-functions


    【解决方案1】:

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

    待定意图标志

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

    更多关于标志Please visit this link

    【讨论】:

      【解决方案2】:

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

      原来“collapseKey”是在设备处于非活动状态时使用的。您可以在手机运行时使用“标签”来替换旧通知。

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

      对于第二部分,我刚刚切换到 sendToDevice 而不是 sendToTopic。我不知道您可以一次将其发送到多个设备,哈哈。请注意,注册令牌数组不允许为空。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        • 2017-11-16
        • 1970-01-01
        • 1970-01-01
        • 2017-10-08
        • 2012-11-25
        • 2020-09-03
        相关资源
        最近更新 更多