2013-07-09 34 views
0

我需要永久識別我的應用程序的某些版本。原因是,這些將被預先安裝在某些設備中,並且他們需要一些不同的跟蹤參數。如何永久識別我的應用程序的某些版本?

我不希望創建一個新的應用程序爲這 - 應用程序必須是一樣的「普通」之一,它可以從谷歌Play下載。

任何應用程序更新之前,該解決方案是明確的 - 只需創建2個不同的版本,具有相同的包名稱和簽名,一個直接進入可以在設備上預裝和其他谷歌來播放。

但是預裝的應用程序都得到更新,據我所知,所有差異都將被覆蓋。

這,我想起可能的解決方案:

預裝
  • 構造節省的偏好。問題:用戶可以隨時清除偏好。這必須可靠。

  • 服務器端標識。問題:應用程序不需要使用用戶登錄 - 因此只會留下IMEI,第一次必須發送到服務器以說「我已預裝」,但這需要更改服務器,這是不必要的+不知道發送IMEI的法律含義(也許是一個散列 - 但仍然不好)。

  • 通過它的存放處識別應用。但我不知道人們會在哪裏存儲這些預安裝的應用程序。我認爲他們和普通應用程序在同一個地方。它們不是系統應用程序/固件。所以我想這也是不可能的。

是否有任何其他方式來識別我的安裝子集。也許我錯過了一些非常基本的東西。或者你通常建議什麼?

在此先感謝。

+0

嗯......因爲你大概知道是什麼設備型號是獲得預安裝的型號,是不是簡單地將設備型號數據添加到「跟蹤參數」中? – CommonsWare

+0

我還不知道這些預安裝的目標羣體,實際上這是一個很好的問題。但我想這不是綁定到設備模型+可能會有人使用這些設備模型,它們沒有預先安裝並手動下載應用程序。這種方法會將它們識別爲預安裝,這是錯誤的。 – Ixx

+0

預裝應用程序和谷歌播放之間的區別是什麼?廣告? – techiServices

回答

0

我相信你做錯了。如果存在差異,那麼做兩個獨立的構建會更簡單,否則您將面臨被更新覆蓋的問題。或者,您可以您的應用程序分割成模塊,只有這些東西是不同的,應作出不同的APK - 這樣,你仍然可以把一個更新您的所有用戶,並保持完好的差異

+0

我也會在開始時做2個獨立的構建。但是對於更新,我需要2個獨立的*應用*對嗎? 2個不同的包名稱。或者我如何更新預裝的應用程序? – Ixx

+0

您能否詳細說明這一點 - 「您可能會將您的應用分爲多個模塊,只有這些不同的應該做出不同的APK - 這樣,您仍然可以爲所有用戶推送一個更新並保持差異完好」我可以推送更新不同的APK? (沒有不同的應用程序)。 – Ixx

+0

關於不同的* apps *主題,除了這是「困難」,我想這也是不正確的,因爲預裝用戶的應用程序也可以在Google Play中使用,所以「普通」用戶也可以下載它們...除非我可以設置這個應用程序「只用於更新」或取消選擇所有國家,但我猜這是行不通的。 – Ixx

相關問題