React-Native:使用推送通知来唤醒后台任务

React-Native: Use Push Notification to wake a background task

本文关键字:通知 唤醒 后台任务 React-Native      更新时间:2023-09-26

据我所知,推送通知可以在react native中使用,即使在应用程序关闭时也是如此。是否有可能使用推送通知在react native中运行后台任务?

例如,当推送通知发送到设备时,它会运行一个函数从服务器获取数据并更新数据库。

https://github.com/zo0r/react-native-push-notification

推送通知和数据通知处理部分可以使用react-native-firebase轻松完成(我建议使用react-native-firebase而不是react-native-push-notification,因为它有广泛的社区支持,并且支持更多的firebase服务)

这里展示了如何在iOS后台获取数据;在android上也可以做同样的事情。

有用链接:

  • https://rnfirebase.io/messaging/usage
  • https://www.npmjs.com/package/react-native-background-task

请查看react-native-push-notification#silent

Android:

如果你的Android应用程序没有运行时,收到一个静音通知,那么这个库将启动它。它将在后台启动,但是,如果操作系统以这种方式启动应用程序,它将不会启动react-native生命周期。这意味着,如果您的通知交付代码依赖于react-native生命周期,那么在这种情况下它将不会被调用。你需要以推送通知的方式构建应用。Configure被调用是仅仅导入根index.android.js文件的副作用。

iOS:

iOS静音通知的关键是"content-available":1字段的存在