iOS设备识别信息收集统计解决方案

获取设备唯一标识符

可作为设备唯一标识的几种方法:

  1. ** UDID(Unique Device Identifier)**。iOS5以后不可用。
  • CFUUID。获得的这个CFUUID值系统并没有存储。每次调用CFUUIDCreate,系统都会返回一个新的唯一标示符。
  • NSUUID。跟CFUUID一样,这个值系统也不会存储,每次调用的时候都会获得一个新的唯一标示符。
  • MAC Address。iOS7以后不可用,取不到正确的值,都是相同的值。
  • OPEN UDID。生成码-剪贴板,iOS7以后不能用,GitHub中已启用。
  • 广告标示符(IDFA-identifierForIdentifier)。返回NSUUID实例,用户还原广告,会重置,还原系统会重置。审核规定,获取IDFA而不使用广告功能会被拒。
  • Vindor标示符 (IDFV-identifierForVendor) 。返回NSUUID实例,相同供应商下所有APP删除,会变
  • 推送token+bundle_id 。依靠APNS,需要网
    关于这几种标识符的介绍可以看这篇文章,也可以看《The Developer’s Guide to Unique Identifiers》 (中文翻译)

下图是总结的几种标识符的情况。

iOS设备识别信息收集统计解决方案_第1张图片
获取设备标识符.png

唯一标识符获取策略

直接使用NSUUID,获取方法:

NSString *uuid = [[NSUUID UUID] UUIDString];

使用苹果提供的Vindor标示符,获取方法

    NSString *IDFVString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

如果用户卸载了同一个vendor对应的所有程序,然后在重新安装同一个vendor提供的程序,此时identifierForVendor会被重置。

因此,为了使唯一标识符保存更持久,将IDFV(或UUID)存储到钥匙串中,下次使用先从钥匙串取。

关于钥匙串的使用,可以看《iOS安全-钥匙串服务(iOS Keychain Services Tasks)》

新设备识别

关于新设备识别,分为两种,APP新设备和账户新设备:

  1. APP新设备,即第一次安装当前APP。识别方法:钥匙串中存储UUID,启动时先检查钥匙串,如果取不到存储的UUID,即视为新设备,生成UUID,存储到钥匙串中。后台记录启动的UUID,可用来统计下载转化率等数据。
    UUID生成记录流程如下图所示:
iOS设备识别信息收集统计解决方案_第2张图片
UUID存储使用流程.png
  • 账户新设备,跟用户账户关联。即当前账户第一次在这个设备上登录,视为用户的新设备。后台记录用户登录设备信息,可用做登录的二次验证。
    设备锁登录流程如下图所示:
iOS设备识别信息收集统计解决方案_第3张图片
设备锁登录流程.png

后台记录

后台记录APP相关信息,用作安全管理和统计。
下图列出部分常用统计信息,

iOS设备识别信息收集统计解决方案_第4张图片
后台统计信息.png

下图是之前关于数据统计分析的整理:

iOS设备识别信息收集统计解决方案_第5张图片
App数据分析体系.png

统计策略

关于统计策略,参考第三方统计,列出几点。

上报策略

  • 统计数据启动发送。(DEBUG时,实时发送)
  • 默认开始crash收集。
  • log收集,log加密,发送间隔。

页面计时

页面进入时,开始计时,退出页面记录时长。

事件统计

后台设置事件ID,前端根据ID统计上报。

你可能感兴趣的:(iOS设备识别信息收集统计解决方案)