4

我不想跟踪我的应用下载源,apk 将通过多个活动提供。问题是应用程序下载链接是直接 url,它不在 Google Play 商店中,所以我无法接收INSTALL_REFERER广播。

我可以通过在我的服务器上记录每次点击来轻松跟踪点击,但是如何跟踪用户安装和运行的应用程序(以及下载源)

方法1:

  • 为每个活动 URL 运行一个 java 脚本,获取一些特定于设备的信息,发送到服务器
  • 现在,当用户安装并运行该应用程序时,运行相同的 java 脚本,捕获并发送信息
  • 如果相同的信息记录与以前的记录匹配,我们知道应用下载成功

上述方法的问题是我无法缩小我应该在 javascript 中捕获的所有信息以识别用户,记住不同的 android 浏览器可用和 android 设备碎片。

4

2 回答 2

4

在 aapt 的帮助下,让这个工作正常。

基本方法是动态地在 apk 中的资产中插入文件。

要求:

  • 一个能够为 apk 提供服务的网络服务器,例如 apache,在网络服务器配置文件中为 apk 添加 mime 类型。
  • 可以执行shell命令的服务器端脚本,例如php、jsp
  • 一个未签名的 apk,未签名的 coz aapt 似乎在修改已签名的 apk 然后再次辞职时遇到了一些问题。
  • 服务机器上的 android 和 java sdk

然后:

一旦用户单击您网站上托管的下载链接,请在数据库中记录一个条目,其中一些字段将状态描述为已下载/正在下载。

生成要插入到 apk 的 assets 文件夹中的文本属性文件。使用 aapt 将其添加到 apk。

aapt 删除 app.apk “assets/tracker.txt”

aapt 添加 app.apk “assets/tracker.txt”

将托管源 apk 的目录结构如下:ROOT-> (assets ->(app_tracker.txt)) + app.apk

本次签约后

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -storepass STORE_PASSWORD -keystore KEYSOTRE_PATH alias_name

注意:您不应该修改源 app.apk 和 tracker.txt,您应该将其复制到某个相对路径,然后对其进行修改。

希望它有所帮助,但它帮助了我:)

于 2013-10-07T11:26:54.683 回答
0

我不确定更好的方法。但是您可以在 apk 本身中做一些事情(保存有关源的信息)。因此,当用户第一次打开应用程序时,将该信息发送到服务器并根据需要在应用程序中将其删除。

因为 AFAIK,浏览器永远无法知道用户是否安装了该应用程序。用户可以在不安装应用程序的情况下下载并丢弃它。

如果您想在应用程序中跟踪用户的所有活动,您可以使用Flurry.com

编辑: 或者您实际上可以在用户第一次打开应用程序时检查浏览器历史记录,并检查其中是否有您的一个来源。但是,如果用户手动清除浏览器历史记录,您将丢失它。

于 2013-10-03T05:39:36.950 回答