Verwenden von AppAnalytics in FireMonkey

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu FireMonkey-Anwendungsdesign


RAD Studio integriert AppAnalytics für alle unterstützten Zielplattformen in FireMonkey: Win32, Win64, MacOSX, iOS und Android in Delphi- und C++Builder-Anwendungen.

Mit AppAnalytics können Sie besser verstehen, wie Kunden Ihre Anwendung einsetzen. AppAnalytics stellt nützliche Informationen, wie die Betriebssystemversion, abgestürzte Sitzungen... und die Möglichkeit der Nachverfolgung Ihrer eigenen benutzerdefinierten Ereignisse bereit, was ein wichtiges Hilfsmittel für den Entwickler darstellt.

Einstieg in die Verwendung von AppAnalytics in FireMonkey

Sie müssen eine TAppAnalytics-Komponente AppAnalytics.png in Ihre Anwendung einfügen. Danach müssen Sie im Objektinspektor die ApplicationID hinzufügen.

Hinweis: Sie benötigen ein AppAnalytics-Konto und eine Anwendungs-ID, um AppAnalytics in Ihrer Anwendung verwenden zu können.

Nachdem AppAnalytics aktiviert worden ist, sind nach einigen Minuten Nutzungsdaten in der AppAnalytics-Weboberfläche verfügbar.

Aktivieren/Deaktivieren der Datensammlung mit AppAnalytics

In der FireMonkey-Implementierung von AppAnalytics wird mit der Eigenschaft TAppAnalytics.Enabled die Protokollierung von Nutzungsdaten aktiviert oder deaktiviert.

Nach der Aktivierung von AppAnalytics wird ein Datenschutzhinweis angezeigt und der Benutzer um seine Zustimmung gebeten. Die Nutzungsdaten werden nur dann protokolliert, wenn der Benutzer in diesem Dialogfeld seine Zustimmung gibt. Andernfalls bleibt die Protokollierung deaktiviert.

PrivacynoticeFMX.png

Hinweis: In der Abbildung ist der Standardtext des Datenschutzhinweises dargestellt. Sie können diesen Text jedoch ändern, indem Sie die Eigenschaft TAppAnalytics.PrivacyMessage bearbeiten.

Wenn der Benutzer seine Zustimmung gibt, wird AllowTracking auf True gesetzt, und AppAnalytics erfasst und übermittelt Nutzungsdaten, sofern der Benutzer die Protokollierung nicht deaktiviert.

In FireMonkey registriert die AppAnalytics-Komponente die Zustimmung des Benutzers allerdings nicht automatisch. Aus diesem Grund sollten Sie die Registrierung mit der Methode SaveState des Formulars oder einem anderen Mechanismus verwalten, damit die Zustimmung des Benutzers für künftige Anwendungssitzungen übernommen werden kann.

Warnung: Weder Sie noch Ihre Benutzer sollten persönliche, vertrauliche oder identifizierbare Informationen über diese Verbindung senden. Die Übermittlung dieser Daten stellt eine Verletzung der Datenschutzrichtlinien dar.

Weitere Informationen darüber, wie mit der Komponente TAppAnalytics die Datenschutzrichtlinien in FireMonkey erzwungen werden, finden Sie unter Einholen der Zustimmung des Benutzers für AppAnalytics in FireMonkey.

Konfigurieren der Protokollierungsoptionen für AppAnalytics in FireMonkey

Sie können entscheiden, welche Daten AppAnalytics automatisch sammelt, indem Sie eine beliebige Parameterkombination in der Eigenschaft TAppAnalytics.Options auswählen.

Sie können Folgendes verfolgen:

  • Wann der Benutzer die Protokollierung von Nutzungsdaten aktiviert oder deaktiviert (AppStart/AppExit).
  • Wann ein Fenster oder Formular aktiviert wird (WindowActivated).
  • Wann die Anwendung eine Exception auslöst (Exception).
  • Wann ein visuelles Steuerelement den Fokus (ControlFocused) erhält, was nützlich ist, um verfolgen zu können, wie die Komponenten der Anwendung verwendet werden.

Zudem können Sie benutzerdefinierte Ereignisse und den Mechanismus zum Aufzeichnen der Ereignisse und der zugehörigen Daten (Custom) definieren.

Andere Konfigurationsoptionen

Sie können die maximale Anzahl von Ereignissen festlegen, die AppAnalytics sammelt, bevor sie mithilfe von CacheSize zur Analyse an den Server gesendet werden.

Sie können entscheiden, in welchem Intervall AppAnalytics die gesammelten Daten automatisch an den Server zur Analyse sendet. Dieses Intervall wird mithilfe der Eigenschaft UpdateInterval in Millisekunden festgelegt.

Beide Eigenschaften haben standardmäßig den Wert 0.

Warnung: Sie sollten immer andere Werte als die Standardwerte für die Eigenschaften CacheSize und UpdateInterval festlegen.

Senden von Daten an den Server

Die folgende Liste enthält verschiedene Szenarien, bei denen Daten an die AppAnalytics-Weboberfläche gesendet werden:

Wenn TAppAnalytics.Enabled auf True gesetzt ist und der Benutzer in Fenster Privacy Notice auf Yes klickt:

  1. Wenn der CacheSize die festgelegten Einträge erreicht, unabhängig vom Wert von UpdateInterval.
  2. Jedes Mal nach dem in UpdateInterval festgelegten Intervall, unabhängig vom Wert von CacheSize.
  3. Wenn sich die Eigenschaft TAppAnalytics.Enabled von True in False ändert, auch wenn die Anwendung geöffnet ist.
  4. Wenn die Anwendung ordnungsgemäß geschlossen wird.

Verfolgung benutzerdefinierter Ereignisse

AppAnalytics ermöglicht dem Entwickler, benutzerdefinierte Ereignisse zu erstellen, um mehr Informationen über die Verwendung der Anwendung durch die Benutzer zu sammeln.

Führen Sie die folgenden Schritte aus, um ein benutzerdefiniertes Ereignis aufzuzeichnen:

  1. Erstellen Sie ein TCustomEventContext-Objekt zum Speichern der Ereignisdaten, die Sie aufzeichnen möchten. Das TCustomEventContext-Objekt übernimmt 4 Parameter, 3 Strings und einen Double-Wert. Die Parameter sind Category, Action, Text und Value.
    • Mit Category kategorisieren oder gruppieren Sie die Ereignisse.
    • Mit Action unterscheiden Sie Aktionen unter der gleichen Kategorie.
    • Mit Text erstellen Sie eine Bezeichnung für eine bestimmte Aktion und einen Wert.
    • Mit Value rufen Sie einen Wert ab, wenn das Ereignis stattfindet.
      Hinweis: Keiner der Strings darf leer sein.
  2. Zeichen Sie das Ereignis auf, indem Sie das Objekt TCustomEventContext an die Methode TAnalyticsManager.RecordActivity übergeben.

Nach dem Senden der Daten an den Server werden die Informationen auf der Registerkarte Custom Events der Anwendung angezeigt. Klicken Sie auf Category, um die restlichen Informationen für dieses Ereignis anzuzeigen.

Unter TCustomEventContext finden Sie ein Beispiel dazu.

Siehe auch

Codebeispiele