Expo链接回App

问题描述 投票:0回答:1

我一直在使用Expo开发一个本机应用程序,我目前正在尝试实现的功能是在任何平台上与朋友分享链接,当他们点击此链接时,它将启动我的应用程序。

经过在线广泛的研究 - 我来到一个拦截器,跟随expo's documentation我为我的应用程序定义了一个方案 - 当我按分享一切正常时,一条消息被创建,我能够共享内容,但只能作为字符串。

我正在使用react-native共享库来共享应用程序,我正在使用Expo为我提供链接。

理想情况下,我的第一个目标是在我进一步探索为链接添加更多功能之前,使用Expo Link打开应用程序。

Share.share({
    message: "Click Here to View More! " + Expo.Linking.makeUrl() ,
    url: Expo.Linking.makeUrl(),
    title: 'Sufiyaan has invited you to join this activity',
  })
  .then((result) =>{
    console.log(result)
      if(result === 'dismissedAction'){
        return
      }
  })
  .catch((error) => console.log(error))

在我的应用程序的根目录中,我还定义了事件处理程序:App.js

handleOpenURL(event) {
  if (event.url && event.url.indexOf(scheme + '://') === 0) {
      crossroads.parse(event.url.slice(scheme.length + 3));
  }
}

componentDidMount() {
  let scheme = 'nxet'
  Expo.Linking.getInitialURL()
    .then(url => {
      console.log("App.js getInitialURL Triggered")
      // this.handleOpenURL({ url });
    })
    .catch(error => console.error(error));
  Linking.addEventListener('url', this.handleOpenURL);
}

componentWillUnmount() {
  Linking.removeEventListener('url', this.handleOpenURL);
}

当我分享Whatsapp,Facebook Messenger甚至只是消息或备注的链接时,它显示为myapplink://,我尝试将其输入浏览器而不是要求我打开我的应用程序 - 它会进行谷歌搜索。

请注意我在Android设备上尝试此操作。

有什么我做错了吗?

任何帮助深表感谢。谢谢。

javascript react-native deep-linking expo
1个回答
0
投票

根据这个:https://docs.expo.io/versions/v28.0.0/workflow/linking#__next

你需要提供一个链接到你自己的网站,然后重定向到你的应用程序的slug://链接,以便gmail和其他Android应用程序工作。

© www.soinside.com 2019 - 2024. All rights reserved.