2014-04-04 68 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的開發人員,上面的代碼是我們解決此問題的一部分。