扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
12年9月份iOS6发布,IDFA面世,用于给开发者跟踪广告的投放效果。
站在用户的角度思考问题,与客户深入沟通,找到古蔺网站设计与古蔺网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、雅安服务器托管、企业邮箱。业务覆盖古蔺地区。
App中开通广告、或使用第三方SDK(如新浪微博登录|分享、友盟统计)、或uni-app使用uni统计,为了保证功能的完整性建议应用开启使用IDFA标识。
在manifest.json文件的“App常用其它设置”中可勾选开启(注意HBuilderX2.4以上为默认勾选)
需提交云端打包生效
开启后,云端打包会有提醒
友盟统计SDK需要开启idfa
即使没有勾选IDFA,只要使用了 友盟统计 则会自动开启IDFA。
开启IDFA后提交AppStore时需将“此App是否使用广告标识(IDFA)”选择项中勾选“是”,如下图所示:
开启IDFA不影响AppStore审核
目前没有封装5+ API获取idfa标识,可以通过native.js获取:
参考Uni插件示例:
配置参考文档:
在iOS5之前,获取设备唯一标识都是采用UDID。
12年9月份iOS6发布,IDFA面世,用于给开发者跟踪广告的投放效果。
一直到13年5月份App Store明令禁止获取UDID的应用上架,但是人们也找到了其他方法,比如:获取Mac地址和OpenUDID。
再到13年9月份iOS7的发布,苹果又采取别的措施,获取到的Mac地址在iOS7上都是相同的值,并且对剪贴板进行限制,导致OpenUDID无法被不同的应用共享相同的值。
最后IDFA成为了目前为止苹果跟踪广告的主要标识。
2017.9.29
但是,这个值 不是唯一确定的! 也就是说用户可以根据自己的意愿来还原或者禁止获取这个值。
用户可以通过 设置---隐私---广告 来操作。
在获取IDFA之前可以先进行判断。开关切换的时候IDFA会变,还原的时候会变,用户重置手机系统的时候也会变。
设备唯一标识符。大哥级别的人物,iOS5以后退出历史舞台了。
在UDID被禁用后的一个开源方案,原理好像是利用剪贴板在同一设备上的不用应用间共享一个OpenUDID,但是后来iOS7对剪贴板进行了限制,功能被废掉了。
网卡地址,具有唯一性,同样,iOS7之后当你获取Mac地址的时候会返回一个固定值。
通用唯一识别码。
分为两种方法,一个是CFUUID,另一个是NSUUID,后者更加面向对象,获取到的值都是一样的。需要注意的是, 每次获取到的UUID都是不一样的 ,所以需要第一次获取到以后保存到Keychain中。(目前只了解到操作Keychain需要用到Security.framework,貌似提供了增删改查功能,具体没有研究)
以上4项代表的含义:
提交时:
检查项目中是否使用IDFA:
看这个就好啦!~
检查iOS项目中是否使用了IDFA - 刘靖煌
本人iOS小白
欢迎指教和打脸!~
也欢迎点赞!~
依赖: AdSupport.framework
系统支持: iOS6及以上系统
获取方式: [ASIdentifierManager sharedManager].advertisingIdentifier.UUIDString
定义: 由数字和字母组成的用来标识唯一设备的字符串。
特点:
依赖: UIKit.framework
系统支持: iOS6及以上系统
获取方式: [UIDevice currentDevice].identifierForVendor.UUIDString
定义: 由数字和字母组成的用来标识唯一设备的字符串。
特点: 根据vendor的值,如果vendor相同,则返回同一字符串;如果vendor不同,则返回不同的字符串。
vendor解释: 英文解释为卖家,小贩。根据xcode文档解释,正常情况下,会根据App Store提供的数据进行判断。但是如果app不是通过app store进行安装的(如企业应用或开发调试阶段),那么会根据bundle ID判断。
判断准则:
CocoaChina里的这文章里讲的更细更全,有兴趣的可以了解
ios10更新之后一旦开启了 设置-隐私-广告-限制广告跟踪之后 获取到的idfa将会是一串00000 跟mac地址一个尿性,而且每次开启在关闭之后 相应的idfa也会重新生成,相当于还原了一次广告标识符。
获取idfa的方法:
#import
NSString *idfa = [[[ASIdentifierManagersharedManager]advertisingIdentifier]UUIDString];
ios10 之后最好加一个判断[[ASIdentifierManagersharedManager]isAdvertisingTrackingEnabled] 返回值是BOOL值 如果返回的YES说明没有 “开启限制广告跟踪”,可以获取到正确的idfa 如果返回的是NO,说明等待你的就是一串00000000000
如果用户限制广告追踪,开发者获取IDFA将是 一串数字 0。这会极大的影响广告商以及需要推广APP的开发者。
IDFA替代方案解决方案:
推荐使用SimulateIDFA。 重复的概率微乎其微,而且不会被苹果拒绝,不用额外声明嵌入了广告
目前,有米已经开始在部分流量中 测试 SimulateIDFA解决方案。
SimulateIDFA开源项目Github详情:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流