Analysen

Nachdem Sie die Bibliothek zu Ihrem Projekt hinzugefügt haben, können Sie beliebige Analytics-Methodenaufrufe an einer beliebigen Stelle in Ihrer App durchführen.

TIPP

Stellen Sie sicher, dass Sie ADBMobile.h in Ihre Klasse importieren.

Mobile-App-Berichte in Analytics aktivieren

Bevor Sie Code hinzufügen, bitten Sie Ihren Analytics-Administrator, Folgendes auszuführen, um das Lebenszyklus-Tracking für mobile Apps zu aktivieren. Dadurch wird sichergestellt, dass Ihre Report Suite zu Beginn der Entwicklung Metriken erfassen kann.

  1. Öffnen Sie Admin Tools > Report Suites und wählen Sie Ihre mobilen Report Suites aus.

  2. Klicken Sie auf Einstellungen bearbeiten > Mobile Management > Mobilanwendungs-Berichterstellung.

    Mobile Einstellungen

  3. Klicken Sie auf Aktuelle App-Berichte aktivieren.

    Optional können Sie auch auf Mobilstandortverfolgung aktivieren und Ältere Berichterstellung und Zuordnung für Hintergrundtreffer aktivieren klicken.

    Lebenszyklus aktivieren

Lebenszyklusmetriken können jetzt erfasst werden und Mobilanwendungsberichte werden im Menü Berichte in der Benutzeroberfläche der Marketing-Berichte angezeigt.

Neue Versionen

In regelmäßigen Abständen werden neue Versionen der Mobile-App-Berichterstellung veröffentlicht. Neue Versionen werden nicht automatisch auf Ihre Report Suite angewendet. Wiederholen Sie diese Schritte, um das Upgrade durchzuführen. Jedes Mal, wenn Sie Ihrer App neue Experience Cloud-Funktionen hinzufügen, empfehlen wir, diese Schritte zu wiederholen, um sicherzustellen, dass Sie über die aktuelle Konfiguration verfügen.

Lebenszyklusmetriken

Um Lebenszyklusmetriken in Ihrer App zu erfassen, fügen Sie Aufrufe zu hinzu, wenn die Anwendung aktiviert wird, wie in den folgenden Beispielen dargestellt.

WinJS in default.js

app.onactivated = function (args) { 
  if (args.detail.kind === activation.ActivationKind.launch) { 
   ... 
   // launched and resumed stuff  
   ADBMobile.Config.collectLifecycleData(); 
  } 
}; 
app.oncheckpoint = function (args) { 
  ADBMobile.Config.pauseCollectingLifecycleData(); 
}

C# in App.xaml.cs

public App() 
{ 
    this.InitializeComponent(); 
    this.Resuming *= OnResuming; 
    this.Suspending *= OnSuspending; 
} 
protected override void OnLaunched(LaunchActivatedEventArgs e) 
{ 
    ... 
    ADBMobile.Config.CollectLifecycleData(); 
    ... 
} 
private void OnResuming(object sender, object e) 
{ 
    ... 
    ADBMobile.Config.CollectLifecycleData(); 
    ... 
} 
private void OnSuspending(object sender, SuspendingEventArgs e) 
{ 
    ... 
    ADBMobile.Config.PauseCollectingLifecycleData(); 
    ... 
}

C/CX in App.xaml.cpp

App::App() 
{ 
 InitializeComponent(); 
 Resuming *= ref new EventHandler<Object ^>(this, &App::OnResuming); 
 Suspending *= ref new SuspendingEventHandler(this, &App::OnSuspending); 
} 
void App::OnResuming(Object ^sender, Object ^args) 
{ 
 ... 
 ADBMobile::Config::CollectLifecycleData(); 
 ... 
} 
void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e) 
{ 
 ... 
 ADBMobile::Config::PauseCollectingLifecycleData(); 
 ... 
} 
void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) 
{ 
 ... 
 ADBMobile::Config::CollectLifecycleData(); 
 ... 
}

Wenn CollectLifecycleData() in derselben Sitzung zweimal aufgerufen wird, meldet Ihre Anwendung bei jedem Aufruf nach dem ersten einen Absturz. Das SDK legt eine Markierung fest, wenn die Anwendung heruntergefahren wird, die auf einen erfolgreichen Beenden hinweist. Wenn diese Markierung nicht gesetzt ist, meldet CollectLifecyleData() einen Absturz.

Events, Props und eVars

Wenn Sie sich die ADBMobile-Klassen- und Methodenreferenz angesehen haben, fragen Sie sich wahrscheinlich, wo Sie Ereignisse, eVars, Props, Erben und Listen festlegen können. In Version 4 können Sie diese Variablentypen nicht mehr direkt in Ihrer App zuweisen. Stattdessen verwendet das SDK Kontextdaten und Verarbeitungsregeln, um Ihre App-Daten Analytics-Variablen für die Berichterstellung zuzuordnen.

Verarbeitungsregeln bieten Ihnen verschiedene Vorteile:

  • Sie können Ihre Datenzuordnung ändern, ohne eine Aktualisierung an den Appstore zu senden.
  • Sie können aussagekräftige Namen für Daten verwenden, anstatt Variablen festzulegen, die für eine Report Suite spezifisch sind.
  • Das Senden zusätzlicher Daten hat geringe Auswirkungen. Diese Werte werden erst dann in Berichten angezeigt, wenn sie mithilfe von Verarbeitungsregeln zugeordnet werden.

Alle Werte, die Sie Variablen direkt zugewiesen haben, sollten stattdessen zu Kontextdaten hinzugefügt werden.

Verarbeitungsregeln

Verarbeitungsregeln werden verwendet, um die in Kontextdatenvariablen gesendeten Daten in eVars, Props und andere Variablen für die Berichterstellung zu kopieren.

Übersicht über Verarbeitungsregeln

Adobe empfiehlt die Gruppierung Ihrer Kontextdatenvariablen mithilfe von "Namespaces", da dies Ihnen hilft, die logische Reihenfolge zu wahren. Wenn Sie beispielsweise Informationen zu einem Produkt erfassen möchten, können Sie die folgenden Variablen definieren:

"product.type":"hat";
"product.team":"mariners";
"product.color":"blue";

Kontextdatenvariablen werden in der Benutzeroberfläche der Verarbeitungsregeln alphabetisch sortiert, sodass Sie mit Namespaces schnell Variablen sehen können, die sich im selben Namespace befinden.

Wir haben auch gehört, dass einige von Ihnen Kontextdatenschlüssel mithilfe der eVar- oder Prop-Nummer benennen:

"eVar1":"jimbo";

Dies könnte etwas vereinfachen, wenn Sie die einmalige Zuordnung in Verarbeitungsregeln durchführen. Sie verlieren jedoch Lesbarkeit während des Debuggens und künftiger Code-Aktualisierungen. Stattdessen empfehlen wir dringend die Verwendung beschreibender Namen für Schlüssel und Werte:

"username":"jimbo";

Legen Sie Kontextvariablen, die Zählerereignisse definieren, auf den Wert "1"fest:

"logon":"1";

Kontextdatenvariablen, die Inkrementierungsereignisse definieren, können den zu inkrementierenden Wert aufweisen:

"levels completed":"6";
HINWEIS

Adobe behält sich den Namespace a. vor. Abgesehen von dieser kleinen Einschränkung müssen Kontextdatenvariablen nur in Ihrem Anmeldeunternehmen eindeutig sein, um Konflikte zu vermeiden.

Variable „products“

Um products im mobilen SDK festzulegen, müssen Sie eine spezielle Syntax verwenden. Siehe Produktvariable.

(Optional) Offline-Verfolgung aktivieren

Um Treffer zu speichern, wenn das Gerät offline ist, können Sie die Offline-Verfolgung in der ADBMobileConfig.json-Konfiguration aktivieren. Beachten Sie vor der Aktivierung der Offline-Verfolgung die Zeitstempelanforderungen, die in der Referenz zur Konfigurationsdatei beschrieben sind.

Geostandort und Zielpunkte

Mit der Geolokation können Sie Standortdaten (Längen- und Breitengrad) und vordefinierte Zielpunkte messen. Jeder TrackLocation-Aufruf sendet:

  • Breitengrad/Längengrad und POI (wenn innerhalb eines in der Konfigurationsdatei ADBMobileConfig.json definierten Zielpunkts). Diese werden für die automatische Berichterstellung an Variablen für mobile Lösungen übergeben.
  • Entfernung vom Zentrum und Genauigkeit werden als Kontextdaten übergeben. Erfassen Sie mithilfe einer Verarbeitungsregel.

So verfolgen Sie einen Ort:

var ADB = ADBMobile; 
ADB.Analytics.trackLocation(37.75345, -122.33207, null);

Wenn der folgende POI in der Konfigurationsdatei ADBMobileConfig.json definiert ist:

"poi" : [ 
            ["San Francisco",37.757144,-122.44812,7000], 
        ]

Wenn der Gerätestandort innerhalb eines Radius von 7000 Metern vom definierten Punkt bestimmt wird, wird eine a.loc.poi-Kontextdatenvariable mit dem Wert "San Francisco"mit dem Treffer TrackLocation gesendet. Eine a.loc.dist-Kontextvariable wird mit dem Abstand in Metern von den definierten Koordinaten gesendet.

Lebenszeitwert

Mit dem Lebenszeitwert können Sie für jeden Benutzer einen Lebenszeitwert messen und vorgeben. Sobald Sie einen Wert mit TrackLifetimeValueIncrease senden, wird der Wert zum vorhandenen Wert hinzugefügt. Der Lebenszeitwert wird auf dem Gerät gespeichert und kann jederzeit mithilfe von GetLifetimeValue abgerufen werden. Dies kann verwendet werden, um Lebenszeiteinkäufe, Banneranzeigen, abgeschlossene Videos, Informationen zur Freigabe in sozialen Netzwerken, Fotouploads usw. zu speichern.

// Lifetime Value Example 
var ADB = ADBMobile; 
var purchasePrice = 39.95; 
var cdata = new Windows.Foundation.Collections.PropertySet(); 
cdata["ItemPurchaseEvent"] = "ItemPurchaseEvent"; 
cdata["PurchaseItem"] = "Item453"; 
cdata["PurchasePrice"] = purchasePrice; 
ADB.Analytics.trackLifetimeValueIncrease(purchasePrice, cdata);

Zeitgesteuerte Aktionen

Mit zeitgesteuerten Aktionen können Sie die In-App-Zeit und die Gesamtzeit zwischen dem Start und dem Ende einer Aktion messen. Das SDK berechnet die Zeit in der Sitzung und die Gesamtzeit (sitzungsübergreifend), die zum Abschluss der Aktion erforderlich ist. Dies kann verwendet werden, um Segmente zu definieren, die von Zeit zu Kauf, Bestand, Checkout-Fluss usw. verglichen werden.

  • Gesamtanzahl der Sekunden in der App zwischen Start und Ende – sitzungsübergreifend
  • Gesamtanzahl der Sekunden zwischen Start und Ende (Uhrzeit)
// Timed Action Start Example 
var ADB = ADBMobile; 
var cdata = new Windows.Foundation.Collections.PropertySet(); 
cdata["ExperienceName"] = experience; 
ADB.Analytics.trackTimedActionStart("TimeUntilPurchase", cdata);
// Timed Action Update Example 
var ADB = ADBMobile; 
var cdataUpdate = new Windows.Foundation.Collections.PropertySet(); 
cdataUpdate["ImageLiked"] = imageName; 
ADB.Analytics.trackTimedActionStart("TimeUntilPurchase", cdata); 
// Timed Action End Example 
var ADB = ADBMobile; 
ADB.Analytics.trackTimedActionEnd("TimeUntilPurchase");

Auf dieser Seite