【问题标题】:How to redirect to the app store from a deep link if the app is not installed?如果未安装应用程序,如何从深层链接重定向到应用程序商店?
【发布时间】:2019-05-04 22:53:59
【问题描述】:

我希望用户能够通过 Facebook 等分享链接(例如 app.com/SKFLA - 这主要是因为他们自己的深层链接不可点击)。点击后,这会重定向到深层链接应用程序://SKFLA。如果安装了应用程序,这将打开应用程序 - 到目前为止一切正常。但是如果没有安装该应用程序,我想在相关页面上打开应用程序商店。这是可以实现的吗?谢谢!

【问题讨论】:

    标签: android ios react-native mobile deep-linking


    【解决方案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 浏览器与应用商店之间的桥接。

    这样一来,两件案子都会顺利处理

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        不确定本机行为。 我们使用了第三方服务,如https://branch.io/deepviews/。 有很多类似的服务。

        【讨论】:

          猜你喜欢
          • 2019-06-18
          • 2020-06-23
          • 2019-10-15
          • 1970-01-01
          • 1970-01-01
          • 2012-11-11
          • 2021-08-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多