查看原文
其他

Android体系ID知多少?【技术类】

吴俊 吴俊数字化之道 2022-06-24

摘要:移动Android设备体系ID您知道多少?

 

既本系列《移动设备ID烦恼知多少?》IOS体系ID知多少?》后我们来详细看一下Android体系中的各种设备ID吧:

 

虽然Android相对能获取到的ID的权利没有IOS限制的那么严格,但是也正是Android的山寨机横行、2014Android2.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.0Android占比20%左右,其中6.035%左右的用户会禁止获取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

2014Android2.3基于Google Play推出了IDFA,功能同IOSIDFA一样,允许用户重置或禁用该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”》

独立DSP未来预测(下)——数字营销2017职业鸡汤

《《大数据营销与程序化广告实战》线下大课回顾》

PDB之坑()

《《线下大数据驱动营销新趋势》WAW831分享内容》



长按二维码关注程序化广告实战系列分享

 欢迎大家加入【程序化广告实战互动群】,由于此群已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方式进行了投放。无论是对效果营销客户还是品牌营销客户,吴老师都有极为广博的经验。


往期部分学员的反馈:



锋暴研习社:由国内知名营销人士吴俊、宋星等人发起,致力于打造一个营销界内的学习社群,开设极具价值的营销系统课程,持续不断的输出原创营销干货,定期举办线下讲座、沙龙活动,使圈内的每个营销人得到快速成长与提升。 

(点击“阅读原文”查看报名通知原文

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存