2010-05-25 16 views
5

Voglio sapere che tipo di utenti stanno usando la mia app.Come monitorare e analizzare l'app per Android?

Penso di aver bisogno dell'id del dispositivo, il tipo di rete, il nome del provider di rete e il suo indirizzo ip. c'è qualche struttura per fare questa cosa? E naturalmente chiederò all'utente di abilitarlo prima che io possa farlo e lasciare un'opzione per disabilitarlo quando l'utente vuole disattivarlo.

+1

Si prega di fare inserire il nome della tua app, quindi so che hanno per evitarlo. Hai mai sentito parlare di privacy? – RoToRa

+0

Ho aggiornato la mia domanda e grazie per il tuo commento. – virsir

risposta

3

È possibile utilizzare un servizio come Flurry o Google Analytics per raccogliere alcuni di questi dati (non sono sicuro di ID del dispositivo o l'indirizzo IP), ma come altri hanno detto, si potrebbe desiderare di fare questo "opt-in" tramite una preferenza applicativa a causa di problemi di privacy.

2

È possibile eseguire questa operazione in modo relativamente semplice leggendo queste informazioni nell'app in modo programmatico e quindi inviarle per sms, e-mail o semplicemente caricarle su un server.

Tuttavia, non penso che gli utenti saranno molto fortunati a farlo. Almeno devi informarli a riguardo.

Per un ID è possibile utilizzare questo:

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

Per ottenere l'indirizzo IP è possibile utilizzare questo codice:

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

Per ottenere il tipo di rete (credo che il vostro parlare wifi o cellulare) è possibile utilizzare questo snippet di codice:

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

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

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

e quindi utilizzarlo così:

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

Google ha un SDK completo per questo scopo. Documentazione e dettagli sono disponibili all'indirizzo: http://code.google.com/mobile/analytics/docs/android/

Dalla pagina:

Il Google Analytics for Mobile Apps SDK forniscono un'interfaccia per il monitoraggio attività all'interno di applicazioni mobili e segnalando che l'attività tramite lo standard Dashboard di Google Analytics.

Il monitoraggio delle applicazioni mobili ha alcune variazioni strutturali dal monitoraggio delle pagine del sito Web . Per questo motivo, è necessario avere familiarità con il monitoraggio di Analytics per il rilevamento di .

utilizzare l'SDK per monitorare due tipi di base di interazione con l'utente:

Pagine - Questo è l'unità standard di misura per un sito web tradizionale, e viene utilizzato per calcolare le visite, la durata della sessione, e frequenza di rimbalzo. Noi ti consigliamo di attivare almeno una visualizzazione di pagina al caricamento dell'applicazione su monitorare visitatori unici.Poiché le app mobili non contengono pagine HTML, è necessario decidere quando (e quanto spesso) a attivare una richiesta di visualizzazione di pagina e scegliere i nomi descrittivi per la segnalazione degli scopi . I nomi scelti saranno popolati nei rapporti Analytics come percorsi di pagina nei rapporti Contenuto, anche se non si tratta in realtà di pagine HTML .

Eventi: è possibile definire ulteriori eventi da segnalare nella sezione di monitoraggio di Event Analytics . Gli eventi sono raggruppati utilizzando le categorie e possono anche utilizzare etichette per evento, che offre flessibilità nel reporting . Ad esempio, un'app multimediale potrebbe avere azioni di riproduzione/arresto/pausa per la sua categoria video e assegnare un'etichetta per ciascun nome di video. I rapporti di Google Analytics dovrebbero quindi aggregare eventi per tutti gli eventi contrassegnati con la categoria video. Per ulteriori informazioni su Monitoraggio eventi, consultare la Guida Monitoraggio eventi

1

Non c'è bisogno di rotolare la vostra soluzione, ci sono molte soluzioni gratuite, off-the-shelf che il lavoro e vi permetterà di concentrarvi sulla tua app. Raccomando anche di stare lontano dalle soluzioni di analisi dei dati web perché il modello dell'applicazione è diverso, quindi può essere strano inserire un'applicazione mobile in esso. Non pensi alla tua app come a visualizzazioni di pagina e referral, vero?

Localytics è una soluzione: il servizio è gratuito, il SDK is open source e il tempo di consegna è immediato, quindi l'integrazione può essere eseguita e verificata in 10 minuti.

[Disclaimer: questo è il mio sito]

Problemi correlati