2013-01-22 40 views
2

我一直在研究這個話題好幾個小時了,我找不到任何有用的信息。所以最後我決定第一次創建一個Stackoverflow帳戶。是否有可能跟蹤不適用於Google Play的應用轉介人?

基本上我有一個Android應用程序,它託管在一個服務器上,它將從應用程序用戶下載。但是,應用程序的鏈接將分發給許多不同的會員網站,每個會員網站都擁有我的系統已知的唯一ID。

所以我想跟蹤這些分支機構。應用程序需要知道用戶在安裝應用程序之前所點擊的附屬鏈接。然後,應用程序會將聯盟號碼傳遞給我們的服務器。下載網址的

例子是這樣的: - http://myserver.com/apphosting?affiliate=777&app.apk

谷歌只支持如果您在託管的谷歌應用程序播放此功能,並允許您使用安裝參照。我對麼?

有沒有辦法解決這個問題?它在我看來是一個非常罕見的問題。

在此先感謝。我非常感謝你的幫助,幾分鐘的寶貴時間。

回答

0

有幾種方法可以解決這個問題,並做好這些工作,他們都需要付出相當大的努力。

  1. 您可以爲每個聯屬網址返回不同的APK。如果你有很多不同的分支機構,你會希望有一個構建系統,它會根據大多數應用程序的相同應用程序編譯一個獨特的APK,但使用不同的值資源文件,其中包含不同的會員ID(可能會使主應用程序是一個庫應用程序)。無論您是直接將其鏈接到網站還是將輸出複製到網站,都由您決定。然後,您可以使用此值將您的應用程序電話置於家中。
  2. 您可以在下載端和應用程序啓動端執行某種形式的設備指紋識別,並匹配指紋。最簡單的相當準確的指紋可能只是由設備的IP地址組成。然而,這具有其侷限性。 Research表明:

    個人手機可以在幾分鐘

你還會發現,多部手機的時間跨度內暴露不同的IP地址的服務器 可以同時共享同一個IP由於 NAT technology that many carriers use。儘管如此,IP的前13-16位在很短的時間內大部分都很穩定。您還可以通過檢查HTTP標頭,尤其是瀏覽器用戶代理來獲得一些準確性。這裏也存在一些問題,但那裏肯定有有用的信息。

由於你自己發佈這個應用程序,我會傾向於第一種方法相當沉重。它給你更好的準確性,並且(至少在我看來)更容易實現(是的,我已經實現了這兩種解決方案的一些方面)。當然不利的一面是,你會分發許多不同版本的應用,但如果你做得對,你的APK之間的差異應該很小,這隻會稍微增加你的支持開銷。

+0

非常感謝Kabuko。我正在考慮沿着IP地址匹配的路線。但不知道這將是多麼可靠,我有一些代碼已經做了這一部分。精度不一定是100%,高達80是可以接受的。所以我可能不得不尋求基於IP的解決方案,並看看它是如何發展的。再次感謝 –

+0

沒問題。正如我在答案中提到的那樣,如果IP不夠準確,還有其他數據可以用來提高準確性。如果這個數字對你很重要,你還要考慮如何衡量這個準確度。如果您發現這個問題能夠充分回答您的問題,請隨時將其標記爲已接受。 – kabuko

+0

我有同樣的問題,有關如何做到這一點的任何示例? – Ivan

相關問題