Mobile Analytik mit Mixpanell
German (Deutsch) translation by Valentina (you can also view the original English article)
Mobile Analytik bietet Entwicklern eine breite Palette von Diensten. Mixpanel wird in der Web- und Mobile-Analyse eingesetzt und ist ein etablierter Player. In diesem Tutorial werde ich zeigen, wie sich Mixpanel von seinen Mitbewerbern abhebt. Ich werde Ihnen zeigen, wie Sie mit Mixpanel beginnen und wie es Ihnen bei der Kundenbindung und -bindung helfen kann, zwei wichtige Aspekte in der aktuellen mobilen Landschaft.
Haftungsausschluss
Dieses Tutorial wird nicht von Mixpanel gesponsert oder unterstützt. Ich benutze Mixpanel schon seit einiger Zeit und bin sehr zufrieden mit den Ergebnissen, die ich bisher erzielt habe. Ich habe dieses Tutorial geschrieben, um zu demonstrieren, was Mixpanel für Sie und Ihr Unternehmen tun kann.
Lernen Sie von Ihren Kunden
Bei korrekter Verwendung kann Mobile Analytics eine wertvolle Informationsquelle sein. Mobile Analytics kann viel mehr als ein Tool sein, mit dem Sie die Anzahl der aktiven Benutzer einer Anwendung verfolgen können. Wenn Sie eine Anwendung erstellen möchten, die Kunden lieben und auf die sie immer wieder zurückgreifen, ist Mobile Analytik unverzichtbar.
Das Sammeln von Daten ist nicht das einzige, wofür Mixpanel verwendet werden kann. Die von Mixpanel gesammelten Daten werden sorgfältig analysiert und so dargestellt, dass sich Trends, Muster und Probleme schnell zeigen. Es bietet Handlungsaufforderungen zur weiteren Verbesserung und Verfeinerung Ihres Produkts.
Mixpanel glänzt wirklich, wenn es um Kundenbindung und Kundenbindung geht. Benutzer können im Laufe der Zeit verfolgt werden, indem jedem Benutzer eine eindeutige Kennung zugeordnet wird. Auf diese Weise erhalten Sie die Daten und Tools, mit denen Sie untersuchen können, warum Kunden Ihr Produkt nicht mehr verwenden oder warum bestimmte Funktionen nicht ausreichend genutzt werden.
Privatsphäre
Ohne mobile Analyse ist es praktisch unmöglich, einen realistischen Überblick über den Kundenstamm Ihrer Anwendung zu erhalten. Die aktive Benutzerbasis einer Anwendung ist eine wichtige Messgröße, da sie einen guten Hinweis auf den Zustand der Anwendung gibt. Eine rückläufige Benutzerbasis ist ein klarer Hinweis darauf, dass das Produkt einige schwerwiegende Mängel aufweist, die behoben werden müssen. Eine rückläufige Benutzerbasis könnte auf ein Usability-Problem zurückzuführen sein, aber es könnte genauso gut ein Marketingproblem sein - und das ist es häufig.
Es ist wichtig, den Datenschutz zu erwähnen, wenn Sie über mobile Analysen sprechen. Apple mag es nicht, wenn die Privatsphäre seiner Kunden verletzt wird, und hat aus genau diesem Grund unzählige Anträge abgelehnt. Sie können Mixpanel verwenden, ohne Ihre Benutzer nach persönlichen Informationen zu fragen. Es ist jedoch wichtig, sich daran zu erinnern, dass der Kunde wissen muss, dass Sie Daten sammeln, insbesondere wenn die Daten persönliche Informationen enthalten. Es ist wichtig, immer die Privatsphäre Ihrer Kunden zu respektieren.
Im Rest dieses Tutorials werde ich Ihnen zeigen, wie Sie mit Mixpanel beginnen, indem Sie ein Konto erstellen, Mixpanel in ein iOS-Projekt integrieren und Daten für die Analyse sammeln. Die Integration von Mixpanel in ein iOS-Projekt ist einfach und die Mixpanel-API ist sehr intuitiv zu bedienen.
Schritt 1: Projekteinrichtung
Erstellen Sie ein neues Projekt in Xcode, indem Sie die Single View-Anwendung-Vorlage aus der Liste der Vorlagen auswählen (Abbildung 1). Benennen Sie Ihre Anwendung Analysiert, geben Sie eine Firmenkennung ein, legen Sie das iPhone für die Gerätefamilie fest und aktivieren Sie die Option Automatische Referenzzählung verwenden. Die restlichen Kontrollkästchen können für dieses Projekt deaktiviert werden (Abbildung 2). Teilen Sie Xcode mit, wo Sie das Projekt speichern möchten, und klicken Sie auf die Schaltfläche Erstellen.


Abbildung 1 

Abbildung 2 Schritt 2: Hinzufügen der Mixpanel-Bibliothek
Laden Sie die neueste Version der Mixpanel-Bibliothek für iOS bei GitHub herunter und extrahieren Sie das heruntergeladene Archiv. Suchen Sie nach dem Entpacken / Extrahieren nach dem Ordner "Mixpanel" und importieren Sie ihn in Ihr Xcode-Projekt. Aktivieren Sie dabei das Kontrollkästchen Elemente in den Ordner der Zielgruppe kopieren (falls erforderlich) und fügen Sie die Mixpanel-Bibliothek zum analysierten Ziel hinzu (Abbildung 3).


Abbildung 3 Die Mixpanel-Bibliothek hängt von den Frameworks SystemConfiguration und CoreTelephony ab. Verknüpfen wir unser Projekt also mit diesen Frameworks. Klicken Sie links im Projektnavigator auf das Projekt, wählen Sie das Ziel "Analysiert" aus der Liste der Ziele aus, öffnen Sie oben die Registerkarte "Phasen erstellen" und erweitern Sie die Schublade "Binär mit Bibliotheken verknüpfen". Klicken Sie auf das kleine Pluszeichen, um Ihr Projekt mit beiden Frameworks zu verknüpfen (Abbildung 4).


Abbildung 4 Leider unterstützt die Mixpanel-Bibliothek zum Zeitpunkt des Schreibens ARC (Automatic Reference Counting) nicht. Um dies zu beheben, müssen wir jeder Datei der Mixpanel-Bibliothek ein Compiler-Flag hinzufügen. Klicken Sie links im Projektnavigator auf das Projekt, wählen Sie das Ziel mit dem Namen Analysiert aus der Liste der Ziele aus, öffnen Sie oben die Registerkarte Build-Phasen und erweitern Sie die Schublade Quellen kompilieren. Fügen Sie jeder Datei der Mixpanel-Bibliothek ein Compiler-Flag mit dem Wert -fno-objc-arc hinzu (Abbildung 5).


Abbildung 5 Da wir Mixpanel während des gesamten Projekts verwenden werden, ist es eine gute Idee, die Mixpanel-Header-Datei in die vorkompilierte Header-Datei des Projekts(Analyzed-Prefix.pch) zu importieren, wie unten gezeigt. Dies erleichtert die Arbeit mit der Mixpanel-Bibliothek ein wenig.
1 |
#import <Availability.h>
|
2 |
|
3 |
#ifndef __IPHONE_4_0
|
4 |
#warning "This project uses features only available in iOS SDK 4.0 and later."
|
5 |
#endif
|
6 |
|
7 |
#ifdef __OBJC__
|
8 |
#import <UIKit/UIKit.h>
|
9 |
#import <Foundation/Foundation.h>
|
10 |
|
11 |
#import "Mixpanel.h"
|
12 |
#endif
|
Schritt 3: Erstellen eines Projekts in Mixpanel
Mixpanel ist für bis zu 25.000 Datenpunkte kostenlos. Ich empfehle Ihnen daher, ein neues Mixpanel-Konto zu erstellen und mir zu folgen. Das Erstellen eines Mixpanel-Kontos dauert weniger als zwei Minuten (Abbildung 6).


Abbildung 6 Sobald Sie angemeldet sind, müssen Sie ein Projekt für Ihre Anwendung erstellen. Ich empfehle Ihnen, für jede Anwendung ein neues Projekt zu erstellen. Klicken Sie oben links auf die Schaltfläche Mein neues Projekt, geben Sie den Namen Ihrer iOS-Anwendung ein und klicken Sie auf die Schaltfläche Projekt erstellen (Abbildung 7).


Abbildung 7 Um Mixpanel in Ihrer iOS-Anwendung verwenden zu können, müssen Sie das Token des Projekts kopieren, das Sie im Einstellungsfeld des Projekts finden. Klicken Sie auf das Zahnradsymbol unten links (Abbildung 7) und wählen Sie die Registerkarte Verwaltung oben im angezeigten Einstellungsfeld. Dies zeigt Ihnen eine Liste der Projekteinstellungen, einschließlich des Tokens des Projekts, einer langen alphanumerischen Zeichenfolge (Abbildung 8). Kopieren Sie diese Zeichenfolge in die Zwischenablage.


Abbildung 8 Schritt 4: Mixpanel-Setup
Der vorgesehene Ort dafür ist die application:didFinishLaunchingWithOptions: -Methode des Anwendungsdelegaten. Das Initialisieren von Mixpanel ist so einfach wie das Aufrufen der Klassenmethode sharedInstanceWithToken: für die Mixpanel-Klasse und das Übergeben des Projekttokens, das wir vor kurzem aus dem Einstellungsfenster des Projekts kopiert haben. Mixpanel kennt jetzt das Projekt, das Sie gerade im Mixpanel-Dashboard erstellt haben.
1 |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { |
2 |
// Initialize Mixpanel
|
3 |
[Mixpanel sharedInstanceWithToken:@"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; |
4 |
|
5 |
// Initialize View Controller
|
6 |
self.viewController = [[MTViewController alloc] initWithNibName:@"MTViewController" bundle:nil]; |
7 |
|
8 |
// Initialize Window
|
9 |
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; |
10 |
|
11 |
// Configure Window
|
12 |
[self.window setRootViewController:self.viewController]; |
13 |
[self.window makeKeyAndVisible]; |
14 |
|
15 |
return YES; |
16 |
}
|
Schritt 5: Benutzer identifizieren
Wie bereits in diesem Tutorial erwähnt, ist es wichtig, jeden Benutzer als separate Person zu identifizieren. Mixpanel erledigt dies automatisch für Sie, indem es einen Hash der MAC-Adresse des Geräts verwendet.
Sie können diesen eindeutigen Bezeichner abrufen, indem Sie den Mixpanel-Singleton nach seiner distinctId fragen. Die Setter-Methode der distinctId-Eigenschaft heißt identify: (nicht setDistinctId:). Es ist möglich, die distinctId-Eigenschaft mit einer von Ihnen angegebenen eindeutigen Kennung festzulegen. Dies ist wichtig, da Sie, wenn Sie Ihre Kunden in einer entfernten Datenbank speichern, empfehlen, diese entfernte Datenbank mit der Mixpanel-Datenbank zu synchronisieren, indem Sie die eindeutige Kennung des Kunden entsprechend festlegen.
Darüber hinaus möchten Sie möglicherweise aus praktischen Gründen Ihre eigene eindeutige Kennung generieren. Der Hash der von Mixpanel verwendeten MAC-Adresse ist an das Gerät gebunden. Mit anderen Worten, wenn ein Benutzer Ihre Anwendung auf mehreren Geräten (z. B. universellen Anwendungen) installiert hat, wird dieser Benutzer als mehrere separate Benutzer angezeigt. Normalerweise löse ich dieses Problem, indem ich meine eigene eindeutige Kennung generiere und diese Kennung in iCloud speichere. Dies löst nicht nur das oben genannte Problem, sondern stellt auch sicher, dass der Kunde über alle Installationen hinweg bestehen bleibt. Wie ordentlich ist das?
Im folgenden Beispiel zeige ich, wie Sie Ihre eigene eindeutige Kennung generieren und in der Benutzerstandarddatenbank speichern. Nach dem Generieren des eindeutigen Bezeichners legen wir die distinctId-Eigenschaft des Mixpanel-Singleton-Objekts fest, indem wir ihm eine identify:-Nachricht senden und übergeben den eindeutigen Bezeichner. Schauen Sie sich zur Verdeutlichung das folgende Code-Snippet an. Ich habe auch eine Hilfsmethode erstellt, setupMixpanel, um alles organisiert zu halten. Beachten Sie, dass ich die neue NSUUID-Klasse verwende, die das Generieren einer eindeutigen Kennung vereinfacht.
1 |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { |
2 |
// Setup Mixpanel
|
3 |
[self setupMixpanel]; |
4 |
|
5 |
// Initialize View Controller
|
6 |
self.viewController = [[MTViewController alloc] initWithNibName:@"MTViewController" bundle:nil]; |
7 |
|
8 |
// Initialize Window
|
9 |
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; |
10 |
|
11 |
// Configure Window
|
12 |
[self.window setRootViewController:self.viewController]; |
13 |
[self.window makeKeyAndVisible]; |
14 |
|
15 |
return YES; |
16 |
}
|
1 |
- (void)setupMixpanel { |
2 |
// Initialize Mixpanel
|
3 |
Mixpanel *mixpanel = [Mixpanel sharedInstanceWithToken:@"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; |
4 |
|
5 |
// Identify
|
6 |
NSString *mixpanelUUID = [[NSUserDefaults standardUserDefaults] objectForKey:@"MixpanelUUID"]; |
7 |
|
8 |
if (!mixpanelUUID) { |
9 |
mixpanelUUID = [[NSUUID UUID] UUIDString]; |
10 |
[[NSUserDefaults standardUserDefaults] setObject:mixpanelUUID forKey:@"MixpanelUUID"]; |
11 |
}
|
12 |
|
13 |
[mixpanel identify:mixpanelUUID]; |
14 |
}
|
Schritt 6: Ereignisse verfolgen
Das Verfolgen von Ereignissen macht Mixpanel interessant. Öffnen Sie zunächst MTViewController.xib und fügen Sie der Ansicht des View Controllers zwei Schaltflächen hinzu. Geben Sie einer Schaltfläche den Titel Milestone 1 und der anderen Schaltfläche den Titel Milestone 2 (Abbildung 9). Stellen Sie sich vor, jede Schaltfläche repräsentiert eine Funktion in Ihrer Anwendung, an der Sie interessiert sind.


Abbildung 9 Fügen Sie in der Implementierungsdatei des View Controllers eine Aktion für jede Schaltfläche hinzu und verbinden Sie im Interface Builder jede Aktion mit der entsprechenden Schaltfläche. Aus Gründen der Einfachheit habe ich die Aktionen reachedMilestone1: und reachedMilestone2: benannt.
Um ein Ereignis in Mixpanel zu verfolgen, senden Sie dem freigegebenen Mixpanel-Objekt eine Nachricht von track: und übergeben Sie ihm eine Zeichenfolge, dh den Namen des Ereignisses, das Sie verfolgen möchten. Schauen Sie sich die Implementierung der reachedMilestone1:-Aktion an.
1 |
- (IBAction)reachedMilestone1:(id)sender { |
2 |
[[Mixpanel sharedInstance] track:@"Reached Milestone 1"]; |
3 |
}
|
Neben der Verfolgung eines Ereignisses ist es auch möglich, einem Ereignis mithilfe der track:properties:-Methode Parameter oder Eigenschaften zuzuordnen. Das zweite Argument von track:properties: ist ein Wörterbuch, das die Eigenschaften enthält, die Sie mit dem Ereignis verknüpfen möchten. Beachten Sie, dass nur gültige Eigenschaftenlistenklassen (NSString, NSDate, NSNumber usw.) im Eigenschaftenwörterbuch gespeichert werden können. Schauen Sie sich das folgende Beispiel zur Verdeutlichung an.
1 |
- (IBAction)reachedMilestone2:(id)sender { |
2 |
NSDictionary *properties = @{@"date" : [NSDate date], @"language" : @"en"}; |
3 |
[[Mixpanel sharedInstance] track:@"Reached Milestone 2" properties:properties]; |
4 |
}
|
Mixpanel sendet standardmäßig eine Reihe von Parametern, z. B. das Gerätemodell (iPad, iPhone usw.), die Betriebssystemversion, die Anwendungsversion usw. In einigen Fällen möchten Sie möglicherweise mit jedem Ereignis, das Mixpanel verfolgt, einen festen Satz von Eigenschaften senden. Um dies zu vereinfachen, können Sie sogenannte Super-Eigenschaften registrieren. Super-Eigenschaften werden mit jedem Ereignis gesendet, das Mixpanel verfolgt, wie die oben erwähnten Standardeigenschaften. Im folgenden Beispiel habe ich ein Wörterbuch mit Super-Eigenschaften in der SetupMixpanel-Hilfsmethode registriert.
1 |
- (void)setupMixpanel { |
2 |
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; |
3 |
|
4 |
// Initialize Mixpanel
|
5 |
Mixpanel *mixpanel = [Mixpanel sharedInstanceWithToken:@"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]; |
6 |
|
7 |
// Identify
|
8 |
NSString *mixpanelUUID = [ud objectForKey:@"MixpanelUUID"]; |
9 |
|
10 |
if (!mixpanelUUID) { |
11 |
mixpanelUUID = [[NSUUID UUID] UUIDString]; |
12 |
[ud setObject:mixpanelUUID forKey:@"MixpanelUUID"]; |
13 |
}
|
14 |
|
15 |
[mixpanel identify:mixpanelUUID]; |
16 |
|
17 |
// Register Super Properties
|
18 |
NSDictionary *properties = @{@"APIVersion": @"1.2"}; |
19 |
[mixpanel registerSuperProperties:properties]; |
20 |
}
|
Super-Eigenschaften können gelöscht werden, indem dem Mixpanel-Objekt eine Nachricht von clearSuperProperties gesendet wird. Es gibt verschiedene andere Methoden zum Festlegen und Lesen von Super-Eigenschaften, die Sie in der Mixpanel-Dokumentation finden.
Schritt 7: Mixpanel Dashboard
Trends
Sie können Ihre Anwendung im iOS-Simulator oder auf einem Gerät erstellen und ausführen, um zu testen, was wir bisher erstellt haben. Mixpanel sammelt Daten, wenn ein Benutzer eines der zuvor definierten Ereignisse auslöst. Im Hintergrund sendet Mixpanel die gesammelten Daten nach Möglichkeit an seine Server. Obwohl Mixpanel keine Live-Ansicht wie Google Analytics bietet, werden die Daten normalerweise in wenigen Minuten angezeigt (Abbildung 10).


Abbildung 10 In der Ansicht "Trends" erhalten Sie eine Zusammenfassung der Verwendung Ihrer Anwendung durch Ihre Kunden basierend auf den von ihnen ergriffenen Maßnahmen. Die Ansicht "Trends" eignet sich hervorragend zum Studium des Benutzereingriffs. Mixpanel vergleicht auf bequeme Weise das Engagement der Benutzer im Laufe der Zeit und gibt Ihnen einen genauen Überblick über die Verwendung Ihrer Anwendung sowie über den Status und das Wachstum Ihres Kundenstamms. Beachten Sie, dass in der Ansicht "Trends" standardmäßig die Gesamtzahl der verfolgten Ereignisse angezeigt wird. Je nach Ereignis kann es sinnvoller sein, nur eindeutige Ereignisse anzuzeigen.
Segmentierung
Die Segmentierung-Ansicht ist ein unglaublich leistungsfähiger Aspekt des Mixpanel-Dashboards. Sie können Kunden anhand eines Ereignisparameters oder einer Eigenschaft segmentieren. Im folgenden Beispiel (Abbildung 11) habe ich Kunden anhand des Gerätemodells segmentiert, eine Eigenschaft, die Mixpanel standardmäßig aggregiert. Mit der Segmentierung sind die Möglichkeiten nahezu unbegrenzt. In der Segmentierung-Ansicht wird beispielsweise angegeben, wie viel Prozent Ihres Kundenstamms die neueste Version Ihrer Anwendung ausführen. Außerdem erfahren Sie, welche iOS-Version Ihre Kunden verwenden. Dies ist unglaublich hilfreich, wenn Sie die Unterstützung für eine ältere iOS-Version aufgeben möchten. Solche Entscheidungen sind immer schwer zu treffen, aber mit einem Tool wie Mixpanel haben Sie zumindest eine genaue Vorstellung davon, welche Auswirkungen dies auf Ihre Kunden haben wird.


Abbildung 11 Schlussfolgerung
Mixpanel ist eines der besten Analytik-Werkeuge, mit denen ich arbeite. Der Erfolg von Mixpanel ist teilweise darauf zurückzuführen, dass ein Großteil der Datenverarbeitung für Sie erfolgt. Die Daten werden so dargestellt, dass Trends und Muster leicht erfasst werden können.
Denken Sie daran, dass Mixpanel viel mehr zu bieten hat als das, was ich in diesem Tutorial behandelt habe. Beispielsweise ist die Push-Benachrichtigungsintegration von Mixpanel ein leistungsstarkes Werkzeug, um Kunden zu binden. Der App Store ist unglaublich voll geworden und heutzutage sollten Kunden nicht als selbstverständlich angesehen werden. Es ist wichtig, alles zu tun, um Ihre Kunden zu motivieren. Mixpanel kann Ihnen dabei helfen.



