最近,React Native 发布了Headless JS在后台运行 javascript。 如果实现了,我们可以在后台处理通知。
我面临的问题是...
如果javascript层在后台被杀死,我无法在后台收到通知。 我认为,Headless js 会解决这个问题。
嗨@sriraman。 我相信你的意思是当应用程序被杀死时你无法让received
事件工作,但你仍然可以在本机端收到通知。 我肯定会研究Headless JS
选项,看看我们是否可以更好地处理它。
谢谢!
这可能通过content-available
通知来实现,但是我担心电池寿命和内存压力,这会在每次收到通知时启动 javascript 运行时。 content-available
通知也有许多限制,例如在强制退出(刷掉应用程序)或后台应用程序刷新被用户禁用后无法工作。
从 iOS 10 开始,正确可靠的处理方法是使用UNNotificationServiceExtension
。 然而,这作为一个独立的进程运行,iOS 对这种目标有非常严格的 5MB RAM 限制,因此无法在此处运行 javascript。
@sriraman的目标是在用户稍后再次打开您的应用程序时检索您的应用程序中未打开的通知吗?
谢谢。
@jkasten2是的.. 我只想在用户打开应用程序时检索未打开的通知。
@avishayil对此有任何更新吗?
@sriraman @michaelduminy至于启动应用程序作为无头 JS 在后台处理通知,由于我上面描述的限制/可靠,这不是正确的方向。
但是,我们计划提供 iOS SDK 的一个功能部分来存储通知,并允许在您的应用重新打开后查询它们。 这是需要在基础原生 SDK 中实现的东西,然后是这个。 不幸的是,我对此没有 eta。
今天可以存储通知,但是下面提到了两个不同的选项。
https://documentation.onesignal.com/docs/create-an-activity-feed
最有用的评论
嗨@sriraman。 我相信你的意思是当应用程序被杀死时你无法让
received
事件工作,但你仍然可以在本机端收到通知。 我肯定会研究Headless JS
选项,看看我们是否可以更好地处理它。谢谢!