【问题标题】:firebase dynamic link with react-navigation带有反应导航的firebase动态链接
【发布时间】:2018-05-14 10:40:21
【问题描述】:

我已关注此文档https://rnfirebase.io/docs/v4.1.x/links/android 并能够运行adb shell am start -W -a android.intent.action.VIEW -d "https://abc123.app.goo.gl" com.myapp.superapp 来启动应用程序。

如何打开动态链接https://abc123.app.goo.gl它打开VideoScreen并传递contentparam

Video:{
  screen : VideoScreen,
  path:'wvc/:contentparam',
}

所以我在点击https://abc123.app.goo.gl(动态链接)时尝试了这个:

componentDidMount () {
    Linking.getInitialURL().then((url) => {
      console.log('Initial url is: ' + url);
    }).catch(err => console.error('An error occurred', err));
}

但是应用程序打开但console.log 给定null

【问题讨论】:

  • 你在使用react-navigation吗?
  • @bennygenel 是,但 react-navigation 深层链接无法在浏览器中打开
  • 如果你想使用来自react-navigationpath 属性,你需要结合来自firebase 的链接和来自react-navigation 的深度链接。另一种方法是收听手动导航用户的link events
  • 你的意思是Linking.getInitialURL()https://abc123.app.goo.gl,如果链接是动态链接,那么做点什么?
  • @bennygenel 嗨,我试试你的建议Linking,问题已更新

标签: android firebase react-native firebase-dynamic-links react-native-firebase


【解决方案1】:

由于某种原因,firebase.links().onLink((url) 在 RNFB v6 中不起作用。 这是一位 RNFB 维护者对这个错误的评论 https://github.com/invertase/react-native-firebase/issues/3008

应使用 react native Link 作为临时解决方法: https://facebook.github.io/react-native/docs/0.47/linking

这是一个你可以使用的例子:

  useEffect(() => {
    Linking.getInitialURL()
      .then(url => {
        if (url) {
          console.log('Initial url is: ' + group);
        }
      })
      .catch(err => console.error('An error occurred', err));
  }, []);

【讨论】:

    【解决方案2】:

    您必须收听 Firebase 链接

    componentDidMount() {
      const unsubscribe = firebase.links().onLink((url) => {
        console.log('dynamic links', url)
        // do navigate with url above
        // you have to handle your self
      });
    }
    
    componentWillUnmount() {
      unsubscribe()
    }

    文档:https://rnfirebase.io/docs/v5.x.x/links/reference/links#onLink

    【讨论】:

      猜你喜欢
      • 2012-06-25
      • 1970-01-01
      • 2020-11-30
      • 2020-11-14
      • 1970-01-01
      • 2010-10-08
      • 2020-06-10
      • 2021-02-27
      • 2021-01-26
      相关资源
      最近更新 更多