iOS獲取設(shè)備唯一標識的各種方法植影?IDFA、IDFV涎永、UDID分別是什么含義思币?

摘要:1鹿响、UDID (Unique Device Identifier) UDID的齊稱是Unique Device Identifier,望文生義支救,它便是蘋果IOS裝備的獨一辨認碼抢野,它由40個字符的字母戰(zhàn)數(shù)字構(gòu)成。正在良多須要限定
一各墨、UDID (Unique Device Identifier)

    UDID的全稱是Unique Device Identifier,顧名思義启涯,它就是蘋果IOS設(shè)備的唯一識別碼贬堵,它由40個字符的字母和數(shù)字組成。在很多需要限制一臺設(shè)備一個賬號的應(yīng)用中經(jīng)常會用到结洼。在iOS5中可以獲取到設(shè)備的UDID黎做,后來被蘋果禁止了。

二松忍、UUID(Universally Unique Identifier)

    UUID是Universally Unique Identifier的縮寫蒸殿,中文意思是通用唯一識別碼。它是讓分布式系統(tǒng)中的所有元素鸣峭,都能有唯一的辨識資訊宏所,而不需要透過中央控制端來做辨識資訊的指定。這樣摊溶,每個人都可以建立不與其它人沖突的 UUID爬骤。在此情況下,就不需考慮數(shù)據(jù)庫建立時的名稱重復(fù)問題莫换。蘋果公司建議使用UUID為應(yīng)用生成唯一標識字符串霞玄。
    開發(fā)者可以在應(yīng)用第一次啟動時調(diào)用一 次,然后將該串存儲起來拉岁,替代UDID來使用坷剧。但是,如果用戶刪除該應(yīng)用再次安裝時喊暖,又會生成新的字符串惫企,所以不能保證唯一識別該設(shè)備。使用UUID哄啄,就要考慮應(yīng)用被刪除后再重新安裝時的處理雅任。一個解決的辦法是:UUID一般只生成一次,保存在iOS系統(tǒng)里面咨跌,如果應(yīng)用刪除了沪么,重裝應(yīng)用之后它的UUID還是一樣的,除非系統(tǒng)重置 锌半。但是不能保證在以后的系統(tǒng)升級后還能用(如果系統(tǒng)保存了該信息就能用)禽车。

三寇漫、MAC Address

用來表示互聯(lián)網(wǎng)上每一個站點的標識符,采用十六進制數(shù)表示殉摔,共六個字節(jié)(48位)州胳。其中,前三個字節(jié)是由IEEE的注冊管理機構(gòu)
 RA負責給不同廠家分配的代碼(高位24位)逸月,也稱為“編制上唯一的標識符” (Organizationally Unique Identifier)栓撞,后三個字節(jié)(低位24位)由各廠家自行指派給生產(chǎn)的適配器接口,稱為擴展標識符(唯一性)碗硬。

MAC地址在網(wǎng)絡(luò)上用來區(qū)分設(shè)備的唯一性瓤湘,接入網(wǎng)絡(luò)的設(shè)備都有一個MAC地址,他們肯定都是不同的恩尾,是唯一的弛说。一部iPhone上可能有多個MAC地址,包括WIFI的翰意、SIM的等木人,但是iTouch和iPad上就有一個WIFI的,因此只需獲取WIFI的MAC地址就好了冀偶,也就是en0的地址醒第。
MAC地址就如同我們身份證上的身份證號碼,具有全球唯一性蔫磨。這樣就可以非常好的標識設(shè)備唯一性淘讥,類似與蘋果設(shè)備的UDID號,通常的用途有:1)用于一些統(tǒng)計與分析目的堤如,利用用戶的操作習慣和數(shù)據(jù)更好的規(guī)劃產(chǎn)品蒲列;2)作為用戶ID來唯一識別用戶,可以用游客身份使用app又能在服務(wù)器端保存相應(yīng)的信息搀罢,省去用戶名蝗岖、密碼等注冊過程。
使用Mac地址生成設(shè)備的唯一標識主要分三種:
1榔至、直接使用“MAC Address” 
2抵赢、使用“MD5(MAC Address)”

3、使用“MD5(Mac Address+bundle_id)”獲得“機器+應(yīng)用”的唯一標識(bundle_id 是應(yīng)用的唯一標識)
在iOS7之后唧取,如果請求Mac地址都會返回一個固定值铅鲤。

四、IDFA(identifierForIdentifier)

廣告標示符枫弟,適用于對外:例如廣告推廣邢享,換量等跨應(yīng)用的用戶追蹤等。

    是iOS 6中另外一個新的方法淡诗,提供了一個方法advertisingIdentifier骇塘,通過調(diào)用該方法會返回一個NSUUID實例伊履,最后可以獲得一個UUID,由系統(tǒng)存儲著的款违。不過即使這是由系統(tǒng)存儲的唐瀑,但是有幾種情況下,會重新生成廣告標示符插爹。如果用戶完全重置系統(tǒng)((設(shè)置程序 -> 通用 -> 還原 -> 還原位置與隱私) 哄辣,這個廣告標示符會重新生成。另外如果用戶明確的還原廣告(設(shè)置程序-> 通用 -> 關(guān)于本機 -> 廣告 -> 還原廣告標示符) 赠尾,那么廣告標示符也會重新生成柔滔。關(guān)于廣告標示符的還原,有一點需要注意:如果程序在后臺運行萍虽,此時用戶“還原廣告標示符”,然后再回到程序中形真,此時獲取廣 告標示符并不會立即獲得還原后的標示符杉编。必須要終止程序,然后再重新啟動程序咆霜,才能獲得還原后的廣告標示符邓馒。
在同一個設(shè)備上的所有App都會取到相同的值,是蘋果專門給各廣告提供商用來追蹤用戶而設(shè)的蛾坯,用戶可以在 設(shè)置|隱私|廣告追蹤 里重置此id的值光酣,或限制此id的使用,故此id有可能會取不到值脉课,但好在Apple默認是允許追蹤的救军,而且一般用戶都不知道有這么個設(shè)置,所以基本上用來監(jiān)測推廣效果倘零,是戳戳有余了唱遭。

注意:由于idfa會出現(xiàn)取不到的情況,故絕不可以作為業(yè)務(wù)分析的主id呈驶,來識別用戶拷泽。

代碼:

#import <AdSupport/AdSupport.h>
NSString *adId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
五、IDFV(identifierForVendor)

Vindor標示符袖瞻,適用于對內(nèi):例如分析用戶在應(yīng)用內(nèi)的行為等司致。

是給Vendor標識用戶用的,每個設(shè)備在所屬同一個Vender的應(yīng)用里聋迎,都有相同的值脂矫。其中的Vender是指應(yīng)用提供商,但準確點說砌庄,是通過BundleID的DNS反轉(zhuǎn)的前兩部分進行匹配羹唠,如果相同就是同一個Vender奕枢,例如對于com.somecompany.appone,com.somecompany.apptwo
 這兩個BundleID來說,就屬于同一個Vender佩微,共享同一個idfv的值缝彬。和idfa不同的是,idfv的值是一定能取到的哺眯,所以非常適合于作為內(nèi)部用戶行為分析的主id谷浅,來標識用戶,替代OpenUDID奶卓。

注意:如果用戶將屬于此Vender的所有App卸載一疯,則idfv的值會被重置,即再重裝此Vender的App夺姑,idfv的值和之前不同墩邀。

代碼:

  NSString *idfv = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
六、OPEN UDID

    每臺iOS設(shè)備的OpenUDID是通過第一個帶有OpenUDID SDK包的App生成盏浙,如果你完全刪除全部帶有OpenUDID SDK包的App(比如恢復(fù)系統(tǒng)等)眉睹,那么OpenUDID會重新生成,而且和之前的值會不同废膘,相當于新設(shè)備竹海;
    優(yōu)點是沒有用到MAC地址;不同設(shè)備能夠獲取各自唯一的識別碼丐黄,保證了唯一性斋配,可以用于以往UDID的相關(guān)用途;從代碼分析OpenUDID的獲取灌闺,識別碼獲取方便并且保存謹慎艰争。缺點是當將設(shè)備上所有使用了OpenUDID方案的應(yīng)用程序刪除,且設(shè)備關(guān)機重啟菩鲜,xcode徹底清除并重啟园细,重裝應(yīng)用程序去獲取OpenUDID,此時OpenUDID變化接校,與之前不一樣了猛频,所有OpenUDID應(yīng)用卸載后,由UIPasteboard保存的數(shù)據(jù)即被清除蛛勉,重裝故會重新獲取新的OpenUDID鹿寻。
那么當因為用戶干預(yù)或者惡意程序,致使UIPasteboard數(shù)據(jù)清除诽凌,從而導(dǎo)致OpenUDID被刪除毡熏,重裝也會獲取新的OpenUDID。
    OpenUDID生成唯一識別碼的代碼:
unsigned char result[16];  
        const charchar *cStr = [[[NSProcessInfo processInfo] globallyUniqueString] UTF8String];  
        CC_MD5( cStr, strlen(cStr), result );  
        _openUDID = [NSString stringWithFormat:  
                     @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%08x",  
                     result[0], result[1], result[2], result[3],   
                     result[4], result[5], result[6], result[7],  
                     result[8], result[9], result[10], result[11],  
                     result[12], result[13], result[14], result[15],  
                     arc4random() % 4294967295];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侣诵,一起剝皮案震驚了整個濱河市痢法,隨后出現(xiàn)的幾起案子狱窘,更是在濱河造成了極大的恐慌,老刑警劉巖财搁,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蘸炸,死亡現(xiàn)場離奇詭異,居然都是意外死亡尖奔,警方通過查閱死者的電腦和手機搭儒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來提茁,“玉大人淹禾,你說我怎么就攤上這事≤畋猓” “怎么了铃岔?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長峭火。 經(jīng)常有香客問我德撬,道長,這世上最難降的妖魔是什么躲胳? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮纤勒,結(jié)果婚禮上坯苹,老公的妹妹穿的比我還像新娘。我一直安慰自己摇天,他們只是感情好粹湃,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泉坐,像睡著了一般为鳄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上腕让,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天孤钦,我揣著相機與錄音,去河邊找鬼纯丸。 笑死偏形,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的觉鼻。 我是一名探鬼主播俊扭,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼坠陈!你這毒婦竟也來了萨惑?” 一聲冷哼從身側(cè)響起捐康,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎庸蔼,沒想到半個月后解总,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡朱嘴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年倾鲫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萍嬉。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡乌昔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出壤追,到底是詐尸還是另有隱情磕道,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布行冰,位于F島的核電站溺蕉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏悼做。R本人自食惡果不足惜疯特,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肛走。 院中可真熱鬧漓雅,春花似錦、人聲如沸朽色。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽葫男。三九已至抱冷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間梢褐,已是汗流浹背旺遮。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盈咳,地道東北人趣效。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像猪贪,于是被迫代替她去往敵國和親跷敬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容