ACRA用户手册提到安装id(搜索术语INSTALLATION_ID)作为每个应用程序安装的唯一标识符
您可以在每个报告行的第一个字段中看到的怪物表示INSTALLATION_ID。它可以被看作是等价的你们这些用户。每次安装应用程序都会生成一个唯一标识符,通过应用程序的更新保持。这些怪物的生成方式各不相同安装ID,允许您直观地定位来自相同安装ID的报告列表中的用户
我试图找到更多关于应用程序的安装id,但没有关于它的信息,除了一个页面,谷歌家伙提到的东西,如安装id,但在非常简短的话。
那么ACRA如何获取这个唯一的ID呢?INSTALLATION_ID
是它自己的术语,在Android中可能没有基础?
我找到了一个解决方案,我希望其他人会使用它。
如果您通过ACRA.getErrorReporter().handleSilentException(new Throwable(message));
报告自定义ACRA消息,那么您将在像Acralyzer这样的云工具中看到installation id
字段,它基本上是每个用户的唯一id。通过这种方式,您可以监视特定的用户并解决他的错误。
从Github下载Acra源代码并导航到org/acra/util/Installation.java
类。这个类生成唯一的安装id。
如果你导航到第67行,你会看到安装id只是随机的UUID号(注意:如果你卸载并安装应用程序,这个id将重新生成)。
final String id = UUID.randomUUID().toString();
所以实际的ID是通过静态变量sID
检索的,它被保存到应用程序的私有文件目录中的一个文件ACRA-INSTALLATION
。
那么如何获得用户的安装id并将其与Acralyzer报告进行比较呢?只需创建读取该ACRA-INSTALLATION
文件的逻辑,并将其内容复制到外部内存。之后,用户可以将该文件通过电子邮件发送给您,或者您甚至可以将其自动传递给您自己的云脚本。
如果有人需要更多的信息,请尽管问。