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
- Analysedaten senden
- Clientereignisse aktivieren/inaktivieren
- Kundenspezifische Ereignisse
- Benutzer verfolgen
- Feedback App-intern erfassen & senden
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).
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();
Benutzerfeedback App-intern erfassen & senden
Verwenden Sie App-internes Benutzerfeedback, um die Leistungsanalyse für Ihre Anwendungen zu vertiefen. Sie können den Benutzern Ihrer Anwendung ermöglichen, ausführliches Feedback für den Eigner der App bereitzustellen. App-Eigner erhalten von den Benutzern Echtzeitfeedback zu den Nutzungserfahrungen, an denen App-Eigner und Entwickler dann weiter arbeiten können. Dieses Feature steigert die Agilität bei der Pflege und Wartung von Anwendungen. Mit der folgenden API können Sie den Modus für interaktives Feedback zu Ihrer Anwendung in jedem Aktions-Handler Ihrer Anwendung aktivieren, z. B. im Handler für das Klicken auf eine Schaltfläche oder das Auswählen eines Menüelements.
Für Webanwendungen wird dieses Feature nicht unterstützt.
JavaScript (Cordova)
Fügen Sie zunächst das folgende Plug-in hinzu, um die Funktion für App-internes Feedback in Ihre Cordova-Anwendung aufzunehmen. Stellen Sie sicher, dass das Plug-in erfolgreich hinzugefügt wurde:
cordova plugin add cordova-plugin-mfp-analytics
Verwenden Sie nun die folgende JavaScript-API-Methode im Aktions-Handler Ihrer Cordova-Anwendung.
WL.Analytics.triggerFeedbackMode();
JavaScript (Web)
Nicht unterstützt
iOS
Swift
Fügen Sie zuerst Folgendes zur Podfile für Ihre Anwendung hinzu.
pod 'IBMMobileFirstPlatformFoundationAnalytics'
Als Nächstes müssen Sie Ihren Pod aktualisieren. Führen Sie dazu im Stammverzeichnis Ihres Xcode-Projekts den folgenden Befehl aus.
pod update
Rufen Sie dann die folgende API im Aktions-Handler Ihrer Anwendung auf.
WLAnalytics.sharedInstance().triggerFeedbackMode();
Android
Fügen Sie zuerst die folgende Abhängigkeit zum Gradle-Script für Ihre Anwendung hinzu.
compile 'com.ibm.mobile.foundation:ibmmobilefirstplatformfoundationanalytics:8.0.+@aar'
Verwenden Sie dann in Ihrer Android-Anwendung die folgende Java-API-Methode im Aktions-Handler:
WLAnalytics.triggerFeedbackMode();
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.