首页 > 解决方案 > 单击通知时导航到特定屏幕 - React Native

问题描述

我在我的 React Native 应用程序中使用 react-native-firebase 库来实现 FCM 功能。我遵循了他们网站https://rnfirebase.io/docs/v4.2.x/installation/initial-setup上提供的初始指南。我还为 Android 设置了云消息传递和通知模块。通知正确到达设备。但是,问题是单击通知时我无法路由到特定屏幕。我正在使用 react-navigation 库进行导航。我实际上对 React native 很陌生,所以我不知道如何为这个功能编写代码。任何帮助表示赞赏。最主要的是我很困惑我应该在哪里编写导航代码。此外,即使应用程序关闭并单击通知,我也希望它能够工作。

标签: reactjsreact-nativefirebase-cloud-messaginghybrid-mobile-app

解决方案


如何在 react-navigation 中设置深度链接:https ://reactnavigation.org/docs/en/deep-linking.html

如何设置通知以触发深层链接:

handleNotification (notification) {
    const { data } = notification;
    const prefix = Platform.OS === 'android' 
                     ? 'myapp://myapp/'
                     : 'myapp://'
    const url = `${prefix}${data.path}/${data.id}`;

    if (notification.data.path) {
        Linking.openURL(url).catch(err => console.error(err));
        firebase.messaging().setBadgeNumber(0);
    }
  }

推荐阅读