美文网首页iOS DeveloperiOS开发技术
iOS设备识别信息收集统计解决方案

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

作者: Doris_Lee | 来源:发表于2017-04-14 12:17 被阅读271次

    获取设备唯一标识符

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

    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》 (中文翻译)

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

    获取设备标识符.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生成记录流程如下图所示:
    UUID存储使用流程.png
    • 账户新设备,跟用户账户关联。即当前账户第一次在这个设备上登录,视为用户的新设备。后台记录用户登录设备信息,可用做登录的二次验证。
      设备锁登录流程如下图所示:
    设备锁登录流程.png

    后台记录

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

    后台统计信息.png

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

    App数据分析体系.png

    统计策略

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

    上报策略

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

    页面计时

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

    事件统计

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

    相关文章

      网友评论

        本文标题:iOS设备识别信息收集统计解决方案

        本文链接:https://www.haomeiwen.com/subject/vcymattx.html