場景 :
客戶提出一個問題就是把使用者的登入記錄和裝置綁定到一起,就是每個人都是固定的裝置(可能是安全因素吧)。
一開始想的是回去裝置的IMEI号和使用者賬号綁定起來,結果發現IMEI不對外開發,隻能另尋他法,最後通過擷取裝置序列号作為唯一辨別。
開始了解可以用什麼辨別 來用 。
js擷取手機唯一辨別碼
Device子產品管理裝置資訊,用于擷取手機裝置的相關資訊,如IMEI、IMSI、型号、廠商等。通過plus.device擷取裝置資訊管理對象。
【名詞釋義】
- Device ID:裝置ID。
- IMEI:International Mobile Equipment Identity,國際移動裝置身份碼的縮寫。是由15位數字組成的“電子串号”,它與每台手機一一對應,每個IMEI在世界上都是唯一的。
- IDFA:Identifier For Advertising,iOS獨有的廣告辨別符。
- model: 裝置的型号
- vendor: 裝置的生産廠商
- UDID:Unique Device Identifier,唯一裝置辨別碼。
-
uuid: 裝置的唯一辨別
【上圖思維腦圖】
淺談移動端裝置辨別碼:DeviceID、IMEI、IDFA、UDID和UUID總結:使用 UDID 最棒

Android裝置辨別碼
device ID。
又叫裝置ID。可以用系統提供的TelephonyManager服務來擷取,具有唯一性。其中又包括IMEI和MEID/ESN。
IMEI:GSM裝置傳回的,并且是寫在主機闆上的,重裝APP不會改變IMEI。Android 6.0以上系統需要使用者授予read_phone_state權限,如果使用者拒絕就無法獲得。
mac位址:硬體辨別符,包括WiFi mac位址和藍牙mac位址。Android 6.0之後被禁止,若擷取則會被判定為有害應用。
MEID/ESN:CDMA裝置傳回的,一般不使用。
UDID:用來标示裝置的唯一性。擷取UUID後,寫入.so檔案生成UDID。即使APP重裝,值也不變,除非root手機(普通使用者做不到)
UUID:APP重裝後會改變。
iOS裝置辨別碼
IMEI:iOS 5 之後被禁止。寫在主機闆上,重裝APP不會改變。
IDFA:于iOS 6 時面世,可以監控廣告效果,同時保證使用者裝置不被APP追蹤的折中方案。可能發生變化,如系統重置、在設定裡還原廣告辨別符。使用者可以在設定裡打開“限制廣告跟蹤”。
mac位址:硬體辨別符,包括WiFi mac位址和藍牙mac位址。iOS 7 之後被禁止(同時禁止的還有OpenUDID)。
UDID:用來标示裝置的唯一性 。iOS 6 之後被禁止擷取系統原生的UDID,但可以通過uuid,寫入到鑰匙串中,進而獲得自定義的UDID(非系統原生),即使使用者重裝APP,隻要每次都取這個鑰匙串傳回,就是不變的。