Iphone 跟踪iOS中的应用程序使用情况并记录到文件

Iphone 跟踪iOS中的应用程序使用情况并记录到文件,iphone,ios,Iphone,Ios,我正在为iOS开发一个SDK。它通过在屏幕上的任意一个位置放置按钮来帮助开发人员使用我们的服务。除此之外,我们还提供分析服务。 在一个网站上,我可以提供一个javascript代码片段,它将帮助我们跟踪使用情况并记录下来进行分析。开发人员可以将它放在任何普遍使用的模板中(如footer.html),然后忘记它。 在iOS中,理想的方法是什么。基本上,我希望开发人员从AppDelegate或任何一点初始化我们的服务,它应该跟踪使用情况。我想跟踪的数据是 用户id、应用版本、应用id等(可在库初始化

我正在为iOS开发一个SDK。它通过在屏幕上的任意一个位置放置按钮来帮助开发人员使用我们的服务。除此之外,我们还提供分析服务。 在一个网站上,我可以提供一个javascript代码片段,它将帮助我们跟踪使用情况并记录下来进行分析。开发人员可以将它放在任何普遍使用的模板中(如footer.html),然后忘记它。 在iOS中,理想的方法是什么。基本上,我希望开发人员从AppDelegate或任何一点初始化我们的服务,它应该跟踪使用情况。我想跟踪的数据是

  • 用户id、应用版本、应用id等(可在库初始化时收集)
  • 使用时间(从应用程序打开到进入后台的时间,同样可以轻松跟踪)
  • 加载的viewcontroller及其加载位置(无法找到解决方案,除非开发人员从我们的类扩展viewcontroller,或者我们编写了一个类别。需要更好的解决方案,如AOP)
  • 按钮点击(与第三点相同)
  • 对于所有这些,如果我们提供一个像call[OurLibrary passFlag:VIEWCONTROLLERLOADED with viewcontroller:self]这样的解决方案,将会有所帮助。但我们不希望开发人员明确地这样做


    我们的想法是让我们的集成对开发人员来说尽可能容易。各位有什么想法吗?

    看看TestFlight是如何做到的,然后模仿他们。(请参见
    TestFlight.h
    )。在TestFlight中,要执行我的需求中的#3和#4,我必须使用他们的检查点API,它类似于“[TestFlight passCheckpoint:@“checkpoint_NAME”;”,这与我在查询的最后一段中所说的类似。我不喜欢开发人员明确地这样做。他们可以在应用程序的任何一点初始化我们的库,其余的数据收集应该是自动的,而不需要开发人员添加更多的代码。