![6f9f7bdb9da774869b92e89fb6d7784c.png](https://i-blog.csdnimg.cn/blog_migrate/716633532b14225a4032ffb46207e015.png)
1、原理概述
分析用户行为,首先需要标识用户。选取合适的用户标识,对于提高用户行为分析的准确性有非常大的影响,尤其是对漏斗、留存、Session 等和用户相关的分析功能。
在事件中,我们可以新增一个 distinct_id 字段,来标识是哪个用户触发的事件,比如:
{
"event": "$AppClick",
"time": 1575337589670,
"distinct_id": "D8E4354E-C18A-44BB-BC75-548BD67C56E5",
"properties": {
"$model": "x86_64",
"$manufacturer": "Apple",
"$element_type": "UIButton",
"$lib_version": "1.0.0",
"$os": "iOS",
"$element_content": "Button",
"$app_version": "1.0",
"$screen_name": "ViewController",
"$os_version": "13.2.2",
"$lib": "iOS"
}
}
提示:在数据分析里,用户是指事件发生的主体,不一定就是指使用终端的人,也可以是一个企业、商家,甚至是一辆汽车,需要根据具体的业务场景而定。
对于唯一标识一个用户,需要考虑两种场景:
- 用户登录之前如何标识?
- 用户登录之后如何标识?
下面,我们分别进行介绍。
(1)登录之前
对于登录之前的用户,我们可以努力去唯一标识 ta 当前正在使用的 iOS 设备。业界一般使用 iOS 设备的某个特定属性或者某几个特定属性组合的方式,来唯一标识一台 iOS 设备。此时的用户 ID,我们一般称之为设备 ID 或匿名 ID。对于究竟该如何去唯一标识一台 iOS 设备,目前业界也没有一个非常完美或普适的方案。同时,苹果为了维护整个生态系统的健康发展,也会极力阻止个人或者组织去唯一标识一台 iOS 设备。因此,对于如何唯一标识一台 iOS 设备,将会是一场持久战,更是一个多方博弈的过程。可能我们唯一能做的,就是在现有的条件及政策之下,尝试努力寻找一种最优的解决方案。
下面,我们介绍几个常见的可以考虑用来作为 iOS 设备 ID 的属性。
A、UDID
UDID 的英文全称是 UniqueDeviceIdentifier,是设备唯一标识符的缩写。从名称我们可以猜测到,UDID是和设备相关的,而且只跟设备相关。它是一