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

时间:2017-05-08 22:30:51

标签: reactjs react-native push-notification

我正在研究React Native,我正试图弄清楚即使应用程序关闭时如何启用推送通知的接收,就像Facebook一样。

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

1 个答案:

答案 0 :(得分:5)

似乎既然您是网络开发人员,移动应用程序还不熟悉您。实际上,设置推送通知需要更多官方步骤(在iOS和Android上有所不同),设置完所有后,Apple服务器(或Google服务器)和智能手机操作系统(iOS或Android)之间会发生推送通知,所以推送通知将会出现在手机上(不知道/关心你的应用是打开还是关闭^^)

在我们的应用程序的编程代码中,我们可以在基于2种情况发出通知时执行逻辑:用户正在使用应用应用未运行(没有运行意味着用户没有使用你的应用程序,它要么在后台保持清醒,要么用户已完全退出 - 例如在iPhone上按Home键两次,然后轻扫应用程序)

实际上,如果您希望自己的应用在后台保持清醒,可以在“类似清单”的文件中添加一些设置(当然在iOS和Android上也是如此)。然而,我的经验教会我保持应用程序清醒将鼓励用户抱怨和删除我们的应用程序(我以前的应用程序的用户曾经抱怨他的iPhone的电池被大量消耗因为我的应用程序^^)< / p>

如果你真的想保持你的应用程序醒来,你可以在设置中设置它,然后在推送通知的数据中,你可以包含额外的参数,最后在你的应用程序中接收推送通知的功能,你可以对这些参数做任何事情!

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

这是我在以前的本地反应项目中使用的库:(他们也有教程^^)

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

添加说明(根据作者的需要):

  • 目标是:用户将在应用中注册/登录,并将订阅一些未来的活动。

=&GT;每当用户打开应用程序时,数据将被发送到Apple / Google服务器以获取令牌,您将使用此令牌和用户的订阅数据将所有内容发送到您自己的推送服务器(您可以使用PHP或node.js服务器或其他)

  • 当事件更新时,通知。应该发送给所有参加该活动的用户。所以一个通知。仅针对某些用户。

=&GT;与上述答案一样,每次用户打开应用程序时都会发送数据(或更改设置,您可以在应用程序的逻辑中执行此操作,因为数据将保留您自己的推送服务器,这意味着在该服务器上,您甚至可以看到用户列表,并且可以针对特定用户 - 这取决于将从智能手机发送给用户的数据,但用户可能拒绝输入太多信息,如姓名,年龄或电子邮件,但它是满足您的服务需求^^)

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

=&GT;默认情况下,当一个通知。单击,应用程序将打开肯定,再次,您可以在通知中添加额外的参数(这是您需要的登录页面,然后在您的应用程序的功能,只是去那里 - 但它可能会得到额外的对此进行逻辑。此外,何时推送通知以及应推送哪些数据等将由您自己的服务器控制

  • 似乎最复杂的部分是“向某些用户发送”一个!

=&GT;我已经解释过了,但你是对的,实际上它很复杂,因为你需要根据你的需要创建具有大量API和逻辑的你自己的服务器,并且需要更多的步骤(复杂的)一,因为您需要向Apple&amp; Google注册许多内容,然后将其证书添加到您自己的服务器等。)

希望你能实现它,我建议你一起玩,真正了解推送通知的工作原理(双方 - 你自己的服务器和你的应用程序) - 祝你好运,虽然^^