reactjs - 关闭应用程序后如何在React Native中实现推送通知

标签 reactjs react-native push-notification

我现在正在研究React Native,并且试图弄清如何像Facebook一样在关闭应用程序时也可以接收推送通知。

我是一名网络开发人员,所以我不习惯移动应用程序的“清单”逻辑。我应该从哪里开始?
谢谢!

最佳答案

似乎您是网络开发人员,所以您对移动应用尚不熟悉。实际上,设置推送通知将需要更多的官方步骤(在iOS和Android上有所不同),并且在完成所有设置后,推送通知将在Apple服务器(或Google服务器)和智能手机的操作系统(iOS或Android)之间发生,因此无论如何推送通知都会到手机上(不知道/不关心您的应用是打开还是关闭的^^)

在应用程序的编程代码中,我们可以根据两种情况来执行通知时的逻辑处理:用户正在使用应用程序或应用程序未运行(未运行表示用户未在使用您的应用程序,或者处于唤醒状态)背景或用户已完全退出背景-例如,在iPhone上按两次“主页”按钮,然后将应用刷掉)

实际上,如果您希望您的应用程序在后台保持清醒状态,则可以向类似于“清单”的文件中添加一些设置(在iOS和Android中当然有所不同)。但是,我的经验告诉我,保持应用程序清醒状态会鼓励用户投诉并删除我们的应用程序(我以前的应用程序的用户曾经抱怨说自己的iPhone的电池因为我的应用程序而消耗了很多电量^^)

如果您确实想让应用程序保持唤醒状态,则可以在设置中进行设置,然后在推送通知的数据中添加额外的参数,最后在接收应用程序中的推送通知的功能中,可以执行任何操作那些参数!

简而言之,您可能只需要为您的应用正确配置推送通知,而Apple / Google会完成剩下的工作,无论您的应用是在后台运行还是完全关闭,它都会收到通知。希望您能根据我的解释找到一个好的解决方案。如果仍然不清楚,请随时在此处发布有关您需求的更多详细信息,谢谢!

这是我在以前的本机项目中使用的库:(它们那里也有教程^^)

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

附加说明:(基于作者的需求):


目标是:用户将在该应用程序中注册/登录,并将订阅一些将来的事件。


=>每当用户打开应用程序时,数据都会发送到Apple / Google服务器以获得令牌,您将使用此令牌以及用户的订阅数据将所有令牌发送到您自己的推送服务器(您可以使用PHP或node。 js服务器或其他)


事件更新时,会发出通知。应该发送给将要参加该活动的所有用户。这样的通知。仅针对某些用户。


=>就像上面的答案一样,每次用户打开应用程序(或更改设置,您都可以按照应用程序的逻辑进行操作)时,就会发送数据,因为数据将保存在自己的推送服务器中,这意味着在该服务器上,您可以甚至可以查看用户列表,并且可以针对特定用户-这取决于从智能手机向用户发送哪些数据,但是用户可能会拒绝输入太多信息,例如姓名,年龄或电子邮件,但这取决于您的服务需要^^)


通过单击它,该应用程序将打开,并显示该应用程序的某个页面(已存在)。


=>默认情况下,当一个通知。单击后,将确保打开该应用程序。在这里,您可以再次在通知中添加其他参数(这是您所需的目标网页,然后在应用程序的功能中,只需转到此处即可-但它可能会得到更多逻辑。此外,何时推送通知以及应推送哪些数据等将由您自己的服务器控制)


似乎最复杂的部分将是“发送给某些用户”之一!


=>我已经解释了这一点,但是您是对的,实际上这很复杂,因为您需要根据自己的需要创建带有大量API和逻辑的服务器,并且还需要执行一些步骤(复杂的步骤是因为您需要向Apple和Google注册许多东西,然后将其证书添加到您自己的服务器中,等等)

希望您能实现它,我建议您在游戏中真正了解一下推送通知的工作方式(对于双方-您自己的服务器和应用程序)-祝您好运,尽管^^

关于reactjs - 关闭应用程序后如何在React Native中实现推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43858247/

相关文章:

ios - Flutter/FCM 通知未到达 Codemagic iOS 版本

android - FCM接收消息问题

javascript - react : Rendering a syntax highlighted code block

android - 在 Windows 中获取 React Native IOS .ipa 文件

android - React-native 应用程序中的业务逻辑在哪里?

javascript - 如何在 react-hook-form 中仅输入数字

android - ActivityManager.getRunningTasks 已弃用 android

javascript - 命名空间未标记为仅类型声明 - Babel/Typescript

javascript - React.js 表单输入 onChange 与 getDerivedStateFromProps 有问题

javascript - Flow - 对象可能为空,但在构造函数中明确定义