设备指纹识别(Android和iOS) [英] Device fingerprinting (Android and iOS)

查看:533
本文介绍了设备指纹识别(Android和iOS)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

即使在卸载并重新安装我的应用程序之后,我仍需要一种唯一标识android和iOS设备的方法. ANDROID_ID和UUID均不执行该工作. 也许有一些专门用于此任务的库?

I need a way to uniquely identify android and iOS device even after my application is uninstalled and installed again. Both ANDROID_ID and UUID do not do the job. Maybe there are some libraries dedicated to this task?

推荐答案

关于iOS方面,如此线程:

爱斯基摩人的答案:

出于隐私方面的考虑,iOS对唯一的永久标识符施加了严格的限制.有多个WWDC会议对此进行了讨论,我强烈建议您观看它们:

"iOS puts serious restrictions on unique persistent identifiers because of privacy concerns. There are several WWDC sessions that discuss this and I strongly encourage you to watch them:

  1. iOS和OS X中的WWDC 2012 Session 710隐私支持
  2. WWDC 2013会议714保护用户隐私
  3. WWDC 2014 Session 715 iOS和OS X中的用户隐私
  4. WWDC 2015 Session 703隐私和您的应用
  5. WWDC 2016 Session 709为您的用户提供工程隐私

鉴于上述情况,没有一个唯一的值可以在不相关的应用程序中永久地唯一标识iOS设备.相反,您可以使用一整套选项,具体使用哪种取决于您的要求."

Given the above there’s no single value that uniquely identifies an iOS device, now and forever, across unrelated apps. Rather, there’s a suite of options available to you, and which one you use depends on your requirements."

这是 iOS的另一个线程,其中Eskimo1描述了您可以做什么:

Here is another thread for iOS, where Eskimo1 describes what you can do:

  1. 使用MDM获取设备的UDID和IMEI
  2. 使用该信息在设备数据库中创建一条记录
  3. 生成一个随机的唯一ID,并将其添加到您的设备数据库中
  4. 使用托管的应用程序首选项将该唯一ID推送到您的应用程序
  5. 然后您的应用可以将该唯一ID添加到请求中,然后您可以基于该ID查找所需的信息

在我之前使用的应用程序中,我们使用了第三个选项.

In the application I was working on some time ago, we used the third option.

至于Android方面: 如唯一标识符的最佳做法" :

As for Android side: As described in 'Best practices for unique identifiers':

"1:避免使用硬件标识符.在大多数使用情况下,可以避免使用诸如SSAID(Android ID)和IMEI之类的硬件标识符,而不会限制所需的功能.

"1: Avoid using hardware identifiers. Hardware identifiers such as SSAID (Android ID) and IMEI can be avoided in most use-cases without limiting required functionality.

2:仅将广告ID用于用户配置文件或广告用例.使用广告ID时,请务必遵守限制广告跟踪"标志,确保标识符不能与个人身份信息(PII)连接,并避免桥接广告ID重置.

2: Only use Advertising ID for user profiling or ads use-cases. When using an Advertising ID, always respect the Limit Ad Tracking flag, ensure the identifier cannot be connected to personally identifiable information (PII) and avoid bridging Advertising ID resets.

3:对于所有其他用例,请尽可能使用实例ID或私有存储的GUID(防止付款欺诈和电话使用).对于绝大多数非广告用例,实例ID或GUID应该足够.

3: Use an Instance ID or a privately stored GUID whenever possible for all other use-cases except payment fraud prevention and telephony. For the vast majority of non-ads use-cases, an instance ID or GUID should be sufficient.

4:使用适合您的用例的API,以最大程度地降低隐私风险.使用DRM API API来提供高价值的内容保护,并使用SafetyNet API来防止滥用. Safetynet API是确定设备是否为真品而不引起隐私风险的最简单方法."

4: Use APIs that are appropriate to your use-case to minimize privacy risk. Use the DRM API API for high value content protection and the SafetyNet API for abuse prevention. The Safetynet API is the easiest way to determine whether a device is genuine without incurring privacy risk."

此外,我建议您阅读这篇文章,其中介绍了Android的所有方法.

Also, I suggest you to read this article to which describes all the methods for Android.

这篇关于设备指纹识别(Android和iOS)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆