为什么不建议“使用 getString() 获取设备标识符”?
我正在尝试将我的设备ID获取到Logcat,但Android Studio给了我这个警告。
不建议使用 getstring 获取设备标识符
String deviceID = Settings.Secure.getString(getApplicationContext().getContentResolver(),
Settings.Secure.ANDROID_ID);
为什么不推荐?
我正在尝试将我的设备ID获取到Logcat,但Android Studio给了我这个警告。
不建议使用 getstring 获取设备标识符
String deviceID = Settings.Secure.getString(getApplicationContext().getContentResolver(),
Settings.Secure.ANDROID_ID);
为什么不推荐?
完整的警告说:
除了用于高价值欺诈预防和高级电话用例之外,不建议使用这些设备标识符。对于广告用例,请使用 AdvertisingIdClient$Info#getId,对于分析,请使用 InstanceId#getId。
更多信息: https://developer.android.com/training/articles/user-data-ids.html
我认为Android不建议使用此值,因为它是一个永久的唯一ID,可用于跟踪您的用户,他或她无法更改此ID或阻止您读取它。警告中给出的其他选项尊重用户的意愿。这就是为什么Android建议您使用它的原因。
这实际上取决于您要对该ID执行的操作。如今,隐私是一件敏感的事情。
还要检查这个:
...您必须遵守用户的“选择退出基于兴趣的广告”或“选择退出广告个性化”设置。如果用户启用了此设置,则您不得将广告标识符用于创建用于广告目的的用户配置文件或用于通过个性化广告定位用户。允许的活动包括内容相关广告、频次上限、转化跟踪、报告以及安全和欺诈检测。
资料来源:https://developer.android.com/training/articles/user-data-ids.html