跟踪申请时间

时间:2011-07-20 17:29:09

标签: ios cocoa-touch

我应该使用什么来跟踪用户在iOS设备上使用我的应用程序的时长?

我想我可以这样做:

  1. 在应用启动时记录时间(application:didFinishLaunchingWithOptions:
  2. 在应用程序结束时记录时间(applicationWillTerminate:
  3. 列表项
  4. 将报告(开始/退出时间对)发送到服务器并计算在应用程序中花费的时间

    你有更好的想法吗?

    重要的是要使网络和资源有效 (不要在复杂的计算操作上发送大量数据或使用iOS资源。)

5 个答案:

答案 0 :(得分:7)

请注意,按下主页按钮时不一定会调用applicationWillTerminate:(从iOS 3.X更改为iOS 4.0)。

查看applicationDidEnterBackground:applicationWillEnterForeground:

更多here

答案 1 :(得分:1)

我认为,考虑到您希望网络和资源有效,计算设备本身的时间是最好的。 endTime - starTime的计算速度非常快(取决于您的时间实现),然后您只需要通过网络而不是两个(开始和结束时间)发送一个数据(花费的时间)

希望这有帮助! N.S。

答案 2 :(得分:1)

似乎是一种合理的方式。它足够有效,并且取决于您如何看待数据,如果这样,它不应该超过一千字节或两千字节。但要注意隐私问题 - 用户真的反对被记录。

答案 3 :(得分:1)

你的方法很健全,它几乎没有任何开销,可以很好地完成工作。

答案 4 :(得分:1)

  1. 在App启动时记录时间(didFinishLaunchingWithOptions)
  2. 经常以5分钟的间隔发送报告。
  3. 在applicationWillEnterbackground中发送报告。(暂停计时器(无效),如果你使用后台线程)。因为如果用户进入其他应用程序,那么他们可以通过使用主页按钮和应用程序管理器中的减号按钮关闭你的应用程序。所以你也要在这里发送报告
  4. 使用applicationWillEnterForeground中的上一次恢复计时器。
  5. 在应用程序结束时记录时间(applicationWillTerminate)
  6. 向服务器发送报告(开始/退出时间对)并计算在应用中花费的时间