【问题标题】:How to show React Native Push Notification when app is closed如何在应用程序关闭时显示 React Native Push Notification
【发布时间】:2021-07-05 18:11:36
【问题描述】:

我正在使用 React Native Push Notification(本地通知)[https://github.com/zo0r/react-native-push-notification]。

显示通知的逻辑如下。

我在 react-native 中使用了“onSnapshot”函数来检查 firestore 数据是否被更改。

如果更改,我会在应用中显示本地通知。

...
const ref = firestore().collection('players');
return ref.onSnapshot(querySnapshot => {
    querySnapshot.forEach(doc => {
        ....
        // called push notification
        PushNotification.localNotification({
            channelId,
            title,
            message,
            bigText,
        });
    });
});
...

当应用程序在前台或后台时,它运行良好。 (Android 和 iOS)

我想要的是在应用关闭时显示此推送通知。

我看到了一些博客,但直到现在我都找不到解决方案。

感谢任何帮助。

谢谢。

【问题讨论】:

  • 当应用程序关闭时,您的数据库监听器将不再监听。 Android 和 iOS 完全关闭用户不可见的应用程序进程。这可以为最终用户节省电池和数据。
  • 嗨@DougStevenson,感谢您的回复。我刚刚测试了推送通知,所以当应用程序关闭时它运行良好。问题是火库。当应用程序关闭时,您是否知道 Firestore 状态?
  • 正如我所说,当应用关闭时,您的听众将不再收听。
  • 所以我将在应用程序处于活动或关闭状态时检测 Firestore 状态,如果数据发生更改,那么我将显示通知。这就是我的目的。

标签: android ios react-native google-cloud-firestore react-native-push-notification


【解决方案1】:

即使您的应用关闭,您也可以使用 Firebase 云消息传递。但是,如果有人更改数据,因此应用程序在关闭后终止所有活动是不可能的。因此,您需要使用 Headless js 在后台调用您的任务。但为了应用程序的效率,您可以考虑 react-native-backgound-fetch。然后在后台调用你的任务。

你可以这样做:

步骤 1- 安装 https://www.npmjs.com/package/react-native-background-fetch
第 2 步 - 创建无头 js
第 3 步 - 将您的任务初始化到其中(如上包中的文档所示)

【讨论】:

  • 嗨@Alesha。抱歉迟了回应。我解决了我的问题。应用程序终止时我无法连接到数据库,所以我使用了 fcm。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-04
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多