跟踪时间花在应用程序上

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

我想我可以这样做:

  1. 在App启动时logging时间( application:didFinishLaunchingWithOptions:
  2. 在应用程序结束日志时间( applicationWillTerminate: :)
  3. 项目清单

向服务器发送报告(开始/结束时间对),并计算在应用中花费的时间

你有什么更好的想法?

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

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

看看applicationDidEnterBackground:applicationWillEnterForeground:

更多在这里 。

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

希望这可以帮助! NS

似乎是一个合理的方式来做到这一点。 这是有效的,而且根据你如何看待数据,如果是这样的话,它不应该超过一千字节或者两千字节。 但要小心隐私问题 – 用户真的被拒绝login。

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

  1. 在App启动时logging时间(didFinishLaunchingWithOptions)
  2. 经常以5min的间隔发送报告。
  3. 发送报告在applicationWillEnterbackground。(暂停计时器(无效),如果你使用后台线程)。因为如果用户进入其他应用程序,然后他们可以closures你的应用程序,只需使用主页button和减号button在应用程序pipe理器。这里也发送报告
  4. 在applicationWillEnterForeground中使用以前的时间恢复定时器。
  5. 在应用程序结束日志时间(applicationWillTerminate)
  6. 向服务器发送报告(开始/结束时间对),并计算在应用中花费的时间