【问题标题】:Android : What priority is a mixed FCM messageAndroid:混合FCM消息的优先级是什么
【发布时间】:2019-12-02 09:03:53
【问题描述】:

默认情况下,Android 警报通知消息具有“高”优先级。 默认情况下,仅 Android 数据通知消息的优先级为“低”。

什么是警报通知的优先级,它携带数据(使用内容可用)。

我们需要高优先级的通知,但是,当我们的应用程序在后台并且通知到达时,标题/正文似乎被操作系统使用。这意味着当用户从通知托盘中选择通知时,提供的 Intent 中缺少此信息。

因此,我们有义务将这些(标题/正文)字段作为数据传递给每个高优先级警报通知。

这样做会影响消息的优先级吗?如果确实会影响它,解决方法是什么?

另外,有没有办法发现接收到的消息实际使用的优先级?

【问题讨论】:

  • 发现接收到的消息实际使用的优先级的方法是检查与 Intent 一起传递的“google.original_priority”和“google.delivered_priority”键值对。

标签: android firebase notifications


【解决方案1】:

在发件人方面,您可以根据自己决定的优先级发送混合消息。没有影响。 不同之处在于,当消息包含data 时,您会在 FCMService 中获得回调,因此您的应用会唤醒。 如果没有data 部分,您的应用将不会在用户点击通知之前唤醒。

一般来说,这是唯一重要的问题:您想在消息到达时唤醒还是仅在用户点击通知时唤醒?

如果您的消息包含data,则操作系统不会发布通知。这部分由你决定。 我们只使用数据消息,因为我们希望对通知有更多的控制权,并且我们需要在它到达时唤醒。

【讨论】:

  • 感谢您的回复。我感兴趣的是发送带有通知的数据是否会影响交付速度(无论是前台还是后台)。在后台,我们希望用户尽快收到传入通知的提醒,因此生成音频提醒的通知的传递速度对我们也很重要。
  • 我们在 Voip 应用程序中使用 FCM 来推送来电,这是高度时间关键的。只需发送高优先级,它几乎立即就在那里。几百毫秒是正常的延迟。
  • 打盹模式(即维护窗口)是否会影响您的仅数据消息?
  • 没有。仅数据总是到达,只要: - 应用程序允许后台数据,应用程序的电池优化被禁用并且必须启用无限数据。这是所有推送应用程序推荐的内容 - 从 whatsapp 到 skype 到...命名任何消息传递客户端...但是用户必须在手机的设置中启用此功能 - 应用程序没有办法自动设置。这是一个必须由用户完成的设置
猜你喜欢
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
  • 2022-08-18
  • 2015-02-11
  • 2014-10-11
  • 1970-01-01
  • 2012-05-31
  • 2019-01-19
相关资源
最近更新 更多