設(shè)備唯一標(biāo)識(shí)(IDFA、UDID研侣、IDFV谱邪、MAC地址、Keychain-鑰匙串)

獲取設(shè)備當(dāng)前信息庶诡、新用戶統(tǒng)計(jì)及新用戶來源追蹤

設(shè)備標(biāo)識(shí)

IDFA (32 位)

  • 廣告標(biāo)識(shí)符 - Apple 專門給各廣告提供商用來追蹤用戶設(shè)置的32位標(biāo)識(shí)符惦银。默認(rèn)設(shè)置為允許追蹤。???設(shè)置 - 隱私 - 廣告 可以自行設(shè)置末誓。在被允許訪問的情況下扯俱,卸載之后?再安裝,該字符串保持不變喇澡。在不被允許情況下迅栅,iOS10 開始開發(fā)者將會(huì)讀取到32位全0的字符串;iOS10之前版本即便不被允許撩幽,開發(fā)者還是可以取到32位字符串库继,只是這時(shí)的字符串不同于被允許情況下的字符串箩艺,而且還有可能發(fā)生變化(這種情況測(cè)試設(shè)備為 iPhone6 - 中國(guó)電信 - iOS9.2 - 未越獄 - MG4H2J/A)窜醉。
[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]

UDID (40 位)

  • UDID [Unique Device Identifier Description] - Apple 提供的用來區(qū)別每一個(gè)iOS設(shè)備(iPhone、iPad艺谆、iPod)的由字母和數(shù)字組成的40位字符串榨惰。該字符串與硬件設(shè)備相關(guān)。開發(fā)者會(huì)注意到静汤,添加測(cè)試機(jī)時(shí)就需要先獲取該字符串琅催,這是因?yàn)锳pple的消息推送功能及區(qū)分不同應(yīng)用程序功能上都有用到該字符串居凶。由于該字符串涉及用戶隱私,所以Apple在iOS5之后禁止開發(fā)者試圖獲取該字符串藤抡;否則應(yīng)用將被禁止上架侠碧。

IDFV

  • IDFV [identifierForVendor] - 給Vendor用以標(biāo)識(shí)用戶的32位字符串,每個(gè)設(shè)備在所屬同一個(gè)Vendor的應(yīng)用里具有相同的值缠黍;雖然該標(biāo)識(shí)一定可以讀取到弄兜,但卸載以后再安裝該字符串的讀取值會(huì)發(fā)生變化。

MAC地址

  • 在iOS 7中蘋果再一次無情的封殺mac地址瓷式,使用之前的方法獲取到的mac地址全部都變成了02:00:00:00:00:00替饿。

Keychain (該部分設(shè)置可參考 Demo

  • 我們可以把 Keychain 理解為一個(gè) Dictionary,其中的數(shù)據(jù)均以key-value的形式存儲(chǔ),可以對(duì)該Dictionary進(jìn)行add贸典、update视卢、get、delete四個(gè)操作廊驼。
  • 對(duì)于每一個(gè)應(yīng)用來說据过,Keychain 都有兩個(gè)訪問區(qū)即私有區(qū)和公共區(qū)。私有區(qū)是一個(gè) sandbox 妒挎,本程序存儲(chǔ)的任何數(shù)據(jù)對(duì)其他程序不可見蝶俱。而要將數(shù)據(jù)存儲(chǔ)在公共區(qū),需要先聲明公共區(qū)的名稱饥漫。
  • iOS的 Keychain 服務(wù)提供了一種安全的保存私密信息的方式榨呆,每個(gè)iOS應(yīng)用程序均有一個(gè)獨(dú)立的 Keychain 存儲(chǔ)。Keychain存儲(chǔ)的信息不會(huì)因APP的刪除而丟失庸队,只要是同一個(gè)APP(bunldid),即便重新安裝积蜻,依舊可以讀取到Keychain里存儲(chǔ)的數(shù)據(jù)。
  • 這樣就可以將獲取到 UUID 彻消,保存到KeyChain里面竿拆。
  • 刷機(jī)或重裝系統(tǒng)后 UUID 還是會(huì)改變。
  • 倘若只是配置同一個(gè) bunldleid 無論卸載與否均可以使用同一個(gè) UUID ,可做如下配置宾尚。

第一:添加文件

img1.png

第二:配置工程

img2.png

第三:存操作

img3.png

第四:取操作

img4.png

deviceToken 推送

  • 64位字符串,同一臺(tái)設(shè)備卸載在安裝值會(huì)改變,不被允許時(shí)全0丙笋;每次安裝都是唯一的

SimulateIDFA

  • 盡可能多的讀取設(shè)備信息生成唯一標(biāo)識(shí)

應(yīng)用

數(shù)據(jù)統(tǒng)計(jì)、用戶追蹤這些是應(yīng)用推廣運(yùn)營(yíng)工作中所需的參數(shù)指標(biāo)煌贴;與技術(shù)開發(fā)工作者而言御板,解決用戶設(shè)備唯一標(biāo)識(shí)無疑是首先面對(duì)的問題。iOS 系統(tǒng)原本有一個(gè)可用于唯一標(biāo)記設(shè)備的字符串標(biāo)記牛郑,只是當(dāng)用戶關(guān)閉廣告追蹤時(shí)怠肋,便無法獲取。

  • 用戶激活統(tǒng)計(jì):網(wǎng)上很多各種各樣的解決方案淹朋;但無疑歸納一下三種方式:

1> 取設(shè)備的 IDFA 笙各;

2> 盡可能多的取設(shè)備的信息然后附加隨機(jī)參數(shù)在自定義生成钉答;

3> 數(shù)據(jù)存儲(chǔ) Keychain 中。

用戶來源追蹤問題

  • 在應(yīng)用 A 中推廣應(yīng)用 B 的下載鏈接杈抢,倘若應(yīng)用 B 想統(tǒng)計(jì)通過應(yīng)用 A 推廣鏈接而來的新用戶数尿;網(wǎng)上有資料說可以考慮 iOS9 后蘋果推出的 SafariServices 或者 iOS10 之后的剪切板共享數(shù)據(jù)。

  • 網(wǎng)上給出的兩種方案大致如下:

1.1 iOS 因?yàn)橄到y(tǒng)封閉無法取得其他應(yīng)用的信息惶楼, iOS9 后蘋果推出的 SafariServices 可以在應(yīng)用中打開一個(gè) Safari 頁面砌创,這里可以嘗試獲取 Safari 的 cookie 。

1.2 假定未安裝 B 應(yīng)用的新用戶在應(yīng)用 A 中點(diǎn)擊了跳轉(zhuǎn)下載應(yīng)用 B 的中轉(zhuǎn)頁鲫懒;中轉(zhuǎn)頁可以將必要信息寫入系統(tǒng) cookie 嫩实。

1.3 用戶下載 B 應(yīng)用之后通過 SafariServices 獲取系統(tǒng) cookie(這里說的 cookie 不同與應(yīng)用內(nèi)部 UIWebView 或 WKWebView 所開辟的 cookie 存儲(chǔ)區(qū)) 數(shù)據(jù)。

2.1 雖然iOS系統(tǒng)封閉窥岩,但可以通過剪切板互通數(shù)據(jù)(iOS 10 一下 JS 無法讀寫剪切板)甲献。

2.2 假定未安裝 B 應(yīng)用的新用戶在應(yīng)用 A 中點(diǎn)擊了跳轉(zhuǎn)下載應(yīng)用 B 的中轉(zhuǎn)頁 ;該用戶打開的中轉(zhuǎn)頁將必要的信息通過 JS 寫入系統(tǒng)剪切板 颂翼。

2.3 用戶下載應(yīng)用 B 之后晃洒,使用原生操作剪切板的 API 讀取系統(tǒng)剪切板內(nèi)容(已嘗試,失旊Α)球及。

2.3 用戶下載應(yīng)用 B 之后,可以嘗試使用應(yīng)用 B 加載一個(gè) web 呻疹,再次借用 JS 讀取系統(tǒng)剪切板(未嘗試)吃引。

  • 在應(yīng)用中使用蘋果在 iOS9 之后推出的 SafariServices 服務(wù)的確可以讀取到設(shè)備默認(rèn)瀏覽器的 cookie ;但應(yīng)用讀取過程中必須展示一個(gè)類似 Safari 打開的網(wǎng)頁刽锤,當(dāng)然你可以在其上加一層蒙版镊尺。剪切板方案測(cè)試中,JS 并未成功操作系統(tǒng)剪切板并思,所以應(yīng)用的原生 API 也就讀取不到庐氮; 但該方案可以嘗試在原生應(yīng)用中加載一個(gè) Web 頁來讀取剪切板。
參考
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弄砍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子输涕,更是在濱河造成了極大的恐慌音婶,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件占贫,死亡現(xiàn)場(chǎng)離奇詭異桃熄,居然都是意外死亡先口,警方通過查閱死者的電腦和手機(jī)型奥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門瞳收,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厢汹,你說我怎么就攤上這事螟深。” “怎么了烫葬?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵界弧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我搭综,道長(zhǎng)垢箕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任兑巾,我火速辦了婚禮条获,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蒋歌。我一直安慰自己帅掘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布堂油。 她就那樣靜靜地躺著修档,像睡著了一般。 火紅的嫁衣襯著肌膚如雪府框。 梳的紋絲不亂的頭發(fā)上吱窝,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音迫靖,去河邊找鬼癣诱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛袜香,可吹牛的內(nèi)容都是我干的撕予。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蜈首,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼实抡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起欢策,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤吆寨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后踩寇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體啄清,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年俺孙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辣卒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掷贾。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖荣茫,靈堂內(nèi)的尸體忽然破棺而出想帅,到底是詐尸還是另有隱情,我是刑警寧澤啡莉,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布港准,位于F島的核電站,受9級(jí)特大地震影響咧欣,放射性物質(zhì)發(fā)生泄漏浅缸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一魄咕、第九天 我趴在偏房一處隱蔽的房頂上張望疗杉。 院中可真熱鬧,春花似錦蚕礼、人聲如沸烟具。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朝聋。三九已至,卻和暖如春囤躁,著一層夾襖步出監(jiān)牢的瞬間冀痕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工狸演, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留言蛇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓宵距,卻偏偏與公主長(zhǎng)得像腊尚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子满哪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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