ios开发idfa,iOs开发高级工程师

iOS平台配置应用使用广告标识(IDFA)

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插件示例:

配置参考文档:

iOS - 广告标识符(IDFA & IDFV)

在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小白

欢迎指教和打脸!~

也欢迎点赞!~

iOS唯一标识符(IDFA&IDFV)

依赖: 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获取不了解决方案

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详情:


分享名称:ios开发idfa,iOs开发高级工程师
标题网址:http://scyanting.com/article/phsoie.html