如果应用程序未安装,如何通过深链接重定向到应用商店?

9
我希望用户能够通过 Facebook 等分享链接(例如 app.com/SKFLA - 这主要是因为单独的深层链接不能被点击)。当用户点击该链接时,将会重定向到一个深层链接 app://SKFLA。如果应用已安装,则应用将会打开 - 目前一切都很好。但如果应用未安装,则我想打开相应页面的应用商店。这可行吗?谢谢!
3个回答

7

1

1
如果有人还陷在这个问题中,需要最简单的解决方案,您会喜欢node-deeplink。
1.) 如果应用已安装:通过深度链接调用应用程序将始终调用根组件的componentDidMount。因此,您可以在那里附加监听器。例如:
Linking.getInitialURL()
      .then(url => {
        if (url) {
          this.handleOpenURL({ url });
        }
      })
      .catch(console.error);

    Linking.addEventListener('url', this.handleOpenURL);



handleOpenURL(event) {
    if (event) {
      console.log('event = ', event);
      const url = event.url;
      const route = url.replace(/.*?:\/\//g, '');
      console.log('route = ', route);
      if(route.match(/\/([^\/]+)\/?$/)) {
        const id = route.match(/\/([^\/]+)\/?$/)[1];
        const routeName = route.split('/')[0];

        if (routeName === 'privatealbum') {
          Actions.privateAlbum({ albumId: id });
        }
      }
    }
  }

2.) 如果应用程序未安装:只需在您的服务器上设置一个路由,node-deeplink包将处理从Web浏览器到应用商店的桥接,当应用程序未安装在您的移动设备上时。

这样,两种情况都可以轻松处理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接