2015-02-23 92 views
8

我想爲我的應用程序創建促銷鏈接 - 我可以通過電子郵件分發這些鏈接。當用戶單擊電子郵件中的鏈接上,網頁做到這一點:爲移動應用程序創建深層鏈接

  1. 確定其OS(iOS或Android)
  2. 如果安裝在設備上的應用程序 - 啓動應用
  3. 否則 - 將用戶帶到AppStore(或)PlayStore(或)一個自定義URL。

我嘗試使用AppLinks(applinks.org) - 但我無法讓它工作。瀏覽器如何理解「al:xx:xxx ..」標籤?它只適用於facebook/twitter嗎?

<html> 
    <head> 
     <meta property="al:ios:url" content="applinks://docs" /> 
     <meta property="al:ios:app_store_id" content="12345" /> 
     <meta property="al:ios:app_name" content="App Links" /> 
     <meta property="al:android:url" content="applinks://docs" /> 
     <meta property="al:android:app_name" content="App Links" /> 
     <meta property="al:android:package" content="org.applinks" /> 
     <meta property="al:web:url" content="http://applinks.org/documentation" /> 
    </head> 

我也嘗試從另一個後一些JavaScript - 但如果不安裝該應用程序的瀏覽器顯示錯誤:

<script> 
    window.onload = function() { 
     window.location = 'http://www.launchMyApp'; 

     setTimeout("window.location = 'http://play.google.com/someApp';", 1000); 
    } 
</script> 

請這方面的幫助。 謝謝。

+0

由於Safari和Chrome不支持它,App Links並不能解決您的問題。此外,雖然有一些JS解決方案,但沒有一個是理想的,因爲它們都會有一些怪癖。 – 2015-02-24 21:43:06

+0

我也有同樣的問題,是否有任何可能的解決辦法做沒有腳本thiis,任何示例將不勝感激 – 2015-06-18 05:15:30

+0

Javascript重定向當然有潛在的怪癖!我在一家公司工作(hokolinks.com),我們做了一個更復雜的腳本,但它仍然失敗了一些瘋狂的Android手機。谷歌和蘋果都宣佈了一個無縫的解決方案(無需JS),使用服務器上的文件輕鬆集成。檢查適用於Android的iOS和App Link的通用鏈接(是,同名)。 – 2015-06-22 22:59:27

回答

3
al:xx:xx:xx 

什麼他們給你的是一個URI(見This SO post for the differences between URIs, URNs, and URLs。當安裝了您的應用程序就可以註冊自己一定URL的方案作出迴應。這裏是鏈接到一首歌曲爲例Spotify的URI。

spotify:track:0FutrWIUM5Mg3434asiwkp 

如果您的設備上安裝了Spotify(包括桌面),您可以點擊this link,它應該自動打開Spotify應用程序,應用程序響應是因爲它已將自己註冊爲該類型URL的響應者。該URI被應用程序用來執行一些特定的動作。在這種情況下,Spotify將URI識別爲一個li nk到具有特定曲目標識符的歌曲,並打開相應的屏幕。

您的應用可以註冊自己以響應特定的URL方案,並且如果用戶點擊了安裝該應用的鏈接,它會直接打開您的應用。缺點是,如果應用程序未安裝,操作系統將無法理解URL方案,並引發錯誤。

我認爲你正在尋找的解決方案將是一個簡單的HTTP鏈接到您的網站上託管的頁面(腳本)。你可以在參數傳遞,就像你一個正常的鏈接

http://www.myapp.org/?user=123&source=email. 

你的頁面將採用一些服務器端JavaScript,將嘗試打開多數民衆贊成由您的應用程序指定的URL的方案 - 以類似您已發佈什麼以上。如果失敗,則會根據HTTP User-Agent標頭中的瀏覽器信息將用戶重定向到相應的應用商店。您可能需要一些其他Javascript來抑制警報。

+0

謝謝你的迴應。我正在尋找更完整的解決方案,因爲App Links文檔指的是您提供的相同實現。 – 2015-06-23 05:05:25

+0

當你說完整的解決方案時,你的意思是你想要這個工作所需的所有代碼?我不認爲你會在這裏找到。 – 2015-06-23 14:06:07

+0

不是真的..我不是在尋找完整的代碼,我相信沒有人會在這裏得到這樣的。我的意思是你所建議的已經實施。即IOS方案已經創建並在瀏覽器中直接輸入URI時打開應用程序..但是我無法從網頁上做同樣的事情。我想說的是你的解決方案已經發布並沒有完全解決這個難題。 – 2015-06-23 18:12:51

1

我正在爲Facebook做這件事,發現以下是由他們的系統產生的,當你have them host the app links page for you

<html> 
<head><title>App Link</title> 
    <meta property="fb:app_id" content="XXXXXXXXXXXXXXX"/> 
    <meta property="al:ios:url" content="example://test"/> 
    <meta property="al:ios:app_name" content="Example App"/> 
    <meta property="al:ios:app_store_id" content="XXXXXXXXX"/> 
    <meta property="al:android:package" content="com.example.client"/> 
    <meta property="al:android:app_name" content="Example App"/> 
    <meta property="al:android:url" content="example://test"/> 
    <meta property="al:web:should_fallback" content="false"/> 
    <meta http-equiv="refresh" content="0;url=http://play.google.com/store/apps/details?id=com.example.client"/> 
</head> 
<body>Redirecting...</body> 
</html> 

您可以,做重定向沒有任何JavaScript和支持所有主流瀏覽器底部看到http-equiv元標記。

4

這現在可以在iOS 9中使用。Apple今年在WWDC 2015上宣佈了Universal深度鏈接。您可能需要觀看視頻 - Seamless Linking to Your App

它現在可以:

  1. 檢查安裝的應用程序,並打開在iOS應用中的內容
  2. 否則優雅的失敗,可以打開Safari中的內容。

Search API之後的iOS 9的最佳功能之一。

+0

感謝您發佈關於通用鏈接方法的鏈接。但是現在我想繼續使用@IntrepidPat建議的方法。 – 2015-06-29 22:38:41

0

您可能想要考慮嘗試Yozio - 他們做你所有的要求再加上一點點。我不附屬,只是簡單地玩它。

相關問題