如何跟踪和分析Android应用程序?

时间:2010-05-25 15:15:16

标签: android analytics

我想知道哪些用户正在使用我的应用。

我想我需要设备ID,网络类型,网络提供商名称及其IP地址。有什么框架可以做这件事吗?当然,我会要求用户在我可以执行此操作之前启用它,并在用户想要将其关闭时保留一个选项以禁用它。

4 个答案:

答案 0 :(得分:3)

您可以使用FlurryGoogle Analytics等服务来收集部分数据(不确定设备ID或IP地址),但正如其他人所说,您可能想要这样做“由于隐私问题,通过申请偏好选择加入。

答案 1 :(得分: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
}

答案 2 :(得分:1)

您无需推出自己的解决方案,有许多免费的,现成的解决方案可以使用,并且可以让您专注于您的应用。我还建议远离网络分析解决方案,因为应用程序模型不同,因此将移动应用程序插入其中可能会很奇怪。您不认为您的应用是页面浏览量和推介,是吗?

Localytics是一种解决方案:服务是免费的,SDK is open source,周转时间是即时的,因此可以在10分钟内完成整合并进行验证。

[免责声明:这是我的网站]

答案 3 :(得分:0)

Google为此目的提供了完整的SDK。有关文档和详细信息,请访问: http://code.google.com/mobile/analytics/docs/android/

从页面:

  

Google Analytics for Mobile Apps   SDK提供了跟踪的界面   移动应用中的活动和   通过报告该活动   标准Google Analytics信息中心。

     

跟踪移动应用程序有一些   跟踪的结构变化   网站页面。出于这个原因,你   应该熟悉Analytics   跟踪以了解如何   这个SDK有效。

     

使用SDK跟踪两种基本类型   用户互动:

     

网页浏览量 - 这是标准单位   衡量传统网站的情况,   并用于计算访问量,   会话长度和跳出率。我们   建议您至少触发   应用程序加载到的一个综合浏览量   追踪独特的访客。因为移动   你的应用程序不包含HTML页面   必须决定何时(和多久)   触发网页浏览请求,然后选择   报告的描述性名称   目的。您选择的名称将是   在您的Google Analytics报告中填充为   内容报告中的页面路径,   即使它们实际上不是HTML   页。

     

活动 - 您可以定义其他内容   要在事件中报告的事件   Google Analytics的跟踪部分。   事件按类别分组   并且还可以使用每事件标签,   这提供了灵活性   报告。例如,多媒体   应用程序可以播放/停止/暂停   其视频类别和行动的行动   为每个视频名称分配标签。   Google Analytics报告会   然后聚合所有事件的事件   标记为视频类别。对于   有关事件跟踪的更多信息,   请参阅事件跟踪指南