我正在使用react-native-firebase和消息来通过 Cloud 功能向我的应用程序发送通知,使用admin.messaging() . send(message),非常类似于此处:https://medium.com/the-modern-development-stack/react-native-push-notifications-with-firebase-cloud-functions-74b832d45386 .
我在应用程序处于后台时收到通知 . 现在我正在通知正文中发送一个文本,例如“新地点已添加到 Map 中” . 我希望能够添加某种深层链接,这样当我在通知上滑动View时(例如在iOS上),它会将我带到应用程序内的特定屏幕 . 如何将通知中的数据传递给应用程序?
我在应用程序中使用react-native-navigation . 我只能在应用程序内找到有关深层链接的代码(https://wix.github.io/react-native-navigation/#/deep-links?id=deep-links) .
3 回答
我认为您不需要使用深层链接或动态链接,只需正确使用Firebase / Notifications . 如果我是你,我会在你父容器的
componentDidMount
方法中添加以下逻辑:你可以在这里找到文件:https://rnfirebase.io/docs/v4.3.x/notifications/receiving-notifications
我认为你对“firebase通知的工作方式”很好......因此,这里只是对Logic如何深入链接到你的应用程序的描述 .
如果您发送通知,请添加数据字段 . 假设你的应用程序有一个Tab-Navigator和“新闻”,“服务”和“评论”部分 . 在推送通知 - 数据字段中(让我们将其命名为“jumpToScreen”,您可以定义您的值:
我假设你仍然有处理来接收来自Firebase的通知 . 因此,创建一个/lib/MessageHandler.js类并将您的业务逻辑放入其中 .
在index.js中,您可以像这样连接它:
我希望这能为您提供一个如何根据您的需求实现它的想法 .
我的解决方案是使用在通知消息对象的数据对象中添加我需要的信息:
在functions / index.js中:
并在导航应用程序中处理如下: