開發是如何追蹤定位到你的?

2021-02-21 光榮之路

文 | zhonglv

來源|微信公眾號 搜狗測試 SogouQA

前 言逛淘寶時如果你搜索了某個品牌的某款鞋子,它接下來就會給你推送該品牌的其他款鞋子或者其他品牌的類似鞋款,類似的廣告你一定收到過很多,那麼廣告商是如何對你的設備精準投放你感興趣的內容?手機上有不同的APP,搜狗地圖APP的推送為何沒有推送到搜狗錄音助手APP上呢?如何保證能精準推送到你的設備,且不同APP之間不會錯亂?
問題明確下就是開發是如何追蹤定位到具體的設備和APP呢?這就需要對設備和APP進行唯一標識來進行區分,在此對各種標識符的標識內容和作用進行梳理~常見的設備ID標識符IMEI(International Mobile Equipment Identity):國際行動裝置身份碼,在iOS5之後該方法就被廢棄掉了,因此iOS 5以後不能獲取手機IMEI,但是也是可以通過私有API獲取手機的IMEI號的,但是通過蘋果私有API獲取IMEI號,上架蘋果商店會被拒掉的。電信運營商因為通訊網絡協議中都是傳遞用戶手機的IMEI及SIM卡的IMSI,所以運營商是有這些用戶的IMEI及IMSI的。Mac(Medium/Media Access Control):網絡設備的物理地址,如果 IMEI 被認為是設備的唯一標識,那麼 Mac 就是網絡接口唯一標識。學過計算機網絡都知道,在根據 IP 進行物理尋址的時候就是使用的 Mac 地址。MAC地址在網絡上用來區分設備的唯一性,接入網絡的設備都有一個MAC地址,他們肯定都是不同的,是唯一的。一部iPhone上可能有多個MAC地址,包括WIFI的、SIM的等,但是iTouch和iPad上就有一個WIFI的,因此只需獲取WIFI的MAC地址就好了,也就是en0的地址。MAC地址就如同我們身份證上的身份證號碼,具有全球唯一性。同樣由於隱私問題,在 iOS 7 之後無法通過 Mac 地址來標識唯一設備,因為在 iOS 7 之後獲取到的 Mac 地址為一固定值。廢棄版本:iOS7.0+(當然App有一些特殊的方法,例如主動提示用戶選擇WIFI網絡的方式可以獲取MAC地址)。UDID的全稱是UniqueDevice Identifier,顧名思義,它就是蘋果IOS設備的唯一識別碼,它由40個字符的字母和數字組成。在很多需要限制一臺設備一個帳號的應用中經常會用到。在iOS5中可以獲取到設備的UDID,iOS7中已經完全的禁用了它。iOS7之前的使用了的app如果在iOS7上運行,它不會返回設備的UDID,而是會返回一串字符串,以FFFFFFFF開頭,跟著identifierForVendor的十六進位值。UDID可以關聯其它各種數據到相關設備上。例如,連接到開發者帳號,可以允許在發布前讓設備安裝或測試應用;也可以讓開發者獲得iOS測試版進行體驗。apple用UDID連接到apple ID,這些設備可以自動下載和安裝從App Store購買的應用、保存從iTunes購買的音樂、幫助apple發送推送通知、即時消息。在iOS應用早期,UDID被第三方應用開發者和網絡廣告商用來收集用戶數據,可以用來關聯地址、記錄應用使用習慣等等以便推送精準廣告。開發者把UDID跟用戶的真實姓名、密碼、住址、其它數據關聯起來;網絡窺探者會從多個應用收集這些數據,然後順藤摸瓜得到這個人的許多隱私數據。同時大部分應用確實在頻繁傳輸UDID和私人信息。為了避免集體訴訟,蘋果最終決定在iOS 5的時候,將這一慣例廢除,開發者被引導生成一個唯一的標識符,只能檢測應用程式,其他的信息不提供。現在應用試圖獲取UDID已被禁止且不允許上架。Universally Unique Identifier,通用唯一標識符。UUID是指在一臺機器上生成的數字,它是根據時間變化的。一個32位的十六進位序列,使用小橫線來連接。目前最廣泛應用的UUID,是微軟公司的全局唯一標識符GUID。其目的是讓分布式系統中的所有元素,都能有唯一的辨識信息,而不需要通過中央控制端來做辨識信息的指定。UUID是基於iOS設備上面某個單個的應用程式,只要用戶沒有完全刪除應用程式,則這個UUID在用戶使用該應用程式的時候一直保持不變。如果用戶刪除了這個應用程式,然後再重新安裝,那麼這個UUID已經發生了改變。用戶刪除了你開發的程序以後,基本上你就不可能獲取之前的數據了。目前的解決方法是,通過UUID,寫入到鑰匙串中,從而獲得自定義的UDID(非系統原生),即使用戶重裝APP,只要每次都取這個鑰匙串返回,就是不變的。適用iOS6.0+,格式如26EA83F9-F510-4A08-BA4C-0CD431922D9C。Identifier For Vendor(應用開發商標識符),是給Vender標識用戶用的,每個設備在所屬同一個Vender的應用裡,都有相同的值。其中的Vender是指應用提供商,但準確點說,是通過BundleID的DNS反轉的前兩部分進行匹配,如果相同就是同一個Vender。例如對於com.somecompany.appone,com.somecompany.apptwo這兩個BundleID來說,就屬於同一個Vender,共享同一個idfv的值。和idfa不同的是,idfv的值是一定能取到的,所以非常適合於作為內部用戶行為分析的主id,來標識用戶,替代OpenUDID。如果用戶將屬於此Vender的所有App卸載,則idfv的值會被重置,即再重裝此Vender的App,idfv的值和之前不同。Identifier For Advertising(廣告標識符),在同一個設備上的所有App都會取到相同的值,是蘋果專門給各廣告提供商用來追蹤用戶而設的。廣告標示符是由系統存儲著的。廣告標示符是由系統存儲著的。不過即使這是由系統存儲的,但是有幾種情況下,會重新生成廣告標示符。如果用戶完全重置系統((設置程序 ->通用 -> 還原 ->還原位置與隱私),這個廣告標示符會重新生成。另外如果用戶明確的還原廣告(設置程序->通用 -> 關於本機 ->廣告 ->還原廣告標示符),那麼廣告標示符也會重新生成。適用於對外,例如廣告推廣,換量等跨應用的用戶追蹤等。Device Id 是推送系統中設備的唯一標識,是長度為 32 位的數字和小寫字母的組合,在控制臺或通過 OpenAPI 推送時,可以指定終端推送,即通過指定終端的 deviceId 推送。Bundle ID (Bundle identifier)也叫 App ID或者應用ID,是每一個 iOS應用的唯一標識,就像一個人的身份證號碼,申請iOS證書、打包 ipa 和在 itunesconnect 創建 App 都要用到 App ID, 整個 App 上架流程就是靠這個 App ID 關聯在一起。每開發一個新應用,首先都需要先去創建一個 Bundle ID。Bundle ID分為兩種:Explicit App ID(明確的APP ID),一般格式是:com.domainname.appname。這種id只能用在一個app上。每一個新應用都要創建一個;Wildcard App ID(通配符APP ID), 一般格式是:com.domainname.*。這種id可以用在多個應用上,雖然方便,但是使用這種id的應用不能使用通知功能,所以並不常用。在Android系統中,判斷一個 App 的唯一標識是Package name,與iOS 的 Bundle ID是對應的。Bundle ID格式:由於蘋果和谷歌的原因,同一個應用的 android packageName 和 iOS Bundle ID 不同,比如,微信:iOS Bundle ID 是com.tencent.xin;Android packageName 是com.tencent.mm;Device token是APNs( Apple Push Notification service,蘋果推送服務)用於區分識別每個iOS設備和設備上不同app的一個標識符,通過設備和APNs伺服器建立的長連接後,通過註冊推送服務,由APNs生成後加密反饋給app的。還可以用於APNs通過它將推送消息路由到指定設備上。也就說是從信息量上看:device token = device id + bundle id。總 結以上列出了各種常見的標註設備或者用戶的標識符,簡單總結如下:1)IMEI:國際行動裝置身份碼,廢棄版本:iOS5.0+;2)MAC地址:網絡設備的物理地址,在網絡上用來區分設備的唯一性,廢棄版本:iOS7.0+;3)UDID:蘋果IOS設備的唯一識別碼,廢棄版本:iOS6.0+;
4)UUID:通用唯一標識符,可以通過UUID寫入到鑰匙串中,從而獲得自定義的UDID(非系統原生),即使用戶重裝APP,只要每次都取這個鑰匙串返回,就是不變的。5)IDFV:應用開發商標識符,每個設備在所屬同一個Vender的應用裡,都有相同的值,適用於iOS6.0+;6)IDFA:廣告標識符,由系統存儲,蘋果專門給各廣告提供商用來追蹤用戶而設的,可能發生變化,如系統重置、在設置裡還原廣告標識符。用戶可以在設置裡打開「限制廣告跟蹤」,適用於iOS6.0+;7)Device ID:是推送系統中設備的唯一標識;8)Bundle ID:每一個iOS應用的唯一標識;9)Device token:用於區分識別每個iOS設備和設備上不同app的一個標識符;以上各種設備ID標識符是目前移動應用開發過程中比較常見的,在不同公司、不同開發可能對同一個ID的釋義和實現方式有略微不同。出於保護用戶隱私的考慮,蘋果對各種設備和APP的定位有明確的限制,一旦超出限制APP在蘋果審核時就有被拒的風險。

👆單擊連結直達、長按諮詢吳老師或公眾號內回復「2」

無論上課或自學,

你首先需要準備:

每天 2 小時+的學習時間,

每天堅持寫代碼的習慣!

有投入才有產出,

10k+的漲幅需要 1 年以上的努力!

祝你成功!

光榮之路出品

測試大佬和小白的故事

招聘QQ群:203715128

相關焦點

  • 蘋果手機怎麼定位追蹤?蘋果手機定位追蹤使用方法
    ,蘋果手機定位追蹤的方法  蘋果手機現在已經成為很多機友們的追捧,現在使用的用戶們也是非常多的,不過它的丟失率也是非常高的。iphone系統自帶的icloud功能本身就帶有定位功能,無需任何第三方軟體,這樣手機即使丟了也能在icloud跟蹤自己的手機並找到它,當然知道對方的itunes帳號的話也能跟蹤ta的手機。下面來和大家分享下蘋果手機如何定位追蹤,本文為大家總結了蘋果手機定位追蹤的方法。  1、首先打開蘋果手機裡的「設置」找到icloud設置界面,如圖。
  • 今天你被追蹤了嗎?智慧型手機怎樣才能不會被追蹤定位
    手機如何被追蹤消費級的手機也就是一般的普通手機定位方式有三種。1 基站定位:手機要聯網是需要和基站通信的,基站為了認識手機就需要手機提供機身的唯一識別碼。網絡為了能夠給手機計費(有人會說要加密,但其實現在國內網絡基本沒有利用SIM卡進行通信加密)則需要手機有SIM卡,SIM卡裡面有用於計費的唯一身份碼,這個碼對應到電話號碼。只要知道哪個基站聯絡過你的手機,你的位置就被限定在一個很小的範圍內了。
  • 手機定位追蹤
    手機定位追蹤 地圖導航 大小: 14.46M
  • FaceRig新功能宣傳視頻 面部追蹤+頭像重定位
    在官方最新公布的演示視頻中,強大的FaceRig可以進行面部追蹤和頭像重定位啦,如果你還不理解,那麼來看看這段視頻吧。   《FaceRig》最新演示視頻:   多虧了ULSee追蹤器這樣技術,FaceRig的延遲更少了,即便你猛烈地搖晃著腦袋,它也能跟得上,保持追蹤的狀態。
  • 蘋果手機怎麼追蹤定位
    這個時候你就需要用到蘋果手機的定位追蹤功能:查找我的iphone查找我的iPhone是蘋果手機的一項功能,通過登錄icloud雲服務開啟後,可以在任意一部iphone,ipad用「查找我的 iPhone」應用或者電腦登錄icloud.com/find,來定位手機或者抹掉手機。
  • 手機號碼定位,如何根據手機號碼定位找人追蹤
    重點說下第二種情況,能不能在對方不知道的情況下定位他人的位置呢,我告訴你完全可以,只要對方手機是在網狀態。不需要和他通話,只要知道手機號就能定位他的位置,而且精準度非常高。但是像這種操作只有國家公安機關和通訊部門才能做到。
  • 智慧型手機是如何被追蹤的?
    可能有些小夥伴還不知道,手機即使不安裝定位軟體,也能被追蹤,甚至拿掉SIM卡也一樣避免不了。那麼,智慧型手機是如何被追蹤的呢?下面就帶大家從兩個方面下手,一、手機定位方式,二、為什麼不關機只拔SIM卡也會被追蹤。手機定位方式:1. 基站定位。
  • 手機定位的三種方法,為了防止被「追蹤」,希望大家知道
    這是運用導航得知路線的一種方式,也許有人會感到好奇,手機是如何知道的自己的位置,從而導航路線的呢?實際上是手機通過定位功能確定用戶的位置,分析當前的路線,從而引導用戶去往目的地。這個過程離不開定位,定位的方式並不止一種,不同的定位方式效果也不一樣。
  • 蘋果將追蹤定位iPhone搶奪者 使用什麼技術追蹤
    首頁 > 數碼 > 關鍵詞 > 蘋果最新資訊 > 正文 蘋果將追蹤定位iPhone搶奪者 使用什麼技術追蹤
  • 手機遠程定位、追蹤,真有用嗎?華為這一點讓人滿意
    華為的用戶大都知道華為手機裡有一個功能:手機丟失時可以遠程定位進行追蹤。聽起來是不是很方便?我們來看一下如何設置。第一步,找到高級設置,然後找到定位服務,打開輔助定位設置,使用輔助GPS。簡單的幾步操作就能把華為的定位追蹤打開,當你的手機丟失的時候可以根據這個功能看到自己的手機到底在哪,聽起來是不是還挺有用的,但是這個功能到底有沒有用呢?在華為手機丟失的時候,在另一部手機上登錄自己的帳號密碼,就可以在地圖上看到自己手機的實時位置,通過手機上的地圖定位你就可以跟著地圖追回自己的手機了。
  • iPhone手機怎麼定位別人的手機位置 蘋果手機定位追蹤圖文教程速圍觀
    iPhone手機怎麼定位別人的手機位置 蘋果手機定位追蹤圖文教程速圍觀時間:2018-07-19 20:45   來源:今日頭條   責任編輯:沫朵 川北在線核心提示:原標題:iPhone手機怎麼定位別人的手機位置 蘋果手機定位追蹤圖文教程速圍觀 蘋果手機是有很強大的手機定位系統的,無論是自己手機找回還是定位別人的手機位置,
  • 智能手環的定位追尋是如何實現的?
    正如上述的情況,何不利用定位去追尋走失老人和小孩的蹤跡呢?如在智能手環上加入定位功能,當孩子頑皮走失時,人們可以通過手機APP通過查詢手環的精確位置,從而快速找到孩子。E108-GN02支持BDS/GPS/GLONASS/GALILEO/QZSS/SBAS多系統聯合定位和單系統獨立定位,定位精度達到3米以內,追蹤功耗低至20mA,能夠幫助人們快速找到走失的老人和孩子。
  • 或許不曾察覺中你的手機已經被定位追蹤了,手機中病毒了怎麼辦?
    手機號碼被人定位追蹤?聽起來可能有點可怕,但其實在現實生活中這種情況也還是有不少的。在察覺自己的手機被定位,很多人第一反應便是自己的手機被黑客攻擊了,擔心網絡帳戶是否現樓,金錢是否還安全。當我們察覺手機被定位時候,其實不用驚慌,因為不用求助其他人,我們便可以杜絕被定位跟蹤。下面我們便來詳細講解。手機定位無非幾種方式:1.
  • 服飾 追蹤Instagram定位時裝編輯最愛
    讓我們把目光聚焦到全世界最時尚的那群人身上,那些天天在時尚圈裡縱橫馳騁的時裝編輯們,全方位追蹤她們的Instagram,瞬間定位她們的最愛單品
  • 手機如何定位車輛位置,手機遠程定位查詢車輛位置的幾種方法
    有車牌號是無法定位車輛的,只有交警部門通過天網系統才可以查找到車子的蹤跡。這是因為車牌號包含了很多車主的個人信息,而個人信息是隱私、機密、非公開的,普通人無權查看。那麼,有沒有什麼簡單普通的辦法,可以方便的在手機或者電腦上就查到車的位置呢?這也是有的,但僅針對自己的車輛。
  • 世衛官方開發疫情追蹤神器,要健康還是要隱私?
    同時,尤其在國外,很多人當前很難了解到所在社區的病毒流行程度如何,如果出現症狀,很多人似乎也不清楚可以去哪裡做檢查或找到治療方法。正如 Nature 最新報導,估計超過 6 成新冠患者無症狀,可能引起新一輪疫情爆發。
  • 網絡足跡被追蹤將帶來哪些影響?如何反追蹤?科技日報訪專家
    在瀏覽購物網站、視頻網站的時候,想必很多人都有過這樣的體驗,購物網站上刷到的內容,大多是依據你的喜好推送的款式;瀏覽過某一類視頻,下次再打開該視頻網站,就會看到首頁推送了相似內容。這背後其實是網絡追蹤器在發揮作用。
  • 惠普新筆記本將採用 Tile 追蹤技術,可隨時定位你的電腦
    12 月 8 日早間消息,今年早些時候惠普宣布與 Tile(藍牙追蹤技術公司)合作,確保配備英特爾硬體的筆記本電腦在丟失之後將更容易跟蹤。現在,惠普宣布,這項技術即將應用在惠普新款筆記本電腦中。要激活筆記本電腦的追蹤功能,必須通過 Tile Windows 10 應用程式啟用該技術。然後,用戶可以使用 Tile 移動應用來定位丟失的機器,即使它們處於睡眠、休眠或軟關機模式。  不過任何事物都是有兩面性的,雖然這項追蹤功能會受到個人和企業歡迎,但這樣意味著你的定位隨時會被相關技術人員掌握。
  • 華強北商家:蘋果的定位追蹤很難被破解,但同時也是一把雙刃劍
    最近美國打造搶燒的事件愈演愈烈,我們科技類目關心的並非政治相關的內容,而是關於在美國那些蘋果店被搶走的手機,蘋果是如何做到追蹤定位的,而其他的國產手機廠商有沒有能做到的呢?蘋果的強大定位源於iCloud雲服務如果你使用安卓手機,不需要註冊對應的帳號就可以在官方商店下載到你需要的軟體
  • 如何為項目選擇合適的室內定位技術?
    室內定位技術類型很多(如圖像、無線、地磁、慣導等),其中僅無線定位技術就有Wi-Fi、BLE、UWB、ZigBee、RFID等。因此在您決定採用哪種技術前,還需思考下項目對位置信息有哪些核心需求,同時項目中具備了哪些基礎通信條件可以復用的,只有梳理清楚這些問題,才好確定適宜的開發藍圖。