2014-04-04 41 views
10

我将发布Facebook和Twitter链接,将其链接到我的应用程序中。我已经开始使用Facebook进行测试,并且只要安装了Facebook应用,我的链接就能正常工作。如果他们没有安装Facebook应用程序,他们就会被带到我的网站。Deep Link Fallback

如果用户没有安装Facebook应用程序或更一般地点击我的应用程序的链接,并且我总是希望它们发送到我的应用程序,那么处理回退的最佳做法是什么?

回答

4

伟大的问题。而不是共享直接导致您的应用程序的深层链接,您应该在您的网站上使用Javascript中的后备代码托管一个页面。该页面可以直接打开应用程序或返回到App Store(而不是您的网站)。

下面是您需要在服务器上托管并在Facebook上链接的页面的具体示例。它也适用于电子邮件,社交媒体等。只需将替换为您应用的URI您应用的App Store链接即可。请注意,iframe适用于更多浏览器。

<!DOCTYPE html> 
<html> 
    <body> 
     <script type="text/javascript"> 
      window.onload = function() { 
       // Deep link to your app goes here 
       document.getElementById("l").src = "my_app://"; 

       setTimeout(function() { 
        // Link to the App Store should go here -- only fires if deep link fails     
        window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8"; 
       }, 500); 
      }; 
     </script> 
     <iframe id="l" width="1" height="1" style="visibility:hidden"></iframe> 
    </body> 
</html> 

因此,如果用户安装了您的应用程序,与URI链接将成功,用户将离开浏览器脚本之前重定向到App Store可以被触发。如果用户没有您的应用程序,则重定向会成功(出现简短的错误消息后)。

披露:我是Branch Metrics的开发人员,上面的代码是我们解决此问题的一部分。