¿Cómo rastrear y analizar la aplicación Android?

Quiero saber qué tipo de usuarios utilizan mi aplicación.

Creo que necesito la identificación del dispositivo, el tipo de red, el nombre del proveedor de la red y su dirección IP. ¿Hay algún marco para hacer esto? Y por supuesto voy a pedir al usuario que lo habilite antes de que pueda hacerlo y dejar una opción para deshabilitarlo cuando el usuario desea desactivarlo.

4 Solutions collect form web for “¿Cómo rastrear y analizar la aplicación Android?”

Puede utilizar un servicio como Flurry o Google Analytics para recopilar algunos de estos datos (no está seguro acerca del ID del dispositivo o la dirección IP), pero como otros han dicho, es posible que desee realizar este "opt-in" a través de una preferencia de aplicación debido a preocupaciones sobre la privacidad.

Usted podría hacer esto relativamente fácil leyendo esta información en su aplicación de forma programática y luego enviarlo a usted por sms, correo electrónico, o simplemente cargarlo en un servidor.

Sin embargo, no creo que los usuarios tendrán mucha suerte de que estén haciendo esto. Al menos tienes que informarles sobre eso.

Para un ID puede utilizar esto:

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

Para obtener la IP puede utilizar este código:

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; } 

Para obtener el tipo de red (creo que hablas de wifi o móvil) puedes usar este fragmento de código:

 ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //mobile State mobile = conMan.getNetworkInfo(0).getState(); //wifi State wifi = conMan.getNetworkInfo(1).getState(); 

Y luego usarlo así:

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

Usted no necesita rodar su propia solución, hay un montón de libre, las soluciones de fábrica que funcionan y le permitirá centrarse en su aplicación. También recomiendo que se mantenga alejado de las soluciones de análisis web porque el modelo de aplicación es diferente, por lo que una aplicación móvil en una aplicación móvil puede ser extraña. No piensa en su aplicación como vistas de página y referencias, ¿verdad?

Localytics es una solución: el servicio es gratuito, el SDK es de código abierto y el tiempo de respuesta es instantáneo para que la integración se pueda realizar y verificar en 10 minutos.

[Descargo de responsabilidad: este es mi sitio]

Google tiene un SDK completo para este propósito. La documentación y los detalles están disponibles en: http://code.google.com/mobile/analytics/docs/android/

Desde la página:

Los SDK de Google Analytics for Mobile Apps proporcionan una interfaz para realizar el seguimiento de la actividad en las aplicaciones para móviles e informar sobre dicha actividad a través del panel de control estándar de Google Analytics.

El seguimiento de aplicaciones móviles tiene algunas variaciones estructurales de las páginas de seguimiento de sitios web. Por esta razón, debe familiarizarse con el seguimiento de Analytics para comprender cómo funciona este SDK.

Utilice el SDK para realizar un seguimiento de dos tipos básicos de interacción del usuario:

Vistas de página: esta es la unidad de medida estándar de un sitio web tradicional y se utiliza para calcular las visitas, la duración de la sesión y la tasa de rebote. Recomendamos activar al menos una vista de página en la carga de la aplicación para realizar un seguimiento de los visitantes únicos. Debido a que las aplicaciones para móviles no contienen páginas HTML, debe decidir cuándo (y con qué frecuencia) debe activar una solicitud de vista de página y elegir nombres descriptivos para los informes. Los nombres que elija se rellenarán en los informes de Google Analytics como rutas de acceso de página en los informes de contenido, aunque no sean realmente páginas HTML.

Eventos: puede definir eventos adicionales que se informarán en la sección Seguimiento de eventos de Google Analytics. Los eventos se agrupan utilizando categorías y también pueden usar etiquetas por evento, lo que proporciona flexibilidad en la generación de informes. Por ejemplo, una aplicación multimedia podría tener acciones de reproducción / detención / pausa para su categoría de vídeo y asignar una etiqueta para cada nombre de vídeo. Los informes de Google Analytics agregan eventos para todos los eventos etiquetados con la categoría de video. Para obtener más información sobre el seguimiento de eventos, consulte la Guía de seguimiento de eventos

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.