我能通过移动网站获取Android设备ID吗?

10

能否通过移动网站获取设备的电话ID、MAC地址、序列号和/或Android ID?

也就是说,不是通过可下载的应用程序,而是通过用户在其移动设备浏览器上访问的链接来实现?

如果可以,怎么做呢?


1
我认为这是不可能的,主要是由于隐私/跟踪原因。你能做的最好的事情就是获取UserAgent。 - Bryan Denny
用户代理是什么?在应用中也可以获取吗?基本上,我需要一种通过网站和应用程序获取相同唯一(ish)标识符的方法。 - Kalina
对于网站,您可以使用IP地址。在任何给定的情况下,它都是唯一的。但是,每当用户连接到不同的网络或重新启动当前网络时,它都会更改。 - Raghav Sood
1
用户代理告诉您用户使用何种浏览器/设备查看页面。http://en.wikipedia.org/wiki/User_agent - Bryan Denny
@Kalina 我知道这是一个非常老的问题,但现在有没有任何方法可以做到这一点?这是我想要使用的东西,可以将非登录用户在网站和应用程序之间的用户旅程连接起来。 - emptyjayy
2个回答

5
不,这不可能。即使对于原生应用程序,设备身份信息也受到READ_PHONE_STATE权限的保护。
由于网站无法请求权限,因此您无法在应用程序之外获取此信息。

难道电话不是唯一需要“READ_PHONE_STATE”的ID吗? - Kalina
IMEI/ESN和WiFi/蓝牙MAC地址需要“READ_PHONE_STATE”权限。 - Raghav Sood
这个我能用作参考来源的引证吗? - developarvin

1

你说你需要网站上的一个相对独特的ID。

可以查看用户代理:http://en.wikipedia.org/wiki/User_agent,它会告诉你正在查看你网页的设备/浏览器类型。

你也可以获取用户的IP地址,但这可能会在将来的请求中发生变化。

你还可以尝试存储cookie,但用户随时可能删除他们的cookie。

关于如何获取这些信息的具体方法,取决于你的网站是用什么构建的。


谢谢!IP地址和cookies已经不适用了,因为我需要一个更持久的标识符,同时也要在移动应用程序和移动网站之间保持一致。我将研究用户代理。 - Kalina
3
@TheBeatlemaniac 注意,UserAgent看起来像这样:Mozilla/5.0(Linux;U;Android 4.0.4;en-us;SCH-I535 4G Build / IMM76D)AppleWebKit / 534.30(KHTML,like Gecko)Version / 4.0 Mobile Safari / 534.30;如果他们使用相同的手机、浏览器和操作系统,则可能有多个用户具有相同的UserAgent。 - Bryan Denny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接