2013-06-11 60 views
2

當用戶進入我的網站時,他們會收到一個對話框,建議安裝my wonderful app。當用戶按下接受按鈕時,彈出我的應用程序的遊戲市場頁面。 僅當用戶從手機瀏覽時纔會出現此對話框。 但是,即使用戶已經有我的應用程序,此對話框也會彈出。因此,我對通過網站通知手機上是否存在應用程序感興趣。如果應用程序已經安裝在手機上,則不應出現對話框。如何通知網站該應用程序已安裝?

phone w/o app -> browse site -> get dialoge box 
phone with app -> browse site -> normal browsing 

簡單無用解決方案來考慮: 如果鏈接是從我的應用程序打開時,它擴展了一些行動,以確定該應用程序安裝。
這是無用的,因爲應用程序是足夠的,所以開放網站不會給任何好處。

msh提出了一點更高級的想法:給用戶一個選項,哪個應用程序將打開一個鏈接。如果鏈接與我的應用程序如上打開。

有沒有更好的方法來做到這一點?

+0

瀏覽器經常提到安裝的插件。可能在瀏覽器中註冊一個虛擬插件(儘管您可能會發現您必須支持多種不同的瀏覽器,並且只覆蓋70%的用例) – Tom

+0

這是缺少的上下文。你在說什麼類型的鏈接?您在供應商文檔中錯過了哪些信息?供應商文檔在哪裏? 「瀏覽網站」是什麼意思?你能舉出一個或兩個這樣的「瀏覽器」和「網站」的例子嗎? – hakre

回答

0

是的,移動瀏覽器(自己)無法將應用程序安裝狀態傳達給網站。但是,如果你急於實施這種行爲,我已經爲你提供了一個「WILD」解決方案。

該解決方案分爲兩個部分:

在你的應用程序,您需要:客戶端(Android設備)/服務器端(網絡)

客戶端(Android設備)實施將持續監聽網絡狀態變化的BroadcastReciever。每當接收到新的網絡連接廣播(例如,當用戶打開移動數據時),您的應用程序應讀取獲取的IP地址並將其通知您的網絡服務器(使用HttpURLConnection)。

通信IP地址會通知您的網絡服務器,從該IP地址瀏覽您的網站的設備已安裝您的應用程序。

服務器側(Web服務器):

你的Web服務器將繼續通過在其上安裝了應用程序(場外在數據庫中)的所有設備報告的所有IP地址的軌道。爲避免重複輸入,您可以爲收到的每個IP地址記錄確定一個到期/驗證時間。

現在,當您的服務器收到一個Web請求時,它會將請求客戶端的IP與保存在其數據庫中的所有IP進行匹配。如果找到匹配的IP,則意味着Web請求來自已安裝應用程序的設備。否則,您可以將用戶引導至您應用的Play商店鏈接。

建議解決方案的侷限性:只有當用戶使用移動數據(2g/3g/etc)連接到互聯網時,此解決方案才能以100%的準確度工作。由於使用移動數據,每次設備將由服務提供商發佈唯一的IP地址。

這對於Wi-Fi連接完美無缺。使用Wi-Fi瀏覽時,所有連接到同一個Wi-Fi點的設備都被分配相同的IP地址。因此,可能會出現這樣的情況,即兩部手機使用的是同一個Wi-Fi網絡的互聯網,其中一部手機安裝了您的應用程序,另一部手機沒有。這會混淆服務器。

**此解決方案可能不會被強烈推薦,但也有一些小的修補程序可以使用,如果你沒有得到任何其他的解決方案;)

0

這是不可能的,當然,瀏覽器不漏手機配置和安裝的應用隨機網站(我希望,還是要有人儘快將其修復)

你也許可以讓你的應用程序反應的VIEW意圖與某個網址,然後重定向到您的網站上的該網址,但這將使Android問用戶,他們是否要打開您的應用程序或瀏覽器的URL,所以它不透明

+0

也許有一種方法可以讓應用程序向瀏覽器傳播關於它自己的知識嗎? – Yarh

0

您可以有兩個單獨的網址如:www.yousite.com和www.app.yoursite.com。通過這種方式,至少用戶無需從應用程序彈出。

相關問題