Android体系ID知多少?【技术类】
摘要:移动Android设备体系ID您知道多少?
既本系列《移动设备ID烦恼知多少?》、《IOS体系ID知多少?》后我们来详细看一下Android体系中的各种设备ID吧:
虽然Android相对能获取到的ID的权利没有IOS限制的那么严格,但是也正是Android的山寨机横行、2014年Android2.3基于Google Play推出了IDFA、各种ID满天飞可能导致的麻烦问题比IOS只会多不会少。
一、Android6.0带来的噩耗:
另外还有个噩耗是已发布有一段时间的Android6.0(代号棉花糖)推出了“运行时权限”,简单说就是App若需要获取高密级的权限需要每次询问用户是否同意,如下图所示(左申请单权限、右同时申请多权限):
而不是像之前那样在App安装的时候需要的权限全打上了勾,用户也不在意,安装好之后用户也不能取消这些权限。如下图所示:
Android6.0系统还提供了一个用户可以管理应用权限的界面,通过这个界面用户可以把已经授予的权限再关闭,界面长得是这样的:
二、IMEI
只有Android手机才获取的到, IMEI号是一串15位的号码,比如像这样 359881030314356
获取代码如下:
TelephonyManager TelephonyMgr =(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String szImei = TelephonyMgr.getDeviceId();
需要权限<uses-permissionandroid:name="android.permission.READ_PHONE_STATE" />
通常用户会因为你向他们要了这个权限而给你一个差评,因为他们觉得你就是在窃取他们的隐私,很明显,你就是在收集一些数据。
注意:Android6.0运行时对此做了权限限制:
其中“READ_PHONE_STATE”权限是用来获取deviceID,即IMEI号码。所以一般建议在完全支持运行时权限之前,将对应的值写入到App本地数据中,对于新安装的,可以采取其他策略减少对统计的影响。
我们大概统计了一下目前Android6.0大体市场占比及IMEI用户关闭获取权限的数据如下:
Android6.0在Android占比20%左右,其中6.0有35%左右的用户会禁止获取IMEI。
三、无线网卡地址:
APP端无线网卡mac地址获取方法:
WifiManager wifiManager=(WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfowifiInfo=wifiManager.getConnectionInfo();
String mac=wifiInfo.getMacAddress();
这种方法比较通用。
注意:最近在Android 6.0系统上,这个方法失效了,返回了“02:00:00:00:00:00”的常量。这并不是一个BUG,在google的博客中找到如下一段话:
Most notably, Local WiFi and Bluetooth MACaddresses are no longer available. The getMacAddress() method of a WifiInfoobject and the BluetoothAdapter.getDefaultAdapter().getAddress() method willboth return 02:00:00:00:00:00 from now on.
可以考虑使用NetworkInterface.getHardwareAddress。其原理和cat/sys/class/net/wlan0/address是一模一样的,但是这个是上层API,不需要自己处理底层数据,在Android 6.0上测试通过。
NetworkInterface networkInterface =NetworkInterface.getByName("wlan0");
byte[] mac =networkInterface.getHardwareAddress();
问题:
1.如果重启手机后,Wifi没有打开过,是无法获取其Mac地址的。(可以考虑授予CHANGE_WIFI_STATE权限,开关一次wifi刷一下。)
2.有一些定制系统的目录并不一样。 例如三星的目录为"cat/sys/class/net/eth0/address",所以是否对所以机型都有效有待验证。(需要适配)
3.网上也有反映mac变更问题,是不是刷mac或者wifi故障导致,也不确定。
4.并不是所有的设备都有Wifi硬件,硬件不存在自然也就得不到这一信息。(这个还好)
5.需要 ACCESS_WIFI_STATE 权限。(这个权限还好,用户比较容易通过)
B.通过WIFI上网或WIFI AP探针SSID广播扫描WIFI AP均可以获取这个设备的MAC地址。
四、ANDROID_ID
在设备首次启动时,系统会随机生成一个64位的数字,并把这个数字以16进制字符串的形式保存下来,这个16进制的字符串就是ANDROID_ID,当设备被恢复出厂设置后该值会被重置。可以通过下面的方法获取:
import android.provider.Settings; String ANDROID_ID =Settings.System.getString(getContentResolver(),Settings.System.ANDROID_ID);
ANDROID_ID可以作为设备标识,但需要注意:
它在Android <=2.1 or Android>=2.3的版本是可靠、稳定的,但在2.2的版本并不是100%可靠的。
厂商定制系统的Bug:不同的设备可能会产生相同的ANDROID_ID:9774d56d682e549c。(摩托罗拉好像出现过这个问题)
厂商定制系统的Bug:有些设备返回的值为null。
设备差异:对于CDMA设备,ANDROID_ID和TelephonyManager.getDeviceId() 返回相同的值。
并且,如果某个Andorid手机被Root过的话,这个ID也可以被改变。
五、设备序列号(Serial Number, SN)
获取办法:
String serialNum = android.os.Build.SERIAL;
装有SIM卡的设备获取办法:getSystemService(Context.TELEPHONY_SERVIEC).getSimSerialNumber();
注意对CDMA设备,返回的是一个空值。
在Android 2.3可以通过android.os.Build.SERIAL获取,非手机设备可以通过该接口获取。
在少数的一些设备上,会返回垃圾数据。对于没有通话功能的设备,它可能会返回一个固定的值。
六、IDFA
2014年Android2.3基于Google Play推出了IDFA,功能同IOS的IDFA一样,允许用户重置或禁用该ID,由用户决定是否愿意被追踪。由此就出现了各种各种ID的问题。设置界面如下图所示:
但是在中国发行的国行手机由于某些原因,google地图、Play等基础App被阉割掉了,这样导致在中国国行手机中都获取不到该IDFA。(除非用户自行Root并安装google Play)
所以这也是市场中Android体系ID混乱的根本点所在。尤其突出的是google Adx在中国大量的Android流量长期无可用的ID标识的尴尬局面,这个问题google Adx今年应该有所调整。
七、OpenUDID
非Android官方提供的Api,由于Android体系ID较混乱,所以也有很多大厂在使用该ID。原代码地址如下:https://github.com/vieux/OpenUDID
用法如下:
* Addthis to your manifest:
<serviceandroid:name="org.openudid.OpenUDID_service">
<intent-filter>
<actionandroid:name="org.openudid.GETUDID" />
</intent-filter>
</service>
* Call`void OpenUDID_manager.sync(Context yourContext);` to initialize the OpenUDID
* Call`boolean OpenUDID_manager.isInitialized();` to check if the initialization isover (it's asynchronous)
* Call`String OpenUDID_manager.getOpenUDID();` to retrieve your OpenUDID
目前国内市场上Android主要以IMEI作为广告流量标识为主,国外市场主要以IDFA为主,但是随着Android6.0的运行时权限限制,Android体系中的ID将面临洗牌。
(转载请注明出处:微信订阅号:ad_automation)
文字的表现力毕竟有限,若大家还比较迷糊的话,欢迎参加1.7号的线下大课堂专门增加了针对移动ID的专题,可面对面为您答疑解惑讲透这些问题。
相关推荐阅读:
《1月7日下午3点中关村创业大街线下沙龙通知-主题“多CampaignPDB”》
长按二维码关注程序化广告实战系列分享
欢迎大家加入【程序化广告实战互动群】,由于此群已400+,需要在加群之前请先加微信13121124046(伍刀刀),我们拉您入群。
2017年1月7日下午3点线下课程通知
-主题“多CampaignPDB”
应大家的需求增加了针对程序化广告关键的移动ID专题,可面对面为您答疑解惑讲透这些移动ID的问题。
此次活动是农历猴年的最后一次活动,时间就这么从指缝间溜走了。在2017年,我们还将持续举办围绕程序化广告的优质活动,包括PDB、DSP、RTB、数据监测等系列课程,相信你参加完所有的活动,将对整个程序化广告有全面、系统、深度的认知。
以下是1月7日活动的详细信息:
本期活动主题:程序化广告实战——PDB3:多CampaignPDB
活动详细安排:
14:50-15:00 签到
15:00-16:30 吴俊老师分享PDB3
16:30-17:00 全体同学自由social时间
在讲解过程中,如果你有任何问题,可随时提问。
活动时间:2017年1月7日 周六下午 15:00——17:00
活动地点:海淀大街10号中关村创业大街聚创空间(海淀桥东南角)
报名方式:
第一步:添加微信号:13121124046(伍刀刀);
第二步:填写报名表,并缴纳200元报名费(单次体验票¥200,欢迎大家选购文末介绍的超实惠的¥1680年包套餐(1.1后订购价¥1920)、或¥3688VIP年包套餐(1.1号后订购价¥4188),超低优惠价仅3周,预购从速);
第三步:活动当天来到活动现场签到参与。
另外,为了满足无法亲临现场同学的需求,此次活动我们增加了线上同步直播及视频回看。
如何参加线上直播及视频回看?
第一步:添加微信号:13121124046(伍刀刀);
第二步:填写报名表,并缴纳200元报名费;(单次体验票¥200,欢迎大家选购文末介绍的超实惠的¥1680年包套餐(1.1后订购价¥1920)、或¥3688VIP年包套餐(1.1号后订购价¥4188),超低优惠价仅3周,预购从速);
第三步:我们会将以您手机号作为唯一识别码加入直播间,给您可以在线直播互动及视频回看的课程地址参与活动。
移动端直播地址:
http://mudu.tv/?c=activity&a=live&id=27033
PC端直播地址:
http://mudu.tv/watch/469544
直播将以视频形式进行,而且能够进行互动,我们将回答您在直播间提出的每个有价值的问题。而且若您时间上冲突,依然可以等有空的时候回看即可。
如您在报名中遇到任何问题,请拨打电话或添加微信:13121124046(伍刀刀)随时联系我们。
PDB课程讲解提纲:
How to Deploy PDB – 多Campaign版
千人千面
系统智能判别投放
若无法识别这个访客时,系统也会启动智能投放的机制
智能优化:通过智能预测模型,多维度优化
主要算法逻辑 - 根据用户属性及人群匹配不同产品广告
跨网站频次控制——对独立用户适度曝光,节省人群覆盖成本
物料优化——准备多版广告物料,全程优化筛选
有效降低CPUV 、让广告预算的使用更有效率
PDB – 对接各类媒体对应的技术方式
数百客户近千项目已运用PDB管理了近百亿广告投放预算
CASE
——某国际知名汽车集团
——新车上市“轰天雷”计划
——“某大型汽车广告主”自采数亿广告资源投放优化
广告主自采媒体的固定位优化
多项目同时进行投放 (以年约投放项目为例)
固定位优化数据分享
PDB执行流程细节指导示范
——执行流程概览
——执行步骤
—— 流程细节-准备期
—— 流程细节-执行期及Review
—— 流程细节-执行期及Review(续)
PDB负责的具体执行环节
——媒体对接 启动准备至少提前一个月
——媒体对接 商务谈判
——媒体对接 技术对接文档
——媒体对接 PDB广告技术服务的主要技术对接模式
——媒体对接 目前主流跨屏黄金媒体,近百个优质点位已支持PDB技术对接
——媒体对接 对接全部主流OTV媒体执行退量操作经验
——投放设置 执行投放流程提前5工作日
——投放设置 主要优化KPI参考
——报表提供 CPD(campaign分账)报表系统截图
——报表提供 视频投放日报-示例
——报表提供 视频投放周报-示例
——报表提供 视频投放周报-示例
——定期review 示例
——定期review 人群及媒体分析示例
精彩PPT提前看:
吴俊老师简介:
吴俊老师是中国广告PDB(Programmatic Direct Buy 私有程序化购买)第一人。现任掌慧纵盈高级产品总监,专注于线下数据线上打通营销解决方案,推动数字营销新升级。
更多朋友们对于吴俊老师的了解来自于他此前在品友的工作经历。吴俊老师是原品友负责PDB/移动/流量的产品总监,拥有16年以上IT/互联网行业从业经验和超过5年的程序化广告工作经验。他在2014年负责推动了中国首个PDB广告投放项目(2014中国国际广告节长城奖金奖上海通用汽车私有程序化广告投放案例),通过PDB帮助广告主管理了数亿广告预算投放,在广告主包段的门户及垂直媒体PC和移动端黄金广告位以及视频媒体贴片黄金资源,实现了广告投放的跨媒体联合频控、千人千面;最终有效提升了广告主广告预算的ROI:CPUV降低至少30%以上(即相同的预算覆盖更多的受众);平均CPL降低20%以上(降低销售线索的获得成本,同时广告主反馈后续CPQL验证及后续转化效果也比较好)。
2014年底2015年初在市场反馈十分巨大的视频广告PDB领域持续发力,推动行业内视频广告PDB业务大规模迅速发展,目前市场上已有上海通用汽车、玛氏、欧莱雅、人头马、Burberry、高露洁、黑人、雅士利等等等等不同行业,近百广告主近千视频OTV项目通过PDB方式进行了投放。无论是对效果营销客户还是品牌营销客户,吴老师都有极为广博的经验。
往期部分学员的反馈:
锋暴研习社:由国内知名营销人士吴俊、宋星等人发起,致力于打造一个营销界内的学习社群,开设极具价值的营销系统课程,持续不断的输出原创营销干货,定期举办线下讲座、沙龙活动,使圈内的每个营销人得到快速成长与提升。
(点击“阅读原文”查看报名通知原文)