獲取設備唯一標識

關(guān)于UUID的理解 :

英文名稱是:Universally Unique Identifier,翻譯過來就是通用唯一標識符艇拍。
UUID是指在一臺機器上生成的數(shù)字愉舔,它保證對在同一時空中的所有機器都是唯一的辫封。通常平臺會提供生成的API娱挨。
是一個32位的十六進制序列怎披,使用小橫線來連接:8-4-4-4-12 。

代碼獲取的方式: 
        NSLog(@"uuid = %@",[NSUUID UUID].UUIDString);

但是通過運行程序可以發(fā)現(xiàn)燕雁,循環(huán)10次窒所,每一次打印的值都是不一樣的,當然循環(huán)的再多磅轻,這個值永遠不會出現(xiàn)兩個一樣的值珍逸。

所以從某種程序上來說,UUID跟你的設備沒有什么關(guān)系了聋溜。

由于UUID的本身特性,它保證對在同一時空中的所有機器都是唯一的谆膳。
所以,需要作為唯一標識碼的話,你可以通過保存在keychain或者NSUserDefaults中.

關(guān)于UDID的理解 :

所謂UDID指的是設備的唯一設備識別符,移動廣告商和游戲網(wǎng)絡運營商往往需要通過UDID用來識別玩家用戶撮躁,并對用戶活動進行跟蹤漱病。

UDID 在 iOS5.0 的時候已經(jīng)被拋棄使用了.
代碼實現(xiàn) : [[UIDevice cuurrent] uniqueIdenfier]

在很早之前,蘋果宣稱如果第三方應用開發(fā)者繼續(xù)分享或者使用iPhone、Mac杨帽、AppleWatch的UDID的話漓穿,那么他們的應用將會禁止上架。
為什么蘋果要在應用中禁止使用呢注盈?那是因為隱私問題晃危。比如我開發(fā)了5款App,很多用戶都下載了這5款App并使用老客。
如果我能輕易的獲取這些用戶的UDID山害,其實我能拼湊出用戶的很多信息。由于UDID本身的隱私屬性沿量,之前常常用來做第三方統(tǒng)計和其他的目的浪慌。

當然現(xiàn)在也有人使用MAC地址來識別設備,因為MAC地址也唯一的識別了一臺設備并且不會被修改朴则,不知道以后蘋果會對此如何操作权纤。

UDID是放棄在代碼中獲取,目前主要用于配置真機調(diào)試證書.

因為隱私的問題,蘋果就推出了一個identifierForVendor的屬性獲取UDID,但獲取的值只是個替代品.詳細往下看

以下是蘋果對于禁用UDID的聲明:
image.png

關(guān)于IDFV的理解 :

目前取代獲取UDID的方式: 
[[[UIDevice currentDevice] identifierForVendor] UUIDString];

關(guān)于identifierForVendor . 蘋果官方文檔有說明.
Normally, the vendor is determined by data provided by the App Store. 
If the app was not installed from the app store (such as enterprise apps and apps still in development), then a vendor identifier is calculated based on the app’s bundle ID. 
The bundle ID is assumed to be in reverse-DNS format.

大概的意思是: 
通常, vendor的值根據(jù)已經(jīng)上架到App Store的app決定.
但如果app并不是從AppStore中下載安裝,比如說是依然處于開發(fā)階段.
那么vendor這個值會根據(jù)app's bundle ID 來計算.

bundle ID是反向DNS格式。如:com.example.app

參考網(wǎng)上一些博客講解理解:
此時打印出的字符串UUIDString這個東西不是真正的UDID乌妒,而是一個有一點像的替代品汹想。如同我上面所說,UDID是只和iOS設備有關(guān)的撤蚊,而這個identifierForVendor是應用和設備兩者都有關(guān)的:
    A應用安裝到張三這臺設備上古掏,就會產(chǎn)生一個identifierForVendor(比如是:1234);
    A應用安裝到李四這臺設備上侦啸,就會產(chǎn)生另一個identifierForVendor(比如是:5678)槽唾;
    B應用安裝到張三這臺設備上,又是一個全新的identifierForVendor(比如是:9999)光涂,
    B應用安裝到李四這臺設備上庞萍,還是一個全新的identifierForVendor(比如是:7777)。

    但是無論A應用安裝卸載多少次忘闻,產(chǎn)生的是都是1234\.  所以我們知道钝计,這個identifierForVendor是一種應用加設備綁定產(chǎn)生的標識符,相當于是:Z(identifierForVendor) = X(某應用) + Y(某設備)齐佳。

當然私恬,和真正的UDID的區(qū)別是顯而易見的:也就是說App的開發(fā)者沒有辦法去區(qū)分某一臺設備了,而是只能識別某個應用在某臺設備上炼吴。

Vindor標示符本鸣,適用于對內(nèi):例如分析用戶在應用內(nèi)的行為等。

是給Vendor標識用戶用的缺厉,每個設備在所屬同一個Vender的應用里永高,都有相同的值隧土。其中的Vender是指應用提供商,但準確點說命爬,是通過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的值和之前不同。

關(guān)于IDFA的理解 :

代碼實現(xiàn):
#import <AdSupport/AdSupport.h>
  NSString *adId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

在今年iOS10推出后青伤,蘋果推出了“限制廣告追蹤”功能督怜,設置的路徑和iOS9一致。
不過經(jīng)過實際的測試狠角,在iOS10之前号杠,即使用戶打開這個功能,商家一樣可以獲取IDFA丰歌,只不過與之前的不一樣了姨蟋,每次切換這個開關(guān)與點擊“還原廣告標識符”的效果一樣。
而iOS10就不一樣了动遭,當用戶打開這個功能后芬探,商家只能獲取到一連串無意義的0

image.png

總結(jié) :

目前在項目中使用的比較多的也就數(shù)IDFV了,其他的幾個基本都被蘋果淘汰了.
同時關(guān)于UUID,因為保證對在同一時空中的所有機器都是唯一的,所以在程序安裝的時候生成唯一的UUID并且保存在keychain中,以這個唯一的UUID作為唯一標識符,就可以用于判斷唯一設備.變相的作為UDID的用法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市厘惦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哩簿,老刑警劉巖宵蕉,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異节榜,居然都是意外死亡羡玛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門宗苍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稼稿,“玉大人薄榛,你說我怎么就攤上這事∪眉撸” “怎么了敞恋?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谋右。 經(jīng)常有香客問我硬猫,道長,這世上最難降的妖魔是什么改执? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任啸蜜,我火速辦了婚禮,結(jié)果婚禮上辈挂,老公的妹妹穿的比我還像新娘衬横。我一直安慰自己,他們只是感情好终蒂,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布蜂林。 她就那樣靜靜地躺著,像睡著了一般后豫。 火紅的嫁衣襯著肌膚如雪悉尾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天挫酿,我揣著相機與錄音构眯,去河邊找鬼。 笑死早龟,一個胖子當著我的面吹牛惫霸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播葱弟,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼壹店,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了芝加?” 一聲冷哼從身側(cè)響起硅卢,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎藏杖,沒想到半個月后将塑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蝌麸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年点寥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片来吩。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡敢辩,死狀恐怖蔽莱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情戚长,我是刑警寧澤盗冷,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站历葛,受9級特大地震影響正塌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恤溶,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一乓诽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咒程,春花似錦鸠天、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至饥瓷,卻和暖如春剥纷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背呢铆。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工晦鞋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棺克。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓悠垛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親娜谊。 傳聞我的和親對象是個殘疾皇子确买,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355