用例的業務環境是我們正在構建一個後端服務器(multi-tanent),該服務器將爲來自多個平臺(iOS,Android,Windows phone 7,BlackBerry,j2me電話)。該公司希望在第一次安裝合作應用時對用戶進行獎勵。因此,企業希望跟蹤第一次應用安裝用戶重新安裝(刪除&安裝)用戶。因此,我們希望合作的移動應用程序在安裝&服務器後會將唯一標識符(使用我們在此決定的唯一標識符規範)發送到我們的後端服務器& &如果首次安裝返回獎勵。智能手機設備的唯一設備標識符
所以,理想情況下,我們只想在這裏定義是唯一設備標識符規範用以下屬性..
- 它應該是人生唯一久,設備類別(例如所有iOS設備)下。所以,Factory Reset等工具不應該改變設備標識符。
- 欺騙標識符不應該很容易。例如。你可以通過設備&上的軟件工具重新安裝應用程序,應用程序發回的標識符會發生變化。
- 底層平臺提供API來檢索規範中提到的必要信息。也就是說,沒有私人API等,因爲應用程序將通過開放市場(App Store等)進行部署。
- 由於解決方案是全球性的,因此該規範應該是全球真實的。因此,應該尊重所有國家的法律。
- 請注意,解決方案想要定位所有平臺的設備;不僅僅是基於SIM卡的手機,甚至還有基於非SIM卡的移動設備(ipod touch,ipad)。 [所以,唯一的IMEI號碼不在非SIM移動設備上,但可以在其上安裝應用程序]
期待創新的大腦來討論這一點。
感謝您閱讀本文。從MSDN
object DeviceUniqueID;
byte[] DeviceIDbyte=null;
if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out DeviceUniqueID))
DeviceIDbyte = (byte[])DeviceUniqueID;
string DeviceID = Convert.ToBase64String(DeviceIDbyte);
MessageBox.Show(DeviceID);
描述:
嗯,我知道IMEI可以僞造(設備標識符),但IMSI? IMSI應該至少與您的'最佳'解決方案一樣安全,如果不是更安全的話。 – Yusufk 2012-04-04 07:03:21
問題是,原始海報假定設備會給出正確的IMEI或IMSI,因爲他無法在設備上物理驗證IMEI/IMSI,而設備發送的IMEI/IMSI不能被信任爲有效。因此,如果您希望並相信設備(或任何第三方)向您提供有效信息,那麼絕對是錯誤地構建了您的產品。 – 2012-04-04 07:22:12
IMEI是設備給你的東西,但IMSI會從SIM卡中查詢。我知道編輯IMEI的方法,它會覆蓋手機固件上存儲的值,但IMSI是網絡分配給SIM卡的內容,幾乎不可能覆蓋。 – Yusufk 2012-04-04 08:47:27