2011-11-15 61 views
2

我很快就要推出Adobe AIR桌面应用程序。为了充分利用未来的更新,我需要分析哪些功能使用得最多,哪些功能没有。Adob​​e Air - Analytics

如何跟踪用户点击的内容?

回答

1

如果您的应用几乎完成,那么您应该对AIR非常熟悉。

你可以用两种方法来做你的跟踪(必须有更多,但我会突出其中2个)。这都需要你延长Button类,并在您单击处理程序做不同的事情,或者你可以手动在您要跟踪每点击处理)

首先
你保持一个点击跟踪服务像clicky添加代码你的服务器。单击处理程序应该调用时的分析代码

二文档中给出的代码
你写使用的功能(或任何其他你想跟踪)日志文件,然后将其上传每当互联网连接在那里(基本上每10分钟尝试上传一次,忽略任何http错误)。上传脚本将解析日志文件,然后向您显示所需的任何信息。日志文件将被删除。

3

我同意@Pranav记录点击的方法,但我完全不同意他想如何在客户端实现跟踪。

  • 扩展的“按钮”类:违反了良好的编码实践的一些规则。但我更喜欢给出一个实际的例子而不是抽象的规则:如果你想跟踪按钮以外的东西,该怎么办?扩展框架中的每个可视组件?如果您想跟踪点击以外的其他内容,该怎么办? ...
  • 在每个点击处理程序中手动添加代码:如果您有更大的应用程序,看起来像很多工作,如果需要的话,很难重构。

解决方案

如果你需要的是点击,那么我将只是在舞台上点击收听。这样,您可以在与您的应用程序的其余部分完全分离的类中处理您的点击跟踪。你可以以任何你喜欢的方式做到这一点。例如您可以将屏幕划分为多个区域,并查看哪些区域被最多点击;您可以使用stage.getObjectsUnderPoint()来查找所有刚被点击的对象(通常最顶端的对象是您想要的对象,但可能您想要将其全部记录下来)。

无论采用哪种方式,您现在都可以完全自由地选择跟踪使用情况,并且如果您需要更改任何内容,则代码全部在一个位置。

+0

尽管我同意你Pravan的解决方案并不是最好的,但我对下面的引用感到好奇:“扩展'Button'类:违反良好编码实践的几条规则。你认为什么规则确实违反了? –

+0

@ bug-a-lot主要是[[分离关注点](http://en.wikipedia。org/wiki/Separation_of_concerns)'和'[偏好继承](http://en.wikipedia.org/wiki/Composition_over_inheritance)'。简而言之:这个新的TrackingButton子类都会知道太多(规则1)并且太具体(规则2)。 – RIAstar

+1

在这种情况下,不会违反“继承优先权组合”。他的新按钮仍然看起来像一个按钮,仍然像一个工作,虽然点击额外的功能。在这种特殊情况下,扩展另一个可以容纳按钮的组件会更糟。 “分离问题”点击它。尽管有些人可能会注意到日志记录往往是一个[交叉问题](http://en.wikipedia.org/wiki/Cross-cutting_concern)。 这就是说,你的解决方案是获得我的投票的那个。 –

0

查看使用命令模式。除了回滚之外,它还可以统计该命令的实例。