我將發佈Facebook和Twitter鏈接,將其鏈接到我的應用程序中。我已經開始使用Facebook進行測試,並且只要安裝了Facebook應用,我的鏈接就能正常工作。如果他們沒有安裝Facebook應用程序,他們就會被帶到我的網站。Deep Link Fallback
如果用戶沒有安裝Facebook應用程序或更一般地點擊我的應用程序的鏈接,並且我總是希望它們發送到我的應用程序,那麼處理回退的最佳做法是什麼?
我將發佈Facebook和Twitter鏈接,將其鏈接到我的應用程序中。我已經開始使用Facebook進行測試,並且只要安裝了Facebook應用,我的鏈接就能正常工作。如果他們沒有安裝Facebook應用程序,他們就會被帶到我的網站。Deep Link Fallback
如果用戶沒有安裝Facebook應用程序或更一般地點擊我的應用程序的鏈接,並且我總是希望它們發送到我的應用程序,那麼處理回退的最佳做法是什麼?
偉大的問題。而不是共享直接導致您的應用程序的深層鏈接,您應該在您的網站上使用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的開發人員,上面的代碼是我們解決此問題的一部分。