博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[iOS]iOS8可用的识别用户方式(idfa、UUID、idfv)
阅读量:7044 次
发布时间:2019-06-28

本文共 1451 字,大约阅读时间需要 4 分钟。

        本文地址:http://blog.csdn.net/zhaoyabei/article/details/46682765       

        想要追踪、统计用户,自然离不开用户唯一标识符。这是每一个公司都面临的问题。在历史上唯一标识符非常多,如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,

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

[SFHFKeychainUtils getPasswordForUsername:@"UDID" andServiceName:@"ZYB" error:nil]
注意。假设没有存储就直接取出会crash。

你可能感兴趣的文章
CSS 小三角
查看>>
Ruby on Rails 曝路径穿越与任意文件读取漏洞
查看>>
分享一个基于 Node.js 的 Web 开发框架 - Nokitjs
查看>>
mysql 简单全量备份和快速恢复
查看>>
全面解密QQ红包技术方案:架构、技术实现、移动端优化、创新玩法等 ...
查看>>
Python进阶:设计模式之迭代器模式
查看>>
Java是如何实现平台无关性的
查看>>
线上马戏团对接协议部分介绍
查看>>
一文纵览自然语言生成的发展
查看>>
常见seo骗局
查看>>
RNA药物研发初创公司Panorama Medicine完成370万美元种子轮融资 ...
查看>>
hanlp提取文本关键词的使用方法记录
查看>>
SpringBoot - 日志配置
查看>>
Python零基础学习笔记(十四)—— while语句
查看>>
swap释放过程浅析
查看>>
linux gzip
查看>>
Python知识点:lambda, map, filter
查看>>
zabbix snmp模板通用
查看>>
RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势
查看>>
Angular prod打包编译异常
查看>>