gpt4 book ai didi

android - 识别 Android 设备/安装(没有物理 ID)

转载 作者:太空狗 更新时间:2023-10-29 14:30:50 26 4
gpt4 key购买 nike

问题:

在我的一个 Android 应用程序中,应该允许用户更改我的服务器上的文本数据(通过 HTTP 请求),而无需登录或注册。

为了防止垃圾邮件和滥用此功能,我想标识我的应用程序的单个安装,以便我可以“禁止”此安装。当然,滥用我的服务的用户可以卸载应用程序并重新下载或类似的东西。但这确实是一个障碍,使滥用该应用程序变得更加困难。

所以我必须找到一种方法来识别 Android 设备或至少是单个安装。

一目了然 herehere Android 手机的物理设备 ID 不是一个好的解决方案。那么我还能做些什么来实现这一目标?

我的想法:

当应用程序首次启动时,创建一个(几乎)唯一的当前时间戳哈希值(可能是 SHA-512)和一个巨大的随机数。然后将此值保存在内部存储中,并始终使用它来识别此设备或以后安装(在 HTTP 请求时)。

您如何看待该解决方案?有没有更好的方法?

这几乎就是Android Developers Blog建议,对吗?但他们真的在写入内部存储吗?他们没有按照建议使用 openFileOutput() here .

最后,还有一个可能有点愚蠢的问题:

如何使用 Android 开发者博客上显示的代码?我可以将该公共(public)类添加到我的主要 Activity .java 文件中吗?

非常感谢您! :)

最佳答案

在我当前的 Android 项目中,我使用蓝牙 mac id 作为标识符,因为我了解到物理设备 ID 不可靠。当然,我的应用程序非常专业,无论如何都需要蓝牙和互联网,所以这是可行的。

具体来说,我有一种方法可以通过手机调用我的网络服务器,并传入蓝牙 mac ID。我可以检查许可证状态(用于试用/过期),您可以在其中检查禁止方法以查看该 ID 是否被禁止。

由于我的应用程序需要蓝牙,这对我来说非常有效,因为[大多数]所有蓝牙 mac id 都应该是唯一的。

只是一个想法。

关于android - 识别 Android 设备/安装(没有物理 ID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7111863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com