时间:2023-01-19 | 标签: | 作者:Q8 | 来源:网络
小提示:您能找到这篇{不进行APP埋点的情况下,SDK可以收集到哪些数据}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的不进行APP埋点的情况下,SDK可以收集到哪些数据内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
产品经理的能力模型中,有一项是“数据分析”能力,在日常工作中,也会有意识地培养“数据思维”,而建立“数据思维”的第一步就是“数据采集”。 “数据采集”需要产品经理或者数据分析师,在APP发版前,提供非常详细的代码埋点文档(PS:现在可视化埋点技术也比较成熟,可作为代码埋点的有效补充),本文将分享下,仅接入了统计平台的SDK,而没有进行代码埋点的情况下,SDK可以收集到哪些信息。 市面上主流的2个APP统计平台为友盟和TalkingData(以下简称TD),本文以友盟和TD为例,在只接入这2家的SDK接入,SDK可以收集到哪些数据,并上报到各自的数据分析平台,形成可视化操作页面。 (顺便提下,比较优秀的APP统计平台还有:growingIO、神策数据、MTA、百度统计、诸葛IO) 一、不埋点,也可以统计得到用户数在APP的数据指标中,首先想到和用户数相关的指标为:新增、活跃和累计。 先简单介绍下这3个指标的定义:
以上3个指标,友盟和TD均采用设备号作为唯一标识。 友盟的设备号为UMID,定义如下:
TD的设备号为TDID,定义如下:
PS:友盟的UMID和TD的TDID,都是1个称谓而已。 用户数,是以当前手机的设备号为依据,因此不需要埋点就可以收集得到。 抛出1个问题:用户数,准确么? 答案是:不准确。 简单介绍一下,不管友盟还是TD,都是采集手机的设备号作为主要参数,生成对应的UMID和TDID。在少数情况下,手机的设备号会发生变化,随之带来的就是用户数的不准确,比如:这里最让人抓狂的iPhone机型。 iPhone曾经可使用的设备号包括:UDID、MAC地址、openUDID、IDFA、IDFV、UUID。目前可使用的设备号,仅剩IDFA、IDFV和UUID了,而这个标识。在某些情况下,可能读取不到,或者会发生变化。 已有的老用户的设备号发生变化,系统会生产新的UMID或TDID,导致老用户被系统识别为1个新用户,新增用户+1,累计用户+1。 二、不埋点,也可以收集得到收集的系统信息先给大家示意一小段SDK报过来的数据:
第1行中的 devId,即为加工后的设备号,友盟称为UMID,TD称为TDID。用于唯一标识1台设备。 第2行中的productId,即为APPID,用户标识1个APP;比如今日头条iOS端接入了友盟的SDK,那么友盟在系统上给今日头条iOS这个APP分配1个专属APPID。 示例数据其他各行的数据,依次为:APP的包名、APP名称、APP版本号、APP启动时间(1537085493000为Unix时间戳,转成北京时间为:2018/9/16 16:11:33)、渠道号(这里的渠道号,是工程师在打包的时候,为了区分渠道来源,“写死”在安装包中的信息。比如:上传到应用宝应用市场的包,渠道号可以命名为“yingyongbao”,也可命名为“yyb123”),APP包是否被破解,APP启动时间,APP的购买时间。 除了以上数据外,SDK还会上报的数据有: 机型(如:iPhone 6s puls)、操作系统的版本号(如:iOS 11.4.1)、屏幕分辨率,当前手武汉最好的网络营销公司机的名称(如:张三的iPhone,李四的安卓华为P20手机),是否越狱,设备号(Android上报IMEI,iOS上报IDFA或者IDFV)。 经纬度,地区(CN、中国),电信运营商(如:中国移动、中国联通、中国电信、中国香港移动……),网络类型(如:2G、3G、4G、wifi、离线),wifi名称(如:CMCC、隔壁老王的wifi); 不知道你注意到了没有,手机连过的wifi名称,SDK是可以收集得到的,方不方? 三、写在后面,用户隐私的考虑说明下,在APP数据收集这个链条中,有3个角色:用户、APP开发商、SDK统计平台。 SDK统计平台收集了这么多信息,或者说APP开发商借助SDK,收集了这么多信息,对用户来说,是不是侵犯了用户隐私? 现实是,APP开发商知道张三在APP里的一举一动,知道你每个行为的含义(比如:在2018年9月18日购买了1台iPhone x,支付方式为支付宝,在购买页面犹豫了2秒)。而,SDK统计平台,也知道用户的一举一动。 一般情况下,它不知道这个用户是谁,更不知道这些动作的含义,就酱紫。 四、附,系统平台设备号的生成方法友盟的设备号称为UMID,TD的设备号称为TDID。 在这里,补充描述系统平台设备号的计算方法,我们自命名为DeviceID。 (1)Android平台 统计SDK可直接读取到Android设备的IMEI号,用该IMEI号,即可生成DeviceID。 XXID可以通过以下公式获取: DeviceID=x1+MD5(android_imei_mac) (2)IOS平台 UDID: UDID(设备唯一标识符,Unique Device Identifier),之前一直是设备唯一标识的神器,各大应用和统计SDK均通过获取UDID标识设备。不过,2013年5月1日后,读取UDID的应用,将被拒绝上架,相当于把这条路封死了。 MAC地址: IOS7.0以前的设备,可读取MAC地址,通过该MAC地址,即可生成DeID。 DeviceID可以通过以下公式获取: DeviceID=x2+MD5(ios_mac) IOS7.0及以后的设备,MAC地址返回的是一个固定值,因此对于IOS7.0及以后的设备,将无法通过MAC地址来标识设备的唯一性。 openUDID: openUDID,是通过第一个带有OpenUDID SDK包的App生成的,在下列2种情况下,openUDID会重新生成:
考虑到90%以上的用户在IOS系统更新后,均会重新生成openUDID,采用openUDID方法标识用户唯一性也慢慢被弃用。 IDFA&IDFV: IDFA(广告标识符,Advertising Identifier),是苹果公司提供的用于追踪用户的广告ID,同一手机的不同APP对应着相同的IDFA,IDFA可通过以下步骤重置:设置-隐私-广告-还原广告标识符。 如DeviceID可以通过以下公式获取: DeviceID=x2+MD5(IDFA) 因为IDFA会存在取不到的情况,因此需要选用其他的ID作为DeviceID。在取不到IDFA的情况下,我们选用IDFV。 IDFV(Vindor标示符,IdentifierForVendor),一般用于追踪用户在应用内的行为,每个设备在所属同一个Vender的应用里值是相同的。如果用户删掉了该vender的所有APP,IDFV将会被重置。 DeviceID可以通过以下公式获取: DeviceID=x2+MD5(IDFV) UUID: UUID(通用唯一标识码,Universally Unique Identifier),通用唯一识别码,每次生成均不一样;第1次生成后UUID后,需要保存到钥匙串(keyChain)中;应用被删除再重装时,仍然可以从钥匙串得取到UUID;在一台设备上,同一个开发者账号的所有APP,可获取到相同的UDID;刷机或者重新安装系统后,UUID将重新生成。 DeviceID可以通过以下公式获取: DeviceID=x2+MD5(UUID) 综上可知,iOS的DeviceID的获取方法可以概括为:IOS7.0以前的设备,DeviceID=x2+MD5(ios_mac) IOS7.0及以后的设备,DeviceID=x2+MD5(IDFA/IDFV/UUID),即先取IDFA的值,取不到IDFA时去取IDFV的值,再取不到时IDFA时,则生成UUID。 备注:这里用x1和x2这个前缀,是用来区分Android和iOS的设备号;如:可以用数字“1”来作为Android的前缀,用数字“2”作为iOS的前缀;后面在进行数据分析时,看到1开头的,就知道这是Android的设备了。
本文由 @十三先 于。, ,基于CC0协议 |
上一篇:数据分析实战|网站(中篇):读者视角
下一篇:避免“数据湖”成为“数据沼泽”,流动的“数
小提示:您应该对本页介绍的“不进行APP埋点的情况下,SDK可以收集到哪些数据”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通不进行APP埋点的情况下,SDK可以收集到哪些数据的相关事宜。
关键词:3年, SDK, 中级, 数据采集