2015-03-03 50 views
1

如果撥打電話Crashlytics.start(this)ApplicationonCreate()方法,它會計數一個活躍的用戶,如果有什麼喚醒我的申請過程?Crashlytics會計錯應用程序類上的活動用戶嗎?

例如,如果我有廣播接收器或鬧鐘,如果這些應用程序喚醒應用程序,它會算作活躍用戶嗎?

感謝

回答

1

我會說它不算數,但我的答案完全基於邏輯和常識。

Crashlytics推薦的方法是在Application類中初始化SDK,以便在應用程序生命週期中儘快收集崩潰日誌(以及其他類型的信息)。當他們介紹Answers面板時,我的猜測是,他們根據一系列參數和操作來確定他們確定活動用戶的方式,這些參數和操作表明用戶實際上正在操作應用程序(順便說一下,每個Analytics SDK提供商都不相同,例如Google Analytics)。

總之,我不認爲Crashlytics.start()方法立即計數爲活動用戶,因爲這只是無稽之談。但是,有確定的快捷方式:

  1. 創建一個測試平臺的應用程序,被解僱了,當你發送一個特定的廣播消息
  2. 初始化在ApplicationonCreate()方法
  3. 使用adb的SDK,送廣播消息並同時關注Crashlytics的Answers頁面
  4. 等待一段時間(註冊命中可能需要一些時間):用戶被跟蹤爲活動狀態嗎?

您可以嘗試達到Crashlytics對此的支持,但我不確定他們是否會放棄此信息。

編輯

添加了一些證據,我發現here

當應用程序進入前景,一旦應用程序被轉到後臺運行30秒或更長的時間結束會話開始。

這導致相信(正如我上面寫的),他們檢測活動用戶的方式並不完全依賴於SDK初始化。

0

我想,它應該,除非它有一些「實際活動」,而不是剛剛開放的應用程序的更復雜的邏輯。 Application.onCreate()正在您的應用的任何活動,服務或廣播的開始處被調用。

這是寫的android文檔中:

調用當應用程序啓動,任何活動服務, 或接收器對象(不包括內容提供商)之前有被創建。 實現應該儘可能快(例如使用狀態初始化的延遲 ),因爲在此函數中花費的時間直接影響啓動第一個活動, 服務或進程中的接收方的性能。如果你重寫這個方法,一定要調用super.onCreate(),否則爲 。

但請記住,如果應用程序已在運行,Application.onCreate將不會重新運行,因爲它已被創建。

相關問題