2017-08-16 54 views
2

我們如何通過應用程序測量設備使用情況?我看到應用程序moment記錄了過去24小時內手機的使用情況(總屏幕時間)。 iOS SDK中是否有API或通過iOS中的某些信號來推斷?iOS中的設備使用情況

基本上想要能夠回答 - 您今天使用了多長時間(包括但不限於電話,信息,應用程序,遊戲)?我很高興推斷它,但需要知道要尋找什麼信號。

+1

你想測量整個設備的使用情況嗎?或者只是在特定設備上使用您的應用程序?你想收集什麼樣的數據? –

+0

整個設備或手機 – xoail

+0

好問題和有趣的應用程序。檢查[this](https://stackoverflow.com/a/39281076/1040347)獲取當前正在運行的應用程序的答案,並且[that](https://stackoverflow.com/a/28373247/1040347)答案使您的應用程序不斷運行[位置服務](https://stackoverflow.com/a/19043297/1040347)。 –

回答

2

這是回答在當下的應用程序的the FAQ

自動跟蹤你的屏幕上的時間,必須時刻在後臺運行。 Apple只允許應用程序在非常特定的用例中在後臺運行。跟蹤你去的地方就是其中之一,它可以讓Moment在後臺運行。

該應用將自己註冊爲定位服務,以便其代碼仍可以在後臺運行,直到該設備被鎖定。只要代碼仍在運行,它可以計算在使用時間內。

它也可能使用其他background modes來提高可靠性,以保持在後臺,但你永遠不會知道確切的機制,除非你解開他們的IPA。

+0

仍不確定他們如何能像這樣每天推斷使用情況。當我不主動使用我的應用程序但其他應用程序時,後臺運行如何幫助收集信息?除非這是背景運行任務API的一部分,當即使我的應用程序未處於活動狀態,手機解鎖時也會創建事件。 – xoail

+0

@xoail:您使用抽樣。每5分鐘運行一次後臺代碼,查看前面正在運行的應用程序(請參閱Aleksey的評論)。如果同一應用在該時間間隔內連續出現,那麼該用戶很可能在該時段使用該應用5分鐘。 – kennytm

相關問題