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.
Bevor Sie Code hinzufügen, lassen Sie Ihren Analytics-Administrator Folgendes ausführen, um die Lebenszyklusverfolgung für Mobilanwendungen zu aktivieren. Dadurch wird sichergestellt, dass Ihre Report Suite zu Beginn der Entwicklung Metriken erfassen kann.
Öffnen Sie Admin Tools > Report Suites und wählen Sie Ihre mobile(n) Report Suite(s) aus.
Klicken Sie auf Einstellungen bearbeiten > Mobilverwaltung > Mobilanwendungs-Berichte.
Klicken Sie auf Neueste App-Berichte aktivieren.
Optional können Sie auch für Hintergrundtreffer auf "Verfolgung mobiler Standorte aktivieren"oder "Legacy-Berichte und Zuordnung aktivieren"klicken.
Lebenszyklusmetriken können jetzt erfasst werden, und Mobilanwendungsberichte werden im Menü Berichte in der Benutzeroberfläche der Marketing-Berichte angezeigt.
In regelmäßigen Abständen werden neue Versionen von Mobile Application Berichte veröffentlicht. Neue Versionen werden nicht automatisch auf Ihre Report Suite angewendet. Wiederholen Sie diese Schritte, um die Aktualisierung durchzuführen. Jedes Mal, wenn Sie Ihrer App neue Experience Cloud-Funktionen hinzufügen, sollten Sie diese Schritte wiederholen, um sicherzustellen, dass Sie über die neueste Konfiguration verfügen.
Um Lebenszyklusmetriken in Ihrer App zu erfassen, fügen Sie Aufrufe hinzu, wenn die Anwendung aktiviert wird, wie in den folgenden Beispielen gezeigt.
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();
}
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();
...
}
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 die Anwendung in derselben Sitzung zweimal aufgerufen CollectLifecycleData()
wird, meldet sie bei jedem Aufruf nach dem ersten Absturz einen Absturz. Das SDK setzt beim Beenden der Anwendung ein Flag, das auf einen erfolgreichen Beenden hinweist. Wenn dieses Flag nicht gesetzt ist, CollectLifecyleData()
wird ein Absturz gemeldet.
Wenn Sie sich die SDK-Methodenangesehen haben, fragen Sie sich wahrscheinlich, wo Sie Ereignis, 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 mehrere Vorteile:
Alle Werte, die Sie direkt Variablen zuweisen, sollten stattdessen den Kontextdaten hinzugefügt werden.
Verarbeitungsregeln werden verwendet, um die Daten, die Sie in Kontextdatenvariablen senden, zu Berichten in "evars", "props"und andere Variablen zu kopieren.
Processing Rules Training (Schulung zu den Verarbeitungsregeln) @ Summit 2013
Berechtigung zur Verwendung von Verarbeitungsregeln erhalten
Es wird empfohlen, Kontextdatenvariablen mithilfe von "Namensräumen"zu gruppieren, da dies eine logische Reihenfolge gewährleistet. 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 Namensraum schnell Variablen im selben Namensraum anzeigen können.
Außerdem haben wir gehört, dass einige von Ihnen Kontextdatenschlüssel mit der eVar- oder prop-Nummer benennen:
"eVar1":"jimbo"
This might make it slightly easier when you perform the one time mapping in processing rules, but you lose readability during debugging and future code updates can be more difficult. Stattdessen empfehlen wir dringend, aussagekräftige Namen für Schlüssel und Werte zu verwenden:
"username":"jimbo"
Setzen Sie Kontextvariablen, die Zähler-Ereignis definieren, auf den Wert "1":
"logon":"1"
Kontextdatenvariablen, die inkrementierende Ereignis definieren, können den zu inkrementierenden Wert aufweisen:
"levels completed":"6"
Adobe behält sich den Namespace a.
vor. Abgesehen von dieser Einschränkung müssen Kontextdatenvariablen in Ihrer Firma eindeutig sein, um Kollisionen zu vermeiden.
Um products
das mobile SDK festzulegen, müssen Sie eine spezielle Syntax verwenden. Weitere Informationen finden Sie unter Produktvariable.
Um Treffer zu speichern, wenn das Gerät offline ist, können Sie die Offline-Verfolgung in der Datei mit den SDK-Methoden aktivieren. Achten Sie vor der Aktivierung der Offline-Verfolgung auf die Zeitstempelanforderungen, die in der Konfigurationsdateireferenz beschrieben sind.
Mithilfe der geografischen Position können Sie Standortdaten (Breiten-/Längengrad) und vordefinierte Zielpunkte messen. Jeder TrackLocation
Aufruf sendet:
Breitengrad/Längengrad und POI (wenn innerhalb eines in der ADBMobileConfig.json
Konfigurationsdatei definierten POI).
Diese werden für den automatischen Berichte an mobile Lösungsvariablen übergeben.
Entfernung vom Zentrum und Genauigkeit werden als Kontextdaten weitergegeben.
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 ADBMobileConfig.json
Konfigurationsdatei definiert ist:
"poi" : [
["San Francisco",37.757144,-122.44812,7000],
]
Wenn die Geräteposition innerhalb eines Umkreises von 7000 Metern vom definierten Punkt bestimmt wird, wird eine a.loc.poi
Kontextdatenvariable mit dem Wert San Francisco
mit dem TrackLocation
Treffer gesendet. An a.loc.dist
context variable is sent with the distance in meters from the defined coordinates.
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);
Mit zeitgesteuerten Aktionen können Sie die In-App-Zeit und die Gesamtzeit zwischen dem Beginn und dem Ende einer Aktion messen. Das SDK berechnet die Dauer der Sitzung und die Gesamtzeit (sitzungsübergreifend), die zum Abschluss der Aktion erforderlich ist. Auf diese Weise können Segmente definiert werden, die zeitlich mit dem Kauf verglichen werden sollen, Übermittlungsstufe, Kassengang usw.
// 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");