Crashlytics是否错误地列出了应用程序类的活跃用户?

时间:2015-03-03 11:40:49

标签: android crashlytics

如果来电Crashlytics.start(this)Application的{​​{1}}方法,那么如果有什么东西唤醒了我的申请流程,它会算上一个活跃的用户吗?

例如如果我有广播接收器或闹钟,如果他们唤醒应用程序,它会算作活跃用户吗?

由于

2 个答案:

答案 0 :(得分:1)

我说它不算数,但我的回答完全基于逻辑和常识。

Crashlytics'建议的方法是在Application类中初始化SDK,以便可以在应用程序的生命周期中尽快收集崩溃日志(以及其他所有类型的信息)。当他们介绍Answers面板时,我的猜测是他们根据一系列参数和操作来确定他们确定活跃用户的方式,这些参数和操作指示用户实际操作的应用程序(即,顺便提一下,每个Analytics SDK提供商都有所不同,例如Google Analytics(分析)。

简而言之,我不认为Crashlytics.start()方法会立即计入活跃用户,因为这只是废话。但是,有一种快速的方法可以确定:

  1. 创建在发送特定广播消息时触发的测试平台应用程序
  2. 使用Application onCreate()方法
  3. 初始化SDK
  4. 使用adb发送广播消息,同时密切关注Crashlytics的Answers页面
  5. 等待一段时间(注册命中可能需要一些时间):用户是否被跟踪为活动状态?
  6. 你可以尝试达到Crashlytics对此的支持,但我不确定他们是否会泄露这些信息。

    修改

    添加一些证据我发现here

      

    当应用程序进入前台时会话开始,一旦应用程序背景停留30秒或更长时间结束。

    这导致相信(如上所述)他们检测活跃用户的方式并不完全依赖于SDK初始化。

答案 1 :(得分:0)

我想它应该,除非它有一些更复杂的逻辑,一些“实际活动”,而不是只是打开应用程序。在应用的任何活动,服务或广播开始时调用Application.onCreate()

这是在android文档中写的:

  

在应用程序启动时调用 ,在任何活动服务之前,   或接收器对象(不包括内容提供商)已创建。   实现应该尽可能快(例如使用懒惰   初始化状态)因为在这个函数中花费的时间   直接影响开始第一项活动的表现,   服务或流程中的接收者。如果重写此方法,请执行   一定要打电话给super.onCreate()。

但请记住,如果应用已在运行,则Application.onCreate将不会重新运行,因为它已经创建。