2010-05-25 7 views
5

Quiero saber qué tipo de usuarios usan mi aplicación.¿Cómo rastrear y analizar la aplicación de Android?

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, le pediré al usuario que lo habilite antes de que pueda hacerlo y dejaré una opción para desactivarlo cuando el usuario quiera desactivarlo.

+1

por favor haga publicar el nombre de su aplicación, por lo que sé que tiene que evitarlo. ¿Has oído hablar de privacidad? – RoToRa

+0

He actualizado mi pregunta y gracias por su comentario. – virsir

Respuesta

3

Usted puede utilizar un servicio como Flurry o Google Analytics para recoger algunos de estos datos (no estoy seguro sobre el ID de dispositivo o la dirección IP), pero, como otros han dicho, es posible que desee hacer este "opt-in" a través de una preferencia de aplicación debido a problemas de privacidad.

2

Puede hacerlo de forma relativamente fácil leyendo esta información en su aplicación programáticamente y luego enviándola por sms, correo electrónico o simplemente cargándola en un servidor.

Sin embargo, no creo que los usuarios tengan mucha suerte de estar haciendo esto. Al menos tienes que informarles sobre eso.

Para una identificación podría utilizar este:

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

Para obtener el IP podría 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 estás hablando wifi o móvil) puede 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 utilizarlo como esa:

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

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:

El Google Analytics para aplicaciones móviles SDK proporcionan una interfaz para el seguimiento de actividad dentro de las aplicaciones móviles y informar que la actividad a través del estándar Tablero de Google Analytics.

El seguimiento de aplicaciones móviles tiene algunas variaciones estructurales de desde el seguimiento de las páginas del sitio web . Por esa razón, usted debe estar familiarizado con el seguimiento de Analytics para comprender cómo funciona el SDK de .

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

Páginas vistas - Esta es la unidad estándar de medida para un sitio web tradicional, y se utiliza para calcular las visitas, duración de la sesión, y Porcentaje de rebote. Nos recomendamos que active al menos una página vista en la carga de la aplicación a seguimiento de visitantes únicos.Debido a que las aplicaciones móviles no contienen páginas HTML, usted debe decidir cuándo (y con qué frecuencia) activar una solicitud de vista de página y elegir nombres descriptivos para informar . Los nombres que elija serán rellenos en sus informes de Analytics como rutas de página en los informes de contenido, aunque en realidad no sean páginas HTML .

Eventos: puede definir eventos adicionales que se informarán en el Evento Sección de seguimiento de Google Analytics. Los eventos se agrupan utilizando las categorías y también pueden usar etiquetas por evento, , lo que proporciona flexibilidad en los informes . Por ejemplo, una aplicación multimedia podría haber reproducido/detenido/pausar acciones para su categoría de video y asignar una etiqueta para cada nombre de video. Los informes de Google Analytics serían y luego agregarían eventos para todos los eventos etiquetados con la categoría de video. Para más información sobre seguimiento de eventos, ver la Guía de seguimiento de eventos

1

No es necesario para rodar su propia solución, hay un montón de soluciones libres, off-the-shelf que el trabajo y le permitirá centrarse en tu aplicación También recomiendo mantenerse alejado de las soluciones de análisis web porque el modelo de la aplicación es diferente, por lo que puede ser extraño utilizar una aplicación móvil. No piensas en tu aplicación como páginas vistas y referencias, ¿verdad?

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

[exención de responsabilidad: este es mi sitio]

Cuestiones relacionadas