触发少数高优先级通知后的 Firebase 推送通知延迟

and*_*ash 5 android push-notification firebase firebase-cloud-messaging

我使用 Firebase 高优先级推送通知在 Android 设备中触发恐慌警报。对于最初的几次推送尝试,推送通知会立即到达并且效果很好。但是当我在一定时间后不断触发推送通知时,延迟会不断增加。

我希望它立即触发,因为它是恐慌情况。

我还遵循了以下文档

高优先级:FCM 尝试立即传递高优先级消息,允许 FCM 服务在必要时唤醒睡眠设备并运行一些有限的处理(包括非常有限的网络访问)。高优先级消息通常会导致用户与您的应用或其通知进行交互。如果 FCM 检测到他们没有检测到的模式,您的消息可能会被取消优先级。Android P 引入了应用待机存储桶,它限制了您可以发送到应用的 FCM 高优先级消息的数量,这些消息不会导致用户使用您的应用或查看通知。如果在响应高优先级消息时以用户可见的方式显示通知,则该消息将不会消耗您的应用备用存储桶配额。

由于一小部分 Android 移动用户使用高延迟网络,因此请避免在显示通知之前打开与服务器的连接。在允许的处理时间结束之前回调服务器可能对高延迟网络上的用户有风险。相反,将通知内容包含在 FCM 消息中并立即显示。如果您需要在 Android 上同步其他应用内内容,您可以安排 FJD 作业或 JobIntentService 在后台处理。

如何确保尽快触发高优先级消息?在所有情况下都可能在一分钟内。

and*_*ash 3

FCM 尝试立即传递高优先级消息,允许 FCM 服务在必要时唤醒睡眠设备并运行一些有限的处理(包括非常有限的网络访问)。高优先级消息通常应该导致用户与您的应用程序或其通知进行交互。如果 FCM 检测到某种模式(例如测试模式),那么您的消息可能会被取消优先级。Android P 引入了应用程序待机存储桶,它限制了您可以发送到应用程序的 FCM 高优先级消息的数量,这些消息不会导致用户使用您的应用程序或查看通知。如果为了响应高优先级消息,以用户可见的方式显示通知,则该消息不会消耗您的应用程序待机存储桶配额。

  • 那么像 WhatsApp 这样的即时消息应用程序如何处理它,因为每条发给朋友的消息似乎都是高优先级的(我猜你不想错过你女朋友的消息) (3认同)