2010-05-25 31 views
5

我想知道什麼樣的用戶正在使用我的應用程序。如何跟蹤和分析android應用程序?

我想我需要設備ID,網絡類型,網絡提供者名稱和它的IP地址。有沒有什麼框架來做這件事?當然,我會要求用戶在啓用它之前啓用它,並在用戶想要關閉它時留下一個選項來禁用它。

+1

請張貼您的應用程序的名稱,所以我知道必須避免它。曾聽說過隱私? – RoToRa 2010-05-25 15:19:43

+0

我更新了我的問題,並感謝您的評論。 – virsir 2010-05-25 15:26:49

回答

3

您可以使用像FlurryGoogle Analytics服務來收集一些這方面的數據(不知道設備ID或IP地址),但正如其他人所說,你可能想使這個由於隱私問題,通過應用偏好「選擇加入」。

2

通過以編程方式在您的應用程序中閱讀此信息,然後通過短信,電子郵件或將它上傳到服務器,您可以做到這一點相對容易。

但是,我不認爲用戶會很幸運,因爲你這樣做。至少你必須告訴他們這些。

對於一個ID,你可以這樣做:

http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29

要獲取IP,你可以使用此代碼:

public String getLocalIpAddress() { 
    try { 
     for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { 
      NetworkInterface intf = en.nextElement(); 
      for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { 
       InetAddress inetAddress = enumIpAddr.nextElement(); 
       if (!inetAddress.isLoopbackAddress()) { 
        return inetAddress.getHostAddress().toString(); 
       } 
      } 
     } 
    } catch (SocketException ex) { 
     Log.e(LOG_TAG, ex.toString()); 
    } 
    return null; 
} 

獲取網絡類型(我想你在談論的WiFi或移動),您可以使用此代碼片段:

ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

//mobile 
State mobile = conMan.getNetworkInfo(0).getState(); 

//wifi 
State wifi = conMan.getNetworkInfo(1).getState(); 

然後使用這樣的:

if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING) { 
    //mobile 
} else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) { 
    //wifi 
} 
0

谷歌有一個完整的SDK用於這個目的。文檔和詳細信息,請訪問: http://code.google.com/mobile/analytics/docs/android/

從頁面:

的谷歌Analytics(分析)針對移動應用 的SDK用於通過 標準跟蹤 活動移動應用內 報告說,活動提供的接口Google Analytics儀表板。

跟蹤移動應用程序有一些 結構變化跟蹤 網站頁面。因此,您應該熟悉Analytics 跟蹤,以瞭解此SDK的工作原理。 。

使用SDK來跟蹤兩種基本類型的用戶交互的 :

瀏覽量 - 這是 衡量的標準單元的傳統網站, 和用於計算訪問, 會話長度,跳出率。我們 建議您至少觸發 在應用程序加載時的一次綜合瀏覽量至 跟蹤唯一身份訪問者。由於移動 應用不包含HTML頁面,因此您必須決定何時(以及多久) 觸發綜合瀏覽請求,並選擇 描述性名稱來報告 的用途。您選擇的名稱將爲 ,在您的Google Analytics報告中填入內容報告中的 頁面路徑,即使它們實際上不是HTML頁面的 頁面。

事件 - 您可以在事件 Google Analytics的跟蹤部分中定義要報告的其他 事件。 事件使用類別 進行分組,並且還可以使用每個事件標籤 ,該報告在 報告中提供了靈活性。例如,多媒體 應用程序可能會爲其視頻類別播放/停止/暫停 動作,併爲每個視頻名稱分配一個標籤。 Google Analytics(分析)報告將 然後彙總用視頻類別標記的所有事件 的事件。有關事件跟蹤的 更多信息, 看到事件追蹤指南

1

你並不需要推出自己的解決方案,也有很多免費的,現成的現成的解決方案,工作,讓你集中注意力在你的應用程序。我還建議遠離Web分析解決方案,因爲應用程序模型是不同的,因此將移動應用程序放入其中可能會很奇怪。您不會將您的應用視爲頁面瀏覽和推介,是嗎?

Localytics是一種解決方案:服務是免費的,SDK is open source,轉換時間是即時的,因此可以在10分鐘內完成和驗證集成。

[聲明:這是我的網站]

相關問題