你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> [iOS]iOS8可用的識別用戶方式(idfa、UUID、idfv)

[iOS]iOS8可用的識別用戶方式(idfa、UUID、idfv)

編輯:IOS開發綜合

 

想要追蹤、統計用戶,自然離不開用戶唯一標識符,這是每個公司都面臨的問題。在歷史上唯一標識符很多,如UDID、MAC地址、OpenUDID等,不再一一介紹他們是怎麼掛掉的,現在好用的只剩下了idfa、idfv、UUID+keyChain。

 

idfa(Advertising Identifier):可以理解為廣告id,apple公司提供的用於追蹤用戶的廣告標識符。

缺點:用戶可通過設置-隱私-廣告-還原廣告標識符 還原,之後會得新的到標識符;

要求iOS>=6.0。

使用:

  #import 

  NSString *idfa= [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];


idfv (identifierForVendor):apple提供給Vendor的唯一標識符,Vendor代表了應用開發商,實際使用時,一個Vendor是CFBundleIdentifier(反轉DNS格式)的前兩部分。例如,com.baidu.tieba 和 com.baidu.image 得到的idfv是相同的,因為它們的CFBundleIdentifier 前兩部分是相同的。

缺點:把同一個開發商的所有應用卸載後,再次安裝取到的idfv會不同。假設手機上裝有公司的兩款app:貼吧、

要求:iOS>=6.0

使用:

 NSString *idfv = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

 

UUID(Universally Unique Identifier):通用唯一識別碼,每次生成均不一樣,所以第一次生成後需要保存到鑰匙串,這樣即使應用刪除再重裝仍然可以從鑰匙串得到它。

使用:

UUID生成方法很多種,這裡只寫出一種。生成一個UUID:

 

-(NSString*) uuid {
    CFUUIDRef puuid = CFUUIDCreate( nil );
    CFStringRef uuidString = CFUUIDCreateString( nil, puuid );
    NSString * result = (NSString *)CFBridgingRelease(CFStringCreateCopy( NULL, uuidString));
    CFRelease(puuid);
    CFRelease(uuidString);
    return result;
}
將UUID儲存在鑰匙串,這裡用到了一個第三方的工具 SFHFKeychainUtils,github地址

 

 

 [SFHFKeychainUtils storeUsername:@UDID andPassword:[self uuid] forServiceName:@ZYB updateExisting:1 error:nil];
從鑰匙串取出UUID:

 

 

[SFHFKeychainUtils getPasswordForUsername:@UDID andServiceName:@ZYB error:nil]

注意,如果沒有存儲就直接取出會crash。

 

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved