随着Android O的变化,ANDROID_ID现在按应用程序签名密钥以及每个用户确定范围。恢复出厂设置也会生成新的ANDROID_ID值。
我的问题是,除了Android ID之外,您还会使用哪种其他替代ID(更有效)?
我做了一些研究,了解到谷歌建议我们使用AdvertisingId,但用户可以随时重置他们的AdvertisingId。
我还查看了键/值备份来备份现有的Android ID并将其与新值相关联。这种方法很好,但备份与Google帐户相关联。因此,如果用户重置设备并使用其他Google帐户登录,则无法使用此功能。
我的目标是获取用于欺诈/恶意检测的设备特定标识符,并且我很难确定要使用哪种标识符。我知道我可以使用IMEI,但Google建议避免使用它,并且还需要android.permission.READ_PHONE_STATE
权限。
答案 0 :(得分:0)
Best practices for unique identifiers文章有一个专门的反欺诈用例:
反欺诈:实施免费内容限制并检测Sybil攻击
在这种情况下,您想限制空闲的数量 用户可以在设备上看到的内容(例如文章)。
使用:实例ID或GUID。在Android 8.0(API级别26)及更高版本上, SSAID也是一种选择,因为它的范围仅限于应用程序签名密钥。
为什么会推荐?
使用GUID或实例ID会强制用户在以下位置重新安装应用程序 为了规避含量限制,这是一个足够的负担 吓阻大多数人。如果这还不够保护,Android 提供了DRM API,可用于限制对内容的访问, 包含每个APK标识符,即Widevine ID。
请注意,SSAID == Storage.Secure.ANDROID_ID。