当前位置: 首页 > 知识库问答 >
问题:

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

冯奇思
2023-03-14

我正在使用React Native推送通知(本地通知)[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个答案

邹海超
2023-03-14

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

以下是你可以做到的:

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

 类似资料:
  • 我想用Xamarin格式的C#创建一个基于文本的Android游戏。 在故事中,我想设置角色任务,这需要一些时间,例如“我去挖这个洞,完成后给你打电话。” 如何将通知设置为在设置的时间之后显示?例如,上述声明可能需要10分钟,然后用户收到继续游戏的通知? 我一周前才开始做C#,所以如果这是noobish,或者已经被问到了,我道歉。我到处都找过,但有几种类型的通知,当我试图理解它时,似乎我在读法语。

  • 我的应用程序有推送通知(FCM)。当应用程序在前台运行时,我可以在onMessageReceived()函数中获取数据负载。当应用程序在后台运行或应用程序完全关闭时,不会调用onMessageReceived()函数。我的问题是,当app在后台或关闭时,是否可能获得数据有效载荷? 提前道谢!

  • 我有两个装置。一个是运行API26,另一个是API21。我正在使用Googles firebase进行通知。API26设备不会收到推送通知,除非我先打开应用程序。然后它接收一切都很好。我不需要首先打开应用程序来接收API27设备上的推送通知。有什么想法,如何总是收到推送,即使没有打开应用程序?我希望通知到达用户只需打开他们的电话。

  • Firebase push在某些设备上不起作用,当应用程序关闭时只有数据负载。请参阅以下线程:https://github.com/firebase/quickstart-android/issues/41 我知道当应用程序被swipe杀死时,一些OEM会杀死应用程序的所有服务,这些服务直接影响FirebbaseMessagingService并且由于这个onMessageReceived()方法

  • 仅当应用程序关闭时,数据有效负载的使用不会收到任何通知,并且不会触发消息接收方法。 在下图中显示数据负载,单击此处查看参数 回复是点击这里查看回复 响应成功1,但在redmi手机中未收到任何通知。

  • 如果应用程序关闭,我将如何使其发送通知?我正在制作一个从web服务器读取数据的应用程序,只有当该应用程序关闭且web服务器上的值更改时,我才需要向用户发送通知。