Show Menu
THEMEN×

Analytics

Nachdem Sie die Bibliothek zum Projekt hinzugefügt haben, können Sie beliebige Analytics-Methodenaufrufe an beliebigen Stellen in Ihrer App durchführen.
Stellen Sie sicher, dass Sie ADBMobile.h in Ihre Klasse importieren.

Enable mobile application reports in Analytics

Bevor Sie Code hinzufügen, bitten Sie Ihren Analytics-Administrator, folgende Schritte auszuführen, um Mobile App-Lebenszyklus-Tracking zu ermöglichen. Dadurch wird sichergestellt, dass Ihre Report Suite zur Erfassung von Metriken bereit ist, wenn Sie die Entwicklung beginnen.
  1. Open Admin Tools > Report Suites and select your mobile report suite(s).
  2. Click Edit Settings > Mobile Management > Mobile Application Reporting .
  3. Klicken Sie auf Neueste Anwendungsberichte aktivieren .
    Optionally, you can also click Enable Mobile Location Tracking or Enable Legacy Reporting and Attribution for background hits .
Die Lebenszyklusmetriken können jetzt erfasst werden und im Menü Berichte in der Oberfläche für Marketingberichte werden Mobilanwendungsberichte angezeigt.

Neue Versionen

Regelmäßig werden neue Versionen der Mobilanwendungs-Berichterstellung veröffentlicht. Neue Versionen werden nicht automatisch auf Ihre Report Suite angewendet. Sie müssen diese Schritte wiederholen, um die Aktualisierung durchzuführen. Jedes Mal, wenn Sie Ihrer Anwendung eine neue Experience Cloud-Funktion hinzufügen, wird empfohlen, diese Schritte zu wiederholen, um sicherzustellen, dass Sie über die neueste Konfiguration verfügen.

Lifecycle metrics

Um Lebenszyklusmetriken in Ihrer Anwendung zu erfassen, fügen Sie Aufrufe bei Aktivierung der Anwendung hinzu, wie in den folgenden Beispielen gezeigt.

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(); 
 ... 
}

If CollectLifecycleData() is called twice in the same session, your application reports a crash on every call after the first. Das SDK setzt eine Markierung, wenn die Anwendung heruntergefahren wird, um eine erfolgreiche Beendigung anzugeben. If this flag is not set, CollectLifecyleData() reports a crash.

Events, props, and eVars

If you've looked at SDK methods , you are probably wondering where to set events, eVars, props, heirs, and lists. In Version 4 können Sie diese Variablentypen nicht mehr direkt in Ihrer Anwendung zuweisen. Stattdessen nutzt das SDK Kontextdaten und Verarbeitungsregeln, um Ihre App-Daten zwecks Reporting Analytics-Variablen zuzuordnen.
Verarbeitungsregeln bieten mehrere Vorteile:
  • Sie können Ihre Datenzuweisung ändern, ohne ein Update im App Store einzureichen.
  • Sie können relevante Namen für Ihre Daten verwenden, anstatt Variablen festzulegen, die spezifisch für eine Report Suite sind.
  • Es ist kaum Aufwand nötig, um zusätzliche Daten zu senden. Diese Werte werden erst dann in Berichten angezeigt, wenn sie mithilfe von Verarbeitungsregeln zugeordnet werden.
Alle Werte, die Sie Variablen direkt zugewiesen haben, müssen stattdessen Kontextdaten hinzugefügt werden.

Verarbeitungsregeln

Verarbeitungsregeln werden verwendet, um die in Kontextdatenvariablen gesendeten Daten in eVars, Eigenschaften und andere Variablen für Berichte zu kopieren.
Es ist empfehlenswert, die Kontextdatenvariablen mithilfe von „Namespaces“ zu gruppieren, um eine logische Ordnung beizubehalten. 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 auf der Verarbeitungsregeloberfläche alphabetisch sortiert. Mit Namespaces können Sie schnell nachvollziehen, welche Variablen sich im selben Namespace befinden.
Wir haben außerdem erfahren, dass einige von Ihnen Kontextdatenschlüssel mithilfe der eVar- oder prop-Nummer benennen:
"eVar1":"jimbo"

Dadurch wird es etwas einfacher, wenn Sie die einmalige Zuordnung in den Verarbeitungsregeln durchführen. Sie verlieren dadurch jedoch auch die Lesbarkeit während des Debuggings und künftiger Codeaktualisierungen, was wiederum komplizierter sein kann. Es wird stattdessen dringend empfohlen, dass Sie beschreibende Namen für Schlüssel und Werte verwenden:
"username":"jimbo"

Legen Sie für Kontextvariablen, die Zählerereignisse definieren, den Wert „1“ fest:
"logon":"1"

Kontextdatenvariablen, die Inkrementierungsereignisse definieren, können den Wert zum Inkrementieren enthalten:
"levels completed":"6"

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

Products variable

Um products das mobile SDK festzulegen, müssen Sie eine spezielle Syntax verwenden. Weitere Informationen finden Sie unter Produktvariable .

(Optional) Enable offline tracking

To store hits when the device is offline, you can enable offline tracking in the SDK methods file. Achten Sie vor der Aktivierung der Offline-Verfolgung auf die Zeitstempelanforderungen, die in der Konfigurationsdateireferenz beschrieben sind.

Geo-location and points of interest

Standort ermöglicht Ihnen, Standortdaten (Breitengrad/Längengrad) und vordefinierte Zielpunkte zu messen. Each TrackLocation call sends:
  • Breitengrad/Längengrad und Zielpunkt (wenn dieser unter die in der Konfigurationsdatei ADBMobileConfig.json definierten Zielpunkte fällt).
    Diese werden an die Variablen der mobilen Lösung zum automatischen Reporting weitergegeben.
  • Entfernung vom Zentrum und Präzision in Form von Kontextdaten.
    Erfassen Sie diesen Wert mithilfe einer Verarbeitungsregel.
So verfolgen Sie einen Standort:
var ADB = ADBMobile; 
ADB.Analytics.trackLocation(37.75345, -122.33207, null);

Wenn der folgende Zielpunkt in der Konfigurationsdatei ADBMobileConfig.json definiert ist:
"poi" : [ 
            ["San Francisco",37.757144,-122.44812,7000], 
        ]

When the device location is determined to be within a 7000 meter radius of the defined point, an a.loc.poi context data variable with the value San Francisco is sent in with the TrackLocation hit. Eine a.loc.dist -Kontextvariable wird gesendet, die den Abstand von den definierten Koordinaten in Metern enthält.

Lifetime value

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

Timed actions

Mit zeitgesteuerten Aktionen können Sie die in der App verbrachte Zeit und die Gesamtzeit zwischen dem Anfang und dem Ende einer Aktion messen. Das SDK berechnet die Dauer in jeder Sitzung und die (sitzungsübergreifende) Gesamtzeit, die zum Abschluss einer Aktion benötigt wird. Damit können Segmente für den Vergleich der Zeit bis zum Kauf, Durchgänge und Checkoutfluss usw. verglichen werden.
  • Sitzungsübergreifende Gesamtdauer in Sekunden in der App zwischen Start und Ende
  • Gesamtdauer in Sekunden zwischen Start und Ende (Ist-Zeit)
// 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");