Analytics per dispositivi mobili con Mixpanel

L'analisi dei dispositivi mobili offre un'ampia gamma di servizi agli sviluppatori. Utilizzato con analisi web e mobile, Mixpanel è un giocatore affermato. In questo tutorial, dimostrerò come Mixpanel si distingue dai suoi concorrenti. Ti mostrerò come iniziare con Mixpanel e come può aiutarti a fidelizzare e coinvolgere i clienti, due aspetti critici nell'attuale panorama mobile.


disconoscimento

Questo tutorial non è sponsorizzato o approvato da Mixpanel. Sto usando Mixpanel da un po 'di tempo e sono molto soddisfatto dei risultati che ho ottenuto finora. Ho scritto questo tutorial per dimostrare cosa può fare Mixpanel per te e la tua azienda.


Impara dai tuoi clienti

Se utilizzata correttamente, l'analisi dei dati mobili può essere una preziosa fonte di informazioni. L'analisi dei dispositivi mobili può essere molto più di uno strumento per tenere traccia del numero di utenti attivi di un'applicazione. Se miri a creare un'applicazione che i clienti amano e continuino a tornare, allora l'analisi dei dati mobili è indispensabile.

La raccolta dei dati non è l'unica cosa per cui è possibile utilizzare Mixpanel. I dati raccolti da Mixpanel vengono attentamente analizzati e presentati in modo tale che le tendenze, i modelli e i problemi si rivelino rapidamente. Fornisce chiamate all'azione per migliorare ulteriormente e perfezionare il prodotto.

Mixpanel brilla davvero quando si tratta di fidelizzazione e coinvolgimento dei clienti. Gli utenti possono essere seguiti nel tempo associando ciascun utente con un identificativo univoco. Questo ti dà i dati e gli strumenti per studiare perché i clienti smettono di usare il tuo prodotto o perché alcune funzioni rimangono sottoutilizzate.


vita privata

Senza l'analisi dei dati mobili, è praticamente impossibile ottenere una visione realistica della base di clienti della tua applicazione. La base di utenti attiva di un'applicazione è una metrica importante, in quanto fornisce una buona indicazione dello stato di salute dell'applicazione. Una base di utenti in declino indica chiaramente che il prodotto presenta alcuni difetti gravi che devono essere corretti. Una base di utenti in declino potrebbe essere dovuta a un problema di usabilità, ma potrebbe anche essere un problema di marketing - e spesso è.

È fondamentale menzionare la privacy quando si parla di analisi dei dati mobili. A Apple non piace quando viene violato la privacy dei propri clienti e ha respinto innumerevoli applicazioni per questo motivo esatto. Puoi usare Mixpanel senza chiedere informazioni ai tuoi utenti. Tuttavia, è importante ricordare che il cliente deve essere consapevole del fatto che si stanno raccogliendo dati, specialmente se i dati contengono informazioni personali. È fondamentale rispettare sempre la privacy dei tuoi clienti.

Nel resto di questo tutorial, ti mostrerò come iniziare con Mixpanel creando un account, integrando Mixpanel in un progetto iOS e raccogliendo i dati per l'analisi. L'integrazione di Mixpanel in un progetto iOS è semplice e l'API di Mixpanel è molto intuitiva.


Passaggio 1: Impostazione del progetto

Crea un nuovo progetto in Xcode selezionando il Applicazione vista singola modello dall'elenco di modelli (figura 1). Dai un nome alla tua domanda analizzato, inserire un identificativo aziendale, impostare i phone per la famiglia di dispositivi e controllare Utilizzare il conteggio di riferimento automatico. Il resto delle caselle di controllo può essere lasciato deselezionato per questo progetto (figura 2). Dillo a Xcode dove vuoi salvare il progetto e premi il Creare pulsante.


Figura 1
figura 2

Passaggio 2: aggiunta della libreria Mixpanel

Scarica l'ultima versione della libreria Mixpanel per iOS su GitHub ed estrai l'archivio scaricato. Dopo aver decompresso / estratto, cerca la cartella "Mixpanel" e importala nel tuo progetto Xcode. In tal caso, assicurati di controllare la casella contrassegnata Copia gli elementi nella cartella del gruppo di destinazione (se necessario) e aggiungi la libreria Mixpanel al target Analizzato (figura 3).


Figura 3

La libreria Mixpanel dipende dal Configurazione di sistema e CoreTelephony framework, quindi colleghiamo il nostro progetto a questi framework. Fare clic sul progetto nel Project Navigator a sinistra, seleziona l'obiettivo indicato analizzato dalla lista degli obiettivi, apri il Costruisci fasi scheda in alto, e espandere il Collega binario con le librerie cassetto. Fare clic sul piccolo pulsante più per collegare il progetto a entrambi i quadri (figura 4).


Figura 4

Sfortunatamente al momento della scrittura, la libreria Mixpanel non supporta ARC (Automatic Reference Counting). Per ovviare a ciò, dobbiamo aggiungere un flag del compilatore a ciascuno dei file della libreria Mixpanel. Fare clic sul progetto nel Project Navigator a sinistra, seleziona l'obiettivo indicato analizzato dalla lista degli obiettivi, apri il Costruisci fasi scheda in alto, e espandere il Compila fonti cassetto. Aggiungi un flag del compilatore con valore -fno-objc-arc a ciascun file della libreria Mixpanel (figura 5).


Figura 5

Poiché utilizzeremo Mixpanel per tutto il progetto, è una buona idea importare il file di intestazione Mixpanel nel file di intestazione precompilato del progetto (Analizzato-Prefix.pch) come mostrato di seguito. Ciò rende più semplice il lavoro con la libreria di Mixpanel.

 #importare  #ifndef __IPHONE_4_0 #warning "Questo progetto utilizza funzionalità disponibili solo in iOS SDK 4.0 e versioni successive." #endif #ifdef __OBJC__ #import  #importare  #import "Mixpanel.h" #endif

Passaggio 3: creazione di un progetto in Mixpanel

Mixpanel è gratuito per un massimo di 25.000 punti dati, quindi ti incoraggio a creare un nuovo account Mixpanel e a seguirmi. Occorrono meno di due minuti per creare un account Mixpanel (figura 6).


Figura 6

Una volta effettuato l'accesso, è necessario creare un progetto per la propria applicazione. Ti consiglio di creare un nuovo progetto per ogni applicazione. Fai clic sul pulsante con l'etichetta Il mio nuovo progetto in alto a sinistra, inserisci il nome della tua applicazione iOS e fai clic su Crea progetto pulsante (figura 7).


Figura 7

Per iniziare a utilizzare Mixpanel nella tua applicazione iOS, devi copiare il token del progetto, che puoi trovare nel pannello delle impostazioni del progetto. Fare clic sull'icona dell'ingranaggio in basso a sinistra (figura 7) e selezionare il Gestione scheda nella parte superiore del pannello delle impostazioni che appare. Questo ti mostrerà una lista di impostazioni del progetto incluso il token del progetto, una lunga stringa alfanumerica (figura 8). Copia questa stringa negli appunti.


Figura 8

Passaggio 4: installazione di Mixpanel

Mixpanel deve essere inizializzato ogni volta che l'applicazione viene avviata. Il luogo designato per farlo è nel delegato dell'applicazione applicazione: didFinishLaunchingWithOptions: metodo. Inizializzare Mixpanel è facile come chiamare il sharedInstanceWithToken: metodo di classe sul Mixpanel classe e passando il token del progetto che abbiamo copiato dal pannello delle impostazioni del progetto un momento fa. Mixpanel è ora a conoscenza del progetto appena creato nel dashboard di Mixpanel.

 - (BOOL) application: (applicazione UIApplication *) didFinishLaunchingWithOptions: (NSDictionary *) launchOptions // Initialize Mixpanel [Mixpanel sharedInstanceWithToken: @ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; // Initialize View Controller self.viewController = [[MTViewController alloc] initWithNibName: @ "MTViewController" bundle: nil]; // Initialize Window self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bound]]; // Configure Window [self.window setRootViewController: self.viewController]; [self.window makeKeyAndVisible]; return YES; 

Passaggio 5: identificazione degli utenti

Come affermato in precedenza in questo tutorial, è importante identificare ciascun utente come individuo separato. Mixpanel fa questo automaticamente per te usando un hash dell'indirizzo MAC del dispositivo.

Puoi recuperare questo identificatore univoco chiedendo il Mixpanel singleton per il suo distinctId. Il metodo setter del distinctId la proprietà è nominata identificare: (non setDistinctId:). È possibile impostare il distinctId proprietà con un identificativo univoco che fornisci. Questo è importante perché se memorizzi i tuoi clienti in un database remoto, ti consiglio di sincronizzare quel database remoto con il database di Mixpanel impostando di conseguenza l'identificativo univoco del cliente.

Inoltre, potresti voler generare il tuo identificativo univoco per motivi pratici. L'hash dell'indirizzo MAC usato da Mixpanel è legato al dispositivo. In altre parole, se un utente ha la tua applicazione installata su più dispositivi (ad es. Applicazioni universali), quell'utente verrà visualizzato come più utenti separati. Solitamente risolvo questo problema generando il mio identificatore univoco e memorizzando quell'identificatore in iCloud. Non solo risolve il problema di cui sopra, ma garantisce anche che il cliente persista attraverso le installazioni. Quanto è bello?

Nell'esempio seguente, mostro come generare il proprio identificatore univoco e memorizzarlo nel database dei valori predefiniti dell'utente. Dopo aver generato l'identificatore univoco, abbiamo impostato il distinctId proprietà dell'oggetto singleton Mixpanel inviandogli un messaggio di identificare: e passare l'identificatore univoco. Dai uno sguardo allo snippet di codice qui sotto per chiarimenti. Ho anche creato un metodo di supporto, setupMixpanel, per mantenere tutto organizzato. Nota che uso il nuovo NSUUID classe che rende semplice la generazione di un identificatore univoco.

 - Applicazione (BOOL): applicazione (UIApplication *) didFinishLaunchingWithOptions: (NSDictionary *) launchOptions // Setup Mixpanel [self setupMixpanel]; // Initialize View Controller self.viewController = [[MTViewController alloc] initWithNibName: @ "MTViewController" bundle: nil]; // Initialize Window self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bound]]; // Configure Window [self.window setRootViewController: self.viewController]; [self.window makeKeyAndVisible]; return YES; 
 - (void) setupMixpanel // Inizializza Mixpanel Mixpanel * mixpanel = [Mixpanel sharedInstanceWithToken: @ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; // Identify NSString * mixpanelUUID = [[NSUserDefaults standardUserDefaults] objectForKey: @ "MixpanelUUID"]; if (! mixpanelUUID) mixpanelUUID = [[NSUUID UUID] UUIDString]; [[NSUserDefaults standardUserDefaults] setObject: mixpanelUUID forKey: @ "MixpanelUUID"];  [mixpanel identifica: mixpanelUUID]; 

Passaggio 6: monitoraggio degli eventi

Il monitoraggio degli eventi rende interessante il Mixpanel. Inizia aprendo MTViewController.xib e aggiungi due pulsanti alla vista del controller della vista. Dai un pulsante al titolo Milestone 1 e l'altro pulsante il titolo Milestone 2 (figura 9). Immagina che ciascun pulsante rappresenti una funzione o funzione nella tua applicazione a cui sei interessato.


Figura 9

Nel file di implementazione del controller della vista, aggiungere un'azione per ciascun pulsante e in Interface Builder connettere ogni azione con il pulsante corrispondente. Per ragioni di semplicità, ho chiamato le azioni reachedMilestone1: e reachedMilestone2:rispettivamente.

Per tenere traccia di un evento in Mixpanel, invia un messaggio all'oggetto Mixpanel condiviso traccia: e passa una stringa, ovvero il nome dell'evento che desideri monitorare. Dai un'occhiata all'implementazione di reachedMilestone1: azione qui sotto.

 - (IBAction) ha raggiuntoMilestone1: (id) sender [[Mixpanel sharedInstance] track: @ "Reached Milestone 1"]; 

Oltre a tenere traccia di un evento, è anche possibile associare parametri o proprietà a un evento utilizzando il comando pista: Proprietà: metodo. Il secondo argomento di pista: Proprietà: è un dizionario che contiene le proprietà che vuoi collegare all'evento. Tieni presente che solo le classi di elenchi di proprietà valide (NSString, NSDate, NSNumber, ecc.) possono essere memorizzati nel dizionario delle proprietà. Dai un'occhiata all'esempio qui sotto per chiarimenti.

 - (IBAction) ha raggiuntoMilestone2: (id) mittente NSDictionary * properties = @ @ "date": [Data NSDate], @ "lingua": @ "en"; [[Mixpanel sharedInstance] track: @ "Reached Milestone 2" proprietà: proprietà]; 

Mixpanel invia un numero di parametri di default, come il modello del dispositivo (iPad, iPhone, ecc.), La versione del sistema operativo, la versione dell'applicazione, ecc. In alcuni casi, potresti voler inviare un insieme fisso di proprietà ad ogni evento che Mixpanel tiene traccia. Per semplificare, puoi registrare le cosiddette super proprietà. Le super proprietà vengono inviate con ogni evento registrato da Mixpanel, come le proprietà predefinite che ho menzionato sopra. Nell'esempio seguente, ho registrato un dizionario di super proprietà nel setupMixpanel metodo di supporto.

 - (void) setupMixpanel NSUserDefaults * ud = [NSUserDefaults standardUserDefaults]; // Inizializza Mixpanel Mixpanel * mixpanel = [Mixpanel sharedInstanceWithToken: @ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; // Identify NSString * mixpanelUUID = [ud objectForKey: @ "MixpanelUUID"]; if (! mixpanelUUID) mixpanelUUID = [[NSUUID UUID] UUIDString]; [ud setObject: mixpanelUUID forKey: @ "MixpanelUUID"];  [mixpanel identifica: mixpanelUUID]; // Registra proprietà super NSDictionary * properties = @ @ "APIVersion": @ "1.2"; [mixpanel registerSuperProperties: proprietà]; 

Super proprietà possono essere cancellate inviando l'oggetto Mixpanel un messaggio di clearSuperProperties. Esistono diversi altri metodi relativi all'impostazione e alla lettura di super proprietà, che puoi trovare nella documentazione di Mixpanel.


Step 7: Mixpanel Dashboard

tendenze

Puoi creare ed eseguire la tua applicazione in iOS Simulator o su un dispositivo per testare ciò che abbiamo creato finora. Mixpanel raccoglie i dati ogni volta che un utente attiva uno degli eventi che abbiamo definito in precedenza. In background, Mixpanel invia i dati raccolti ai suoi server quando possibile. Anche se Mixpanel non fornisce una vista dal vivo come fa Google Analytics, i dati di solito vengono visualizzati in pochi minuti (figura 10).


Figura 10

Il tendenze vista ti fornisce un riepilogo di come la tua applicazione viene utilizzata dai tuoi clienti in base alle azioni che intraprendono. Il tendenze la vista è ottima per studiare il coinvolgimento degli utenti. Mixpanel confronta convenientemente il coinvolgimento dell'utente nel tempo, il che ti dà un'idea precisa di come viene utilizzata l'applicazione, nonché dello stato e della crescita della base di clienti. Tieni presente che, per impostazione predefinita, il tendenze vista mostra il numero totale di eventi tracciati. A seconda dell'evento, può essere più utile mostrare solo eventi unici.

Segmentazione

Il Segmentazione view è un aspetto incredibilmente potente del dashboard di Mixpanel. Ti consente di segmentare i clienti in base a un parametro o una proprietà di un evento. Nell'esempio seguente (figura 11), ho segmentato i clienti in base al modello di dispositivo, una proprietà che Mixpanel aggrega per impostazione predefinita. Con Segmentazione, le possibilità sono praticamente infinite. Ad esempio, la vista segmentazione indica quale percentuale della base di clienti utilizza la versione più recente dell'applicazione. Ti dice anche quale versione di iOS i tuoi clienti stanno usando, il che è incredibilmente utile se stai pensando di abbandonare il supporto per una versione iOS più vecchia. Tali decisioni sono sempre difficili da realizzare, ma con uno strumento come Mixpanel hai almeno una visione accurata dell'impatto che avrà sui tuoi clienti.


Figura 11

Conclusione

Mixpanel è uno dei migliori strumenti di analisi con cui lavoro. Il successo di Mixpanel è in parte dovuto al fatto che la maggior parte dell'elaborazione dei dati viene eseguita per te. I dati sono presentati in modo tale da facilitare l'acquisizione di tendenze e modelli.

Ricorda che Mixpanel ha molto altro da offrire rispetto a quello che ho trattato in questo tutorial. Ad esempio, l'integrazione delle notifiche push di Mixpanel è un potente strumento per mantenere i clienti coinvolti. L'App Store è diventato incredibilmente affollato e al giorno d'oggi i clienti non dovrebbero essere dati per scontati. È importante fare tutto il possibile per mantenere i clienti coinvolti. Mixpanel può aiutarti con questo.