2014-01-15 60 views
1

我正在使用Apple的smart app banner在本站上宣傳我的應用程序,但這不適用於iPad或iPhone上的其他瀏覽器(即Chrome)。檢測應用程序是安裝在iPad或iPhone上(iOS6和iOS7)

因此,我實現了一個JS插件調用Smart App Banner,但在iOS7中,本機橫幅能夠檢測應用程序已安裝並打開它而不是去應用程序商店,是否有可能使用JS並檢查是否安裝了應用程序並打開應用程序而不是去應用程序商店?

+1

請檢查此: - http://stackoverflow.com/questions/2751640/is-there-a-way-to-determine-if-an-iphone-ipad-app-is-installed?rq=1 –

+0

@PiyushDubey謝謝。 – calebo

+0

你的問題解決了嗎? –

回答

0

無法通過簡單的JavaScript調用知道應用程序是否已安裝。在分支指標中,我們從頭構建了一個可自定義的應用程序下載橫幅。讓我描述一下你可以採取的一種基本方法,然後我將描述更高級的版本。

簡易型

有一個按鈕,上面寫着「在應用程序視圖」的一面旗幟。該按鈕在點擊時應該做兩件事: 1.啓動URI方案,但在iframe中隱藏錯誤消息 2.如果未安裝應用程序,請使用setTimeout重定向到App Store或Play Store。

在人體中,有如下(這有助於隱藏一個醜陋的錯誤消息,如果觸發應用程序的URI失敗):

<iframe id="l" width="1" height="1" style="visibility:hidden"></iframe> 

然後,當用戶點擊該按鈕,斷火以下腳本:

// 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); 

對此的缺點是,你不知道是否安裝了該應用使按鍵需要說一些通用的,如「視圖中的應用程序」,而不是專門「安裝」或「打開」,取決於是否該用戶擁有該應用程序。

硬盤版(不這樣做)

如果你想知道,在頁面加載時,用戶是否有應用程序,你將需要:

  1. 保持一在連接到該用戶的瀏覽器中的cookie
  2. 獲取用戶的數字指紋(IP地址,操作系統,操作系統版本,屏幕大小等)並將其發送到您的後端。將此與Cookie相關聯。
  3. 當用戶打開您的應用程序時,發送相同的數字指紋。您的後端可以將其與基於瀏覽器的數字指紋進行匹配,並且請注意,此用戶/ cookie具有應用程序
  4. 在隨後訪問您的網站(其中包含橫幅)時,返回頁面的服務器應使用cookie來查找該用戶擁有該應用程序。如果是這樣,請返回帶有「打開」文本的橫幅。如果不是,則返回帶有文本「安裝」的橫幅。

這是非平凡的,但肯定是可行的。簡單的版本可以在幾分鐘內完成(你只需要弄清楚你想要你的橫幅看起來像什麼),而硬版本將需要後端和應用程序的修改和無休止的測試和調整,以獲得數字指紋和匹配正確。我們在Branch工作了一年,知道它有多痛苦。

希望這會爲您提供智能應用橫幅的一些可行的解決方案。

相關問題