如何在应用程序关闭时显示 React Native 推送通知

时间:2021-07-05 18:11:36

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

我正在使用 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)

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

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

感谢任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

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

您可以这样做:

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