Analytics-API in Clientanwendungen verwenden

improve this page | report issue

Übersicht

IBM MobileFirst Foundation Operational Analytics stellt clientseitige APIs bereit, die dem Benutzer den Einstieg in die Erfassung von Analysedaten zur Anwendung erleichtern sollen. In diesem Lernprogramm erfahren Sie, wie die Analyseunterstützung für die Clientanwendung eingerichtet wird. Darüber hinaus informiert Sie das Lernprogramm über verfügbare APIs.

Fahren Sie mit folgenden Abschnitten fort:

Analytics auf der Clientseite konfigurieren

Bevor Sie mit der Erfassung der in MobileFirst Analytics vordefinierten Daten beginnen können, müssen Sie die entsprechenden Bibliotheken für die Initialisierung der Analytics-Unterstützung importieren.

JavaScript (Cordova)

In Cordova-Anwendungen ist kein Setup erforderlich. Die Initialisierung erfolgt integriert.

JavaScript (Web)

In Webanwendungen müssen die Analytics-JavaScript-Dateien referenziert werden. Vergewissern Sie sich, dass das MobileFirst-Web-SDK hinzugefügt wurde. Weitere Informationen enthält das Lernprogramm MobileFirst-SDK zu Webanwendungen hinzufügen.

Wählen Sie in Abhängigkeit davon, wie Sie das MobileFirst-Web-SDK hinzugefügt haben, eine der folgenden Vorgehensweisen:

Referenzieren Sie MobileFirst Analytics im Element HEAD:

<head>
    ...
    <script type="text/javascript" src="node_modules/ibm-mfp-web-sdk/lib/analytics/ibmmfpfanalytics.js"></script>
    <script type="text/javascript" src="node_modules/ibm-mfp-web-sdk/ibmmfpf.js"></script>
</head>

Wenn Sie RequireJS verwenden, schreiben Sie Folgendes:

require.config({
	'paths': {
		'ibmmfpfanalytics': 'node_modules/ibm-mfp-web-sdk/lib/analytics/ibmmfpfanalytics',
		'mfp': 'node_modules/ibm-mfp-web-sdk/ibmmfpf'
	}
});

require(['ibmmfpfanalytics','mfp'], function(ibmmfpfanalytics, WL) {
    // Anwendungslogik
});

Sie können “ibmmfpfanalytics” durch Ihren eigenen Naspace ersetzen.

ibmmfpfanalytics.logger.config({analyticsCapture: true});

Wichtiger Hinweis: Die JavaScript-APIs von Cordova und Web-SDKs unterscheiden sich. Lesen Sie hierzu den Abschnitt API Reference in der Benutzerdokumentation.

iOS

WLAnalytics-Bibliothek importieren

Objective-C

import "WLAnalytics.h"

Swift

import IBMMobileFirstPlatformFoundation

Analytics initialisieren

Objective-C
Es ist kein Setup erforderlich. Analytics ist standardmäßig bereits initialisiert.

Swift
Rufen Sie vor anderen Methoden der Klasse WLAnalytics die Methode WLAnalytics.sharedInstance() auf.

Android

WLAnalytics importieren

import com.worklight.common.WLAnalytics;

Analytics initialisieren

Nehmen Sie in die Methode onCreate Ihrer Hauptaktivität Folgendes auf:

WLAnalytics.init(this.getApplication());

Clientereignistypen aktivieren/inaktivieren

Durch die Analytics-API hat der Anwendungsentwickler die Freiheit, die Erfassung von Analysedaten für Ereignisse, die in der MobileFirst Analytics Console dargestellt werden sollen, zu aktivieren oder zu inaktivieren.

Mit der API von MobileFirst Analytics können Sie die folgenden Metriken erfassen:

  • Lebenszyklusereignisse: App-Nutzungshäufigkeit und -Nutzungsdauer, Häufigkeit von App-Abstürzen
  • Netzverwendung: Aufgliederung zur Häufigkeit von API-Aufrufen und Netzleistungsmetriken
  • Benutzer: Benutzer der App, die über eine angegebene Benutzer-ID identifiziert werden können
  • Kundenspezifische Analysen: vom App-Entwickler definierte, kundenspezifische Schlüssel-Wert-Paare

Die Initialisierung der Analytics-API muss auch für Cordova-Apps in nativem Code geschrieben sein.

  • Für die Erfassung der App-Nutzung müssen Sie vor dem Eintreten der relevanten App-Lebenszyklusereignisse und vor dem Senden der Daten an den Server Listener für diese Ereignisse registrieren.
  • Für die Verwendung von Dateisystemfeatures oder nativen Sprach- und Gerätefeatures muss die API initialisiert werden. Wenn die API so verwendet wird, dass native Gerätefeatures (wie das Dateisystem) erforderlich sind, und die API ohne vorherige Initialisierung aufgerufen wird, schlägt der Aufruf fehl. Dieses Verhalten ist insbesondere unter Android zu beobachten.

Hinweis: Für die Erstellung von Cordova-Anwendungen gibt es in der JavaScript-Analytics-API keine Methoden, um die Erfassung von Lebenszyklus- oder Netzereignissen (LIFECYCLE oder NETWORK) zu aktivieren oder zu inaktivieren. Bei Cordova-Anwendungen sind die Ereignisse LIFECYCLE und NETWORK standardmäig vorab aktiviert. Falls Sie diese Ereignisse inaktivieren möchten, lesen Sie die Informationen unter Clientlebenszyklusereignisse und Clientnetzereignisse.

Clientlebenszyklusereignisse

Wenn das Analytics-SDK konfiguriert ist, werden auf dem Gerät des Benutzers App-Sitzungen aufgezeichnet. Wenn die App vom Vordergrund in den Hintergrund gelangt, wird in der Analytics Console eine Sitzung erstellt, die in MobileFirst Analytics aufgezeichnet wird.

Wenn das Gerät für die Aufzeichnung von Sitzungen konfiguriert ist und Sie Ihre Daten senden, wird die Analytics Console mit Daten gefüllt (siehe unten).

Sitzungsdiagramm

Mit der Analytics-API können Sie die Erfassung von App-Sitzungen aktivieren oder inaktivieren.

JavaScript

Web
Initialisieren Sie Analytics wie folgt, um Clientlebenszyklusereignisse zu verwenden:

ibmmfpfanalytics.logger.config({analyticsCapture: true});

Cordova
Wenn die Erfassung von Lebenszyklusereignissen aktiviert werden soll, muss sie auf der nativen Plattform der Cordova-App initialisiert werden.

  • iOS-Plattform:
    • Öffnen Sie den Ordner [Cordova-Anwendungsstammverzeichnis] → platforms → ios → Classes und suchen Sie die Datei AppDelegate.m (Objective-C) oder AppDelegate.swift (Swift).
    • Folgen Sie dem nachstehenden Leitfaden für iOS, um Lebenszyklusaktivitäten (LIFECYCLE) zu aktivieren oder zu inaktivieren.
    • Führen Sie für die Erstellung des Cordova-Projekts den Befehl cordova build aus.
  • Android-Plattform:
    • Öffnen Sie die Datei [Cordova-Anwendungsstammverzeichnis] → platforms → android → src → com → sample → [App-Name] → MainActivity.java.
    • Suchen Sie die Methode onCreate und folgen Sie dem nachstehenden Leitfaden für Android, um Lebenszyklusaktivitäten (LIFECYCLE) zu aktivieren oder zu inaktivieren.
    • Führen Sie für die Erstellung des Cordova-Projekts den Befehl cordova build aus.

Android

Aktivieren Sie wie folgt die Protokollierung von Clientlebenszyklusereignissen:

WLAnalytics.addDeviceEventListener(DeviceEvent.LIFECYCLE);

Inaktivieren Sie wie folgt die Protokollierung von Clientlebenszyklusereignissen:

WLAnalytics.removeDeviceEventListener(DeviceEvent.LIFECYCLE);

iOS

Aktivieren Sie wie folgt die Protokollierung von Clientlebenszyklusereignissen:

Objective-C:

[[WLAnalytics sharedInstance] addDeviceEventListener:LIFECYCLE];

Swift:

WLAnalytics.sharedInstance().addDeviceEventListener(LIFECYCLE);

Inaktivieren Sie wie folgt die Protokollierung von Clientlebenszyklusereignissen:

Objective-C:

[[WLAnalytics sharedInstance] removeDeviceEventListener:LIFECYCLE];

Swift:

WLAnalytics.sharedInstance().removeDeviceEventListener(LIFECYCLE);

Clientnetzaktivitäten

Die Erfassung für Adapter und das Netz wird auf dem Client und auf dem Server durchgeführt.

  • Der Client erfasst Informationen wie die Umlaufzeit und das Nutzdatenvolumen, wenn Sie mit der Erfassung des Gerätenetzereignissen (NETWORK) beginnen.

  • Der Server erfasst Back-End-Daten wie die Serververarbeitungszeit, die Adapternutzung und die verwendeten Prozeduren.

Da Client und Server jeweils eigene Daten erfassen, werden Diagramme erst angezeigt, wenn der Client entsprechend konfiguriert wurde. Für die Konfiguration Ihres Clients müssen Sie mit der Erfassung von Gerätenetzereignissen (NETWORK) beginnen und die Daten an den Server senden.

JavaScript

Web
Initialisieren Sie Analytics wie folgt, um Clientnetzereignisse zu verwenden:

ibmmfpfanalytics.logger.config({analyticsCapture: true});

Cordova
Wenn die Erfassung von Netzereignissen aktiviert werden soll, muss sie auf der nativen Plattform der Cordova-App initialisiert werden.

  • iOS-Plattform:
    • Öffnen Sie den Ordner [Cordova-Anwendungsstammverzeichnis] → platforms → ios → Classes und suchen Sie die Datei AppDelegate.m (Objective-C) oder AppDelegate.swift (Swift).
    • Folgen Sie dem nachstehenden Leitfaden für iOS, um Netzaktivitäten (NETWORK) zu aktivieren oder zu inaktivieren.
    • Führen Sie für die Erstellung des Cordova-Projekts den Befehl cordova build aus.
  • Navigieren Sie auf der Android-Plattform zu der zu inaktivierenden Unteraktivität der Hauptaktivität.
    • Öffnen Sie die Datei [Cordova-Anwendungsstammverzeichnis] → platforms → ios → src → com → sample → [App-Name] → MainActivity.java.
    • Suchen Sie die Methode onCreate und folgen Sie dem nachstehenden Leitfaden für Android, um Netzaktivitäten (NETWORK) zu aktivieren oder zu inaktivieren.
    • Führen Sie für die Erstellung des Cordova-Projekts den Befehl cordova build aus.

iOS

Aktivieren Sie wie folgt die Protokollierung von Clientnetzereignissen:

Objective-C:

[[WLAnalytics sharedInstance] addDeviceEventListener:NETWORK];

Swift:

WLAnalytics.sharedInstance().addDeviceEventListener(NETWORK);

Inaktivieren Sie wie folgt die Protokollierung von Clientnetzereignissen:

Objective-C:

[[WLAnalytics sharedInstance] removeDeviceEventListener:NETWORK];

Swift:

WLAnalytics.sharedInstance().removeDeviceEventListener(NETWORK);

Android

Aktivieren Sie wie folgt die Protokollierung von Clientnetzereignissen:

WLAnalytics.addDeviceEventListener(DeviceEvent.NETWORK);

Inaktivieren Sie wie folgt die Protokollierung von Clientnetzereignissen:

WLAnalytics.removeDeviceEventListener(DeviceEvent.NETWORK);

Kundenspezifische Ereignisse

Mit den folgenden API-Methoden können Sie kundenspezifische Ereignisse erstellen.

JavaScript (Cordova)

WL.Analytics.log({"key" : 'value'});

JavaScript (Web)

Bei Verwendung der Web-API werden kundenspezifische Daten mit der Methode addEvent gesendet.

ibmmfpfanalytics.addEvent({'Purchases':'radio'});
ibmmfpfanalytics.addEvent({'src':'App landing page','target':'About page'});

Android

Wenn Sie die beiden ersten Konfigurationen erstellt haben, können Sie mit der Protokollierung von Daten wie im folgenden Beispiel beginnen:

JSONObject json = new JSONObject();
try {
    json.put("key", "value");
} catch (JSONException e) {
    // TODO automatisch generierter Catch-Block
    e.printStackTrace();
}

WLAnalytics.log("Message", json);

iOS

Nach dem Import von WLAnalytics können Sie die API wie folgt für die Erfassung kundenspezifischer Daten verwenden:

Objective-C:

NSDictionary *inventory = @{
    @"property" : @"value",
};

[[WLAnalytics sharedInstance] log:@"Custom event" withMetadata:inventory];
[[WLAnalytics sharedInstance] send];

Swift:

let metadata: [NSObject: AnyObject] = ["foo": "bar"];  
WLAnalytics.sharedInstance().log("hello", withMetadata: metadata);

Benutzer verfolgen

Verwenden Sie für die Verfolgung einzelner Benutzer die Methode setUserContext.

Cordova

Nicht unterstützt

Webanwendungen

ibmmfpfanalytics.setUserContext(user);

iOS

Objective-C

[[WLAnalytics sharedInstance] setUserContext:@"John Doe"];

Swift

WLAnalytics.sharedInstance().setUserContext("John Doe")

Android

WLAnalytics.setUserContext("John Doe");

Wenn Sie einzelne Benutzer nicht verfolgen möchten, verwenden Sie die Methode unsetUserContext.

Cordova

Nicht unterstützt

Webanwendungen

Es gibt keine Methode unsetUserContext im MobileFirst-Web-SDK. Die Benutzersitzung endet nach 30 Minuten Inaktivität, sofern nicht ibmmfpfanalytics.setUserContext(user) erneut aufgerufen wird.

iOS

Objective-C

[[WLAnalytics sharedInstance] unsetUserContext];

Swift

WLAnalytics.sharedInstance().unsetUserContext

Android

WLAnalytics.unsetUserContext();

Analysedaten senden

Das Senden von Analysedaten ist der entscheidende Schritt, wenn in Analytics Server cleintseitige Analysen angezeigt werden sollen. Wenn die Daten für die konfigurierten Ereignistypen von Analytics erfasst wurden, werden die Anlyseprotokolle in einer Protokolldatei auf dem Clientgerät gespeichert. Die Daten aus der Datei werden mit der Methode send der Analytics-API an MobileFirst Analytics Server gesendet.

Sie sollten die erfassten Protokolle regelmäßig an den Server senden. Durch das Senden der Daten in regelmäßigen Abständen stellen Sie sicher, dass Sie in der MobileFirst Analytics Console aktuelle Analysedaten sehen.

JavaScript (Cordova)

Verwenden Sie in einer Cordova-Anwendung die folgende JavaScript-API-Methode:

WL.Analytics.send();

JavaScript (Web)

Verwenden Sie in einer Webanwendung (abhängig vom ausgewählten Namespace) die folgende JavaScript-API-Methode:

ibmmfpfanalytics.send();

iOS

Objective-C

[[WLAnalytics sharedInstance] send];

Swift

WLAnalytics.sharedInstance().send();

Android

Verwenden Sie in einer Android-Anwendung die folgende Java-API-Methode:

WLAnalytics.send();
Last modified on September 12, 2017