在设备离线时响应本机应用程序发送推送通知

Posted

技术标签:

【中文标题】在设备离线时响应本机应用程序发送推送通知【英文标题】:React native app sending push notification while device is offline 【发布时间】:2021-08-19 13:11:11 【问题描述】:

我即将开发一个类似于生日提醒的应用程序,我计划使用 firebase 推送通知,但我的第二个问题是我的选择是用户离线时是否能够收到生日通知(不是整个生日那天都连接到互联网)。我知道 firebase 有一些离线持久性支持,但我不确定这是否包括推送通知支持。是否有任何选项可以使用 firebase 或任何其他与 react native 兼容的工具来实现这一目标?

【问题讨论】:

【参考方案1】:

如果设备未连接到互联网,则无法通过 Firebase 云消息传递或其他互联网协议向其传递消息。

处理这种情况的常用方法是当用户确实有互联网连接时传递消息到设备,然后只显示 在适当的时候这样做。通过 FCM 发送 data-only message,您的应用程序代码可以准确控制消息数据发生的情况。

【讨论】:

在设备连接时发送消息并在合适的时间显示它们可能是一个选项,我刚刚调查了本地推送通知,我想知道我是否能够安排 N 个本地推送通知一年后,这可能吗? 我认为不涉及调度。在 android 上,您需要运行后台服务来执行此操作,我假设 ios 也有类似的东西。【参考方案2】:

基本上有两种类型的通知:应用程序消息和云消息。两者均由 Firebase 提供:In App Messaging 和 FCM(Firebase Cloud Messaging)。

您提供的有关您的应用的详细信息有点模糊,但如果您要求推送通知,那么 FCM 就可以完成这项工作。当应用程序处于后台或被终止(退出)时,FCM 将发送通知。当您说设备离线时,我假设您的意思是当用户不使用手机时。是的,通知还是会来的。

https://firebase.google.com/docs/cloud-messaging

【讨论】:

抱歉,我同意信息不够,我更新了我的问题 - 我的意思是如果用户在整个生日那天都没有连接到互联网。

以上是关于在设备离线时响应本机应用程序发送推送通知的主要内容,如果未能解决你的问题,请参考以下文章

设备离线时,apns 丢弃了旧的推送通知

用户离线时Openfire发送推送通知

网络推送。获取离线时发送的网络推送?

SendBird 只推送一个通知 - android

当用户在 quickblox 的 ios 中离线时获取消息

我如何从 laravel api 推送通知以响应本机应用程序?