如何永久识别我的应用程序的某些版本?

时间:2013-07-09 20:14:33

标签: android

我需要永久识别我的应用的某些版本。原因是,这些将预先安装在某些设备中,并且需要一些不同的跟踪参数。

我不想为此创建新的应用 - 该应用必须与“普通”应用相同,可以从Google Play下载。

在任何应用更新之前,解决方案是明确的 - 只需创建2个不同的版本,具有相同的包名称和签名,一个直接预装在设备上,另一个直接预装在Google Play上。

但预装的应用程序必须接收更新,而AFAIK,所有差异都将被覆盖。

我想到的可能的解决方案:

  • 预安装版本会保存首选项。问题:用户可以随时清除首选项。这必须是可靠的。

  • 服务器端识别。问题:该应用程序不需要使用用户登录 - 因此只剩下IMEI,必须在第一次发送到服务器时说“我已预装”,但这需要更改服务器,哪些是不需要的+不确定发送IMEI的法律含义(可能是哈希 - 但仍然,这不是很好)。

  • 通过存储的位置识别应用。但我不知道人们将在哪里存储这些预安装的应用程序。我假设他们和普通应用程序在同一个地方。它们不是系统应用程序/固件。所以我想这也不可能。

是否有其他方法可以识别我的安装子集。也许我错过了一些非常基本的东西。或者你一般建议什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我相信你做错了。如果存在差异,则执行两个单独的构建会更简单,否则您将面临更新覆盖的问题。或者,您可以将应用程序拆分为模块,只有这些不同的东西应该制作不同的APK - 这样您仍然可以为所有用户推送一个更新并保持差异不变