设备指纹识别(Android和iOS)

时间:2018-05-30 09:21:58

标签: android ios fingerprinting

即使我的应用程序被卸载并再次安装,我也需要一种方法来唯一地识别android和iOS设备。 ANDROID_ID和UUID都不能完成这项工作。 也许有一些图书馆致力于这项任务?

1 个答案:

答案 0 :(得分:4)

关于iOS方面,如this thread

中所述

Eskimo1s的回答:

“由于隐私问题,iOS严格限制了唯一的持久性标识符。有几个WWDC会议讨论这个问题,我强烈建议您观看它们:

  1. WWDC 2012 Session 710 iOS和OS X中的隐私支持
  2. WWDC 2013 Session 714保护用户隐私
  3. WWDC 2014 Session 715 iOS和OS X中的用户隐私
  4. WWDC 2015会议703隐私和您的应用
  5. WWDC 2016 Session 709为您的用户提供工程隐私
  6. 鉴于上述情况,没有单一的价值可以在不相关的应用程序中唯一标识iOS设备,现在和永远。相反,有一套可供您选择的选项,您使用的选项取决于您的要求。“

    以下是适用于iOS的another thread,其中Eskimo1描述了您可以执行的操作:

    1. 使用MDM获取设备的UDID和IMEI
    2. 使用该信息在您的设备数据库中创建记录
    3. 生成随机唯一ID并将其添加到您的设备数据库
    4. 使用托管应用偏好设置将该唯一ID推送到您的应用
    5. 您的应用可以将该唯一ID添加到请求中,您可以根据
    6. 查找所需信息

      在我前一段时间工作的应用程序中,我们使用了第三种选择。

      至于Android方面: 如'Best practices for unique identifiers'

      中所述

      “1:避免使用硬件标识符。在大多数用例中,可以避免使用SSAID(Android ID)和IMEI等硬件标识符,而不会限制所需的功能。

      2:仅使用广告ID进行用户分析或广告用例。使用广告ID时,请始终遵守限制广告跟踪标记,确保标识符无法与个人身份信息(PII)相关联,并避免桥接广告ID重置。

      3:尽可能使用实例ID或私有存储的GUID用于除支付欺诈预防和电话之外的所有其他用例。对于绝大多数非广告用例,实例ID或GUID就足够了。

      4:使用适合您的用例的API,以最大限度地降低隐私风险。使用DRM API API实现高价值内容保护,使用SafetyNet API进行滥用防范。 Safetynet API是确定设备是否真实而不会产生隐私风险的最简单方法。“

      另外,我建议您阅读this article,其中介绍了Android的所有方法。