0

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

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

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

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

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

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

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

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

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

提前致谢。

4

1 回答 1

0

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

于 2013-07-09T20:20:31.377 回答