簡體   English   中英

檢測是否在iPad或iPhone(iOS6和iOS7)上安裝了應用

[英]Detect if an app is installed on iPad or iPhone (iOS6 & iOS7)

我正在使用Apple的智能應用程序橫幅廣告在網站上推廣我的應用程序,但這不適用於iPad或iPhone上的其他瀏覽器(例如Chrome)。

因此,我已經實現了一個名為Smart App Banner的JS插件,但是在iOS7中,本機橫幅能夠檢測到已安裝該應用並打開該應用,而無需前往應用商店,因此可以使用JS進行同樣的操作並檢查是否已安裝應用程序並打開該應用程序,而不是去應用程序商店?

無法通過簡單的javascript調用來了解該應用程序是否已安裝。 在Branch Metrics中,我們從頭開始構建了可定制的應用程序下載橫幅。 讓我描述您可以采用的一種基本方法,然后再描述更高級的版本。

簡單版

帶有帶有“在應用程序中查看”按鈕的橫幅。 單擊該按鈕時,它應該做兩件事: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來查找用戶是否擁有該應用程序。 如果是這樣,則返回帶有文本“ open”的橫幅。 如果不是,則返回帶有文本“ install”的橫幅。

這是不平凡的,但肯定是可行的。 簡單版本可以在幾分鍾內完成(您只需要弄清楚橫幅的樣子),而硬版本則需要后端和應用程序修改以及無休止的測試和調整,以確保數字指紋識別和匹配正確。 我們在Branch從事這項工作已經一年了,並且知道它是多么痛苦。

希望這可以為您提供一些適用於智能應用橫幅的可行解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM