Mobil Analytics med Mixpanel

Mobilanalys ger ett brett utbud av tjänster till utvecklare. Mixpanel är en etablerad spelare som används med webb- och mobilanalys. I denna handledning kommer jag att visa hur Mixpanel sätter sig ifrån sina konkurrenter. Jag ska visa dig hur du kommer igång med Mixpanel och hur det kan hjälpa dig med att behålla och engagera dig, två kritiska aspekter i det nuvarande mobila landskapet.


varning

Denna handledning sponsras inte eller godkänns av Mixpanel. Jag har använt Mixpanel ganska länge nu och jag är mycket nöjd med resultaten jag hittills har fått. Jag har skrivit denna handledning för att visa vad Mixpanel kan göra för dig och ditt företag.


Lär av dina kunder

När den används korrekt kan mobilanalys vara en värdefull informationskälla. Mobilanalys kan vara mycket mer än ett verktyg för att hålla reda på antalet aktiva användare av en applikation. Om du strävar efter att skapa en applikation som kunderna älskar och fortsätter att komma tillbaka till, är mobilanalyser oumbärlig.

Att samla in data är inte det enda som Mixpanel kan användas till. Data Mixpanel samlar analyseras noggrant och presenteras på ett sådant sätt att trender, mönster och problem snabbt avslöjar sig själva. Det ger samtal till åtgärder för att ytterligare förbättra och förbättra din produkt.

Mixpanel lyser verkligen när det gäller att behålla och engagera kunder. Användare kan följas över tiden genom att associera varje användare med en unik identifierare. Detta ger dig data och verktyg för att studera varför kunder slutar använda din produkt eller varför vissa funktioner förblir underutnyttjade.


Integritet

Utan mobilanalys är det praktiskt taget omöjligt att få en realistisk bild av programmets kundbas. Den aktiva användarbasen för en applikation är en viktig mätning, eftersom den ger dig en bra indikation på programmets hälsa. En minskande användarbas är en tydlig indikation på att produkten har några allvarliga brister som behöver åtgärdas. En minskande användarbas kan bero på ett användbarhetsproblem, men det kan lika bra vara ett marknadsföringsproblem - och det är ofta.

Det är viktigt att nämna integritet när du diskuterar mobilanalys. Apple gillar inte när integriteten hos sina kunder bryts och det har avvisat otaliga applikationer för denna exakta anledning. Du kan använda Mixpanel utan att fråga dina användare om personlig information. Det är dock viktigt att komma ihåg att kunden måste vara medveten om att du samlar in data, särskilt om uppgifterna innehåller personuppgifter. Det är viktigt att alltid respektera dina kunders integritet.

I resten av denna handledning visar jag hur du börjar med Mixpanel genom att skapa ett konto, integrera Mixpanel i ett iOS-projekt och samla in data för analys. Att integrera Mixpanel i ett iOS-projekt är enkelt och Mixpanel API är mycket intuitivt att använda.


Steg 1: Projektinställningar

Skapa ett nytt projekt i Xcode genom att välja Enkel visningsprogram mall från listan med mallar (figur 1). Namn på din ansökan analyseras, Ange en företagsidentifierare, inställd iPhone för enhetsfamiljen och kontrollera Använd automatisk referensräkning. Resten av kryssrutorna kan lämnas obekant för detta projekt (figur 2). Berätta Xcode där du vill spara projektet och klicka på Skapa knapp.


Figur 1
figur 2

Steg 2: Lägga till Mixpanel Library

Ladda ner den senaste versionen av Mixpanel-biblioteket till iOS på GitHub och hämta det nedladdade arkivet. Efter unzipping / extrahering, leta efter "Mixpanel" -mappen och importera den till ditt Xcode-projekt. När du gör det, se till att du markerar kryssrutan Kopiera objekt till destinationsgruppens mapp (om det behövs) och lägg till Mixpanel-biblioteket till det analyserade målet (figur 3).


Figur 3

Mixpanel-biblioteket beror på Systemkonfiguration och CoreTelephony ramar, så låt oss länka vårt projekt mot dessa ramar. Klicka på projektet i Project Navigator till vänster, välj det angivna målet analyseras från listan över mål, öppna Bygga faser fliken längst upp och expandera Länk binär med bibliotek låda. Klicka på den lilla plusknappen för att länka ditt projekt mot båda ramarna (figur 4).


Figur 4

Tyvärr vid skrivningstillfället stöder Mixpanel-biblioteket inte ARC (Automatic Reference Counting). För att åtgärda detta måste vi lägga till en kompilatorflagga för varje fil i Mixpanel-biblioteket. Klicka på projektet i Project Navigator till vänster, välj det angivna målet analyseras från listan över mål, öppna Bygga faser fliken längst upp och expandera Kompilera källor låda. Lägg till en kompilator flagga med värde -FNO-objc-arc till varje fil i Mixpanel-biblioteket (figur 5).


Figur 5

Eftersom vi använder Mixpanel under hela projektet, är det en bra idé att importera Header-filen i Mixpanel i projektets förkompilerade headerfil (Analyseras-Prefix.pch) enligt nedanstående. Detta gör det enklare att arbeta med Mixpanel-biblioteket.

 #importera  #ifndef __IPHONE_4_0 #warning "Det här projektet använder funktioner som endast är tillgängliga i iOS SDK 4.0 och senare." #endif #ifdef __OBJC__ #import  #importera  #import "Mixpanel.h" #endif

Steg 3: Skapa ett projekt i Mixpanel

Mixpanel är ledig för upp till 25 000 datapunkter, så jag uppmuntrar dig att skapa ett nytt Mixpanel-konto och följa med mig. Det tar mindre än två minuter att skapa ett Mixpanel-konto (figur 6).


Figur 6

När du är inloggad måste du skapa ett projekt för din ansökan. Jag rekommenderar att du skapar ett nytt projekt för varje applikation. Klicka på knappen märkt Mitt nya projekt Uppe till vänster anger du namnet på ditt iOS-program och klickar på Skapa projekt knapp (figur 7).


Figur 7

För att börja använda Mixpanel i din iOS-applikation måste du kopiera projektets token, som du hittar i projektets inställningspanel. Klicka på kugghjulsikonen längst ned till vänster (figur 7) och välj Förvaltning fliken högst upp på inställningspanelen som visas. Här visas en lista över projektinställningar, inklusive projektets token, en lång alfanumerisk sträng (figur 8). Kopiera den här strängen till urklippet.


Figur 8

Steg 4: Mixpanel Setup

Mixpanel måste initialiseras varje gång applikationen startas. Den utpekade platsen för att göra detta är i ansökningsdelegatets applikations: didFinishLaunchingWithOptions: metod. Initialisering Mixpanel är lika enkelt som att ringa sharedInstanceWithToken: klassmetod på Mixpanel klass och passerade projekttoken vi kopierade från projektets inställningspanel för en stund sedan. Mixpanel är nu medveten om projektet du just skapade i Mixpanel instrumentpanel.

 - (BOOL) ansökan: (UIApplication *) ansökan gjordeFinishLaunchingWithOptions: (NSDictionary *) launchOptions // Initialize Mixpanel [Mixpanel sharedInstanceWithToken: @ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; // Initiera View Controller self.viewController = [[MTViewController alloc] initWithNibName: @ "MTViewController" bunt: noll]; // Initiera fönster self.window = [[UIWindow alloc] initWithFrame: gränser för [[UIScreen mainScreen]]; // Konfigurera fönstret [self.window setRootViewController: self.viewController]; [self.window makeKeyAndVisible]; returnera JA; 

Steg 5: Identifiera användare

Som tidigare nämnts i denna handledning är det viktigt att identifiera varje användare som en separat individ. Mixpanel gör det automatiskt för dig genom att använda en hash på MAC-adressen på enheten.

Du kan hämta denna unika identifierare genom att fråga Mixpanel singleton för dess distinctId. Settermetoden för distinctId egendom heter identifiera: (inte setDistinctId:). Det är möjligt att ställa in distinctId egendom med en unik identifierare som du tillhandahåller. Detta är viktigt att göra för att om du lagrar dina kunder i en fjärransluten databas rekommenderar jag att du synkroniserar den fjärranslutna databasen med Mixpanels databas genom att ange kundens unika identifierare.

Dessutom kanske du vill skapa din egen unika identifierare av praktiska skäl. MAC-adressen som används av Mixpanel är bunden till enheten. Med andra ord, om en användare har din applikation installerad på flera enheter (t.ex. universella applikationer), kommer den användaren att visas som flera separata användare. Jag löser vanligtvis problemet genom att skapa en egen unik identifierare och lagra den identifieraren i iCloud. Det löser inte bara problemet ovan, det säkerställer också att kunden kvarstår över installationer. Så snyggt är det?

I exemplet nedan visar jag hur du skapar din egen unika identifierare och lagrar den i databasen för standardinställningar. Efter att ha skapat den unika identifieraren ställer vi in distinctId egenskapen för Mixpanel singleton objektet genom att skicka det ett meddelande om identifiera: och skicka den unika identifieraren. Ta en titt på kodfliken nedan för förtydligande. Jag har också skapat en hjälpmetod, setupMixpanel, för att hålla allt organiserat. Observera att jag använder den nya NSUUID klass som gör det enkelt att skapa en unik identifierare.

 - (BOOL) ansökan: (UIApplication *) ansökan gjordeFinishLaunchingWithOptions: (NSDictionary *) launchOptions // Setup Mixpanel [self setupMixpanel]; // Initiera View Controller self.viewController = [[MTViewController alloc] initWithNibName: @ "MTViewController" bunt: noll]; // Initiera fönster self.window = [[UIWindow alloc] initWithFrame: gränser för [[UIScreen mainScreen]]; // Konfigurera fönstret [self.window setRootViewController: self.viewController]; [self.window makeKeyAndVisible]; returnera JA; 
 - (void) setupMixpanel // Initialize Mixpanel Mixpanel * mixpanel = [Mixpanel sharedInstanceWithToken: @ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; // Identifiera NSString * mixpanelUUID = [[NSUserDefaults standardUserDefaults] objectForKey: @ "MixpanelUUID"]; om (! mixpanelUUID) mixpanelUUID = [[NSUUID UUID] UUIDString]; [[NSUserDefaults standardUserDefaults] setObject: mixpanelUUID forKey: @ "MixpanelUUID"];  [mixpanel identifiera: mixpanelUUID]; 

Steg 6: Spåra händelser

Spåra händelser gör Mixpanel intressant. Börja med att öppna MTViewController.xib och lägg till två knappar till vystyrningens vy. Ge en knapp titeln Milstolpe 1 och den andra knappen titeln Milstolpe 2 (figur 9). Tänk dig att varje knapp representerar en funktion eller funktion i din ansökan som du är intresserad av.


Figur 9

I visningscontrollerens implementeringsfil lägger du till en åtgärd för varje knapp och kopplar ihop varje åtgärd med motsvarande knapp i gränssnittsbyggaren. Av enkelhetsskäl har jag namngiven handlingarna reachedMilestone1: och reachedMilestone2:respektive.

För att spåra en händelse i Mixpanel, skicka det delade Mixpanel-objektet ett meddelande om Spår: och skicka det till en sträng, det vill säga namnet på händelsen som du vill spåra. Ta en titt på genomförandet av reachedMilestone1: åtgärd nedan.

 - (IBAction) reachedMilestone1: (id) avsändare [[Mixpanel sharedInstance] spår: @ "Reach Milestone 1"]; 

Förutom att spåra en händelse är det också möjligt att associera parametrar eller egenskaper med en händelse med hjälp av spår: egenskaper: metod. Det andra argumentet från spår: egenskaper: är en ordbok som innehåller de egenskaper du vill länka till händelsen. Tänk på att endast giltiga fastighetslistor klasser (NSString, NSDate, NSNumber, etc.) kan lagras i egenskapsordlistan. Ta en titt på exemplet nedan för att förtydliga.

 - (IBAction) reachedMilestone2: (id) avsändare NSDictionary * properties = @ @ "date": [NSDate date], @ "language": @ "en"; [[Mixpanel sharedInstance] spår: @ "Reached Milestone 2" egenskaper: egenskaper]; 

Mixpanel skickar ett antal parametrar som standard, t.ex. enhetsmodell (iPad, iPhone, etc.), operativsystemversionen, applikationsversionen etc. I vissa fall kan du skicka en fast uppsättning egenskaper med alla händelse som Mixpanel spårar. För att underlätta detta kan du registrera så kallade superfastigheter. Superegenskaper skickas med varje händelse som Mixpanel spårar, som standardegenskaperna som jag nämnde ovan. I exemplet nedan har jag registrerat en ordlista med superfastigheter i setupMixpanel hjälparmetod.

 - (void) setupMixpanel NSUserDefaults * ud = [NSUserDefaults standardUserDefaults]; // Initiera Mixpanel Mixpanel * mixpanel = [Mixpanel sharedInstanceWithToken: @ "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; // Identifiera NSString * mixpanelUUID = [ut objectForKey: @ "MixpanelUUID"]; om (! mixpanelUUID) mixpanelUUID = [[NSUUID UUID] UUIDString]; [ut setObject: mixpanelUUID forKey: @ "MixpanelUUID"];  [mixpanel identifiera: mixpanelUUID]; // Registrera Super Egenskaper NSDictionary * Egenskaper = @ @ "APIVersion": @ "1.2"; [mixpanel registerSuperProperties: properties]; 

Superegenskaper kan rensas genom att skicka Mixpanel-objektet ett meddelande om clearSuperProperties. Det finns flera andra metoder relaterade till inställning och läsning av superegenskaper, som du hittar i Mixpanel-dokumentationen.


Steg 7: Mixpanel Dashboard

Trends

Du kan bygga och köra din applikation i iOS-simulatorn eller på en enhet för att testa vad vi har skapat hittills. Mixpanel samlar data när en användare utlöser en av de händelser som vi definierade tidigare. I bakgrunden skickar Mixpanel den samlade data till sina servrar när det är möjligt. Även om Mixpanel inte ger en levande visning som Google Analytics, visas data vanligtvis inom några minuter (figur 10).


Figur 10

De Trends Visa ger dig en sammanfattning av hur din ansökan används av dina kunder baserat på de åtgärder de tar. De Trends Visa är bra för att studera användarengagemang. Mixpanel jämför bekvämt användarengagemang över tiden, vilket ger dig en korrekt känsla av hur din ansökan används samt tillståndet och tillväxten i din kundbas. Tänk på att som standard Trends Visa visar totalt antal händelser som spåras. Beroende på händelsen kan det vara mer användbart att bara visa unika händelser.

segmente~~POS=TRUNC

De segmente~~POS=TRUNC visa är en oerhört kraftfull aspekt av Mixpanel instrumentpanel. Det låter dig segmentera kunder baserat på en händelseparameter eller egenskap. I exemplet nedan (figur 11) har jag segmenterade kunder baserat på enhetsmodell, en egenskap som Mixpanel aggregerar som standard. Med segmente~~POS=TRUNC, möjligheterna är praktiskt taget oändliga. Segmentvisningen visar till exempel vilken procentandel av din kundbas som kör den senaste versionen av din ansökan. Det berättar också vilken version av IOS dina kunder använder, vilket är oerhört användbart om du tänker överge stöd för en äldre iOS-version. Sådana beslut är alltid svåra att göra, men med ett verktyg som Mixpanel har du åtminstone en korrekt bild av vilken påverkan det kommer att ha på dina kunder.


Figur 11

Slutsats

Mixpanel är ett av de bästa analysverktygen jag jobbar med. Mixpanels framgång beror delvis på det faktum att en majoritet av databehandling är klar för dig. Data presenteras på ett sådant sätt att det är enkelt att hämta trender och mönster.

Kom ihåg att Mixpanel har mycket mer att erbjuda än vad jag har täckt i denna handledning. Mixpanels push notification integration är till exempel ett kraftfullt verktyg för att hålla kunderna engagerade. App Store har blivit otroligt trångt och idag ska kunderna inte tas för givet. Det är viktigt att göra allt du kan för att hålla dina kunder engagerade. Mixpanel kan hjälpa dig med detta.