Erste Schritte für die Datenerfassung mit iOS

Available for the following Plan types:

Fullstory Enterprise*

Fullstory Advanced*

Fullstory Business*

Die Fullstory ist kostenlos.

*with the following add-on:

Fullstory für mobile Apps

Available to the following User roles:

Admin

Architekt:in

Standard

 

Die Verwendung der nativen Datenerfassung mit iOS erfordert das Hinzufügen des Erfassungsframeworks von Fullstory zu deiner App. Du kannst das Framework von Fullstory auf verschiedene Weisen zu deiner App hinzufügen. Wähle den Ansatz, der sich am besten in deinen bestehenden App-Build integrieren lässt, und befolge die unten verlinkten Anweisungen zur Einrichtung.  

Während du die folgenden Anweisungen implementierst, findest du es möglicherweise hilfreich, auf eine Beispiel-App mit integriertem Fullstory zu verweisen. Wir haben hier ein Beispiel dafür, wie das SDK in eine iOS-App implementiert wird.

Hinzufügen des Frameworks von Fullstory

Hinzufügen von Fullstory als Swift-Paket
Hinzufügen von Fullstory als CocoaPods-Pod
Manuelles Hinzufügen des Frameworks von Fullstory

Konfigurieren von Fullstory

Um die Fullstory-Integration abzuschließen, musst du dem Framework mitteilen, für welche Fullstory-Organisation Daten erfasst werden sollen.

  • Öffne Info.plist in deiner App
  • Wähle im Menü Editor > Element hinzufügen.  Lege den Schlüsselnamen auf FullStory und den Typ auf „Wörterbuch“ fest.
  • Klicke mit der rechten Maustaste auf die FullStory-Zeile und wähle „Zeile hinzufügen“.  Lege den Schlüsselnamen auf OrgId und den Typ auf „String“ fest.  Füge für den Wert deine zugewiesene Organisations-ID ein.

Bei korrekter Konfiguration sollte der Eintrag Info.plist wie folgt aussehen:

image (63).png

(Note that these instructions have changed in 1.18.0. However, old integrations that use the FSOrgId key will continue to work.)

Verwendung der erweiterten Funktionen von Fullstory

Identifizieren von Benutzer:innen und Weitergabe benutzerdefinierter Daten an Fullstory

On the web, Fullstory offers the FS.identify and FS.setUserVars JavaScript functions to enable you to enrich your Fullstory data with additional variables for use in searches, segments, and integrations. This functionality is replicated on iOS to allow you to pass user information to Fullstory directly from your native app. The methods behave identically to their JavaScript counterparts linked above. The parameters are simply the Objective-C/Swift equivalents of the original JavaScript parameters:

Objective-C

  • [FS identify:userVars:] erfordert NSString und optional NSDictionary<NSString *, id>
  • [FS setUserVars:] erfordert NSDictionary<NSString *, id>

Swift

  • FS.identify(_:userVars:) erfordert String und optional [String : Any]
  • FS.setUserVars(_:) erfordert [String : Any]

Verhindern, dass Fullstory beim Start automatisch Daten erfasst

Hinzugefügt in Version: 1.5.1
Standardmäßig fordert Fullstory beim Starten der App automatisch eine Session an und beginnt mit der Datenerfassung.Wenn du Daten innerhalb der App erfassen musst, sobald bestimmte Bedingungen erfüllt sind, kannst du die neue RecordOnStart-Funktion verwenden.Wenn du Fullstory so konfigurierst, dass die Funktion  RecordOnStart nicht ausgeführt wird, wird die Datenerfassung verhindert, bis du explizit FS.restart aufrufst.

Um zu verhindern, dass Fullstory beim Start Daten erfasst, füge in deiner App in Info.plistim FullStory-Wörterbuch einen RecordOnStart-Schlüssel vom Typ Boolean mit dem Wert NO oder 0 hinzu.

(Beachte, dass diese Anweisungen ab Version 1.18.0 neu sind.  Alte Integrationen, die den älteren FSRecordOnStart-Schlüssel verwenden, funktionieren jedoch weiterhin.)

Configuring a Relay server

Added in version: 1.37.0

By default, Fullstory routes traffic through "https://fullstory.com." To instead route Fullstory traffic through a Relay server, you may add a ServerUrl key to the FullStory dictionary in your app's Info.plist, of type String, with a value of your server's url.

Fullstory Delegate

Du kannst das Fullstory Delegate-Protokoll FSDelegate implementieren, um über den Lebenszyklus der Sessions benachrichtigt zu werden.

Objective-C

// Datei: Appdelegate.m

// Lege FS Delegate in `didFinishLaunchingWithOptions` fest
FS.delegate = self;

// Implementiere die optionalen Methoden
- (void)fullstoryDidTerminateWithError:(NSError *)error {}
- (void)fullstoryDidStartSession:(NSString *)sessionUrl {}
- (void)fullstoryDidStopSession {}

Identifizieren

Identifizieren wird verwendet, um deine eigene anwendungsspezifische ID mit dem:der aktiven Benutzer:in zu verknüpfen.

Objective-C

NSString *userId = @"13ff474bae77"; // durch die ID des:der Benutzer:in ersetzen
NSDictionary *info = @{
@"email": @"user@example.com",
@"displayName": @"Shopping User"
};

[FS identify:userId userVars:info];


Swift

Damit Fullstory in Swift importiert und verwendet werden kann, musst du sicherstellen, dass du einen Objective-C-Bridging-Header und @import Fullstory im Bridging Header konfiguriert hast. Hilfe zum Hinzufügen des Headers findest du in der Apple-Dokumentation zum Importieren von Objective-C in Swift.

let userId = "13ff474bae77" // durch die ID des:der Benutzer:in ersetzen
let info = ["email": "user1@example.com",
"displayName": "Shopping User"
]
FS.identify(userId, userVars: info)

Zusätzliche Themen

Datenschutzbestimmungen von Fullstory für mobile Apps

Weitere Informationen zum Konfigurieren von Datenschutzregeln und zur Maskierung findest du in unserem Leitfaden Datenschutzbestimmungen von Fullstory für mobile Apps

Fullstory für SwiftUI-Apps

Für Kund:innen, die bereits mit der Verwendung von Fullstory auf iOS mit UIKit- oder React Native-Apps vertraut sind, ist die SwiftUI-Unterstützung von Fullstory etwas anders. Weitere Informationen findest du in unserem Artikel Was ist anders in Fullstory für SwiftUI? oder in unserem Begleitartikel mit Anleitung für die Integration von Fullstory in eine SwiftUI-App.

Ein- oder Ausschalten der mobilen Datenerfassung

Die mobile Datenerfassung kann unter Einstellungen > Datenerfassung und Datenschutz > Mobile Datenerfassung ein- oder ausgeschaltet werden. Dies gilt für dein gesamtes Fullstory-Konto.

Support für das Framework der Benutzeroberfläche

Fullstory für mobile Apps funktioniert am besten mit nativem UIKit und mit React Native-Anwendungen. Wenn du ein anderes Framework verwendest, um die Benutzeroberfläche deiner App zu erstellen, einschließlich SwiftUI, wende dich bitte an deine:n Kundenbetreuer:in oder an unser Support-Team, um sicherzustellen, dass wir dir bei deinem Anwendungsfall helfen können.

Konfigurieren des Domain-Allowlisting für WebViews

Wenn deine Anwendung WebViews verwendet, musst du jede Domain, die du innerhalb eines WebView erfassen möchtest, ausdrücklich in die Allowlist aufnehmen. Aus Sicherheits- und Datenschutzgründen solltest du nur Domains in die Allowlist aufnehmen, die unter deiner Kontrolle stehen. Platzhalter und Subdomains werden nach demselben Schema wie Webdomaineinstellungen unterstützt. Der Hauptunterschied zwischen den Web- und Mobil-Einstellungen besteht darin, dass das Domain-Allowlisting im Web zwar optional, für Mobilgeräte jedoch obligatorisch ist, wenn du Inhalte in WebViews erfassen möchtest. Wenn deine Anwendung WebViews nicht verwendet oder du keine Erfassung innerhalb von WebViews vornehmen möchtest, kannst du diesen Abschnitt getrost ignorieren.

Diese Einstellungen können unter Einstellungen > Datenerfassung und Datenschutz > Mobile Datenerfassung konfiguriert werden.

Asset-Upload für WebViews

Standardmäßig lädt das Fullstory Build-Time-Tool für iOS (FullStoryCommandLine) Bild-Assets hoch, die Teil der Assets.car-Dateien sind.Außerdem sucht es innerhalb des .app-Bundles nach Bild-Assets der Dateitypen .jpg,.jpegund .pngim Verzeichnis /assets sowie nach Ressourcen des Dateityps .cssim Verzeichnis /www.Eine Auffrischung der Verzeichnishierarchie des standardmäßigen App-Bundles von iOS findest du in der Apple-Dokumentation.

Anwendungen, die stark von Webtechnologien Gebrauch machen (oder die Bilddateien außerhalb einer Assets.car-Datei enthalten), müssen möglicherweise andere Assets hochladen, damit die Wiedergabe ordnungsgemäß funktioniert. Um das Tool so zu konfigurieren, dass es nach zusätzlichen Dateitypen und/oder in anderen Verzeichnissen sucht, füge einen Eintrag im FullStory-Wörterbuch deiner Info.plist-Datei mit dem Namen IncludeAssets hinzu.

  • Klicke mit der rechten Maustaste auf die FullStory-Zeile in Info.plist und wähle „Zeile hinzufügen“. Lege den Schlüsselnamen auf IncludeAssets und den Typ auf „Wörterbuch“ fest.
  • Klicke mit der rechten Maustaste auf die Zeile IncludeAssets  und wähle „Zeile hinzufügen“.  Lege den Schlüsselnamen auf den Verzeichnisnamen und den Typ auf „Array“ fest. Du musst nur ein Stammverzeichnis hinzufügen, da das Build-Time-Tool von Fullstory alle untergeordneten Verzeichnisse rekursiv durchsucht.
  • Klicke mit der rechten Maustaste auf die Verzeichniszeile und wähle „Zeile hinzufügen“.  Lege den Wert auf die Erweiterung des Dateityps fest, den du einschließen möchtest. Du kannst mehrere Dateitypen hinzufügen. Wiederhole diesen Vorgang für jedes weitere Verzeichnis.

Untenstehend siehst du ein Beispiel, das css-Dateien in allen Verzeichnissen unter <bundleroot>/my_directory und alle css-, ttf- und jpeg-Dateien unter <bundleroot>/my_other_directory enthält:

assets.png

So kannst du Fullstory-Protokolle in das Logging-Framework deiner iOS-App integrieren

Datenerfassungsprotokolle können dir dabei helfen, Probleme mit der App zu beheben und unbeabsichtigtes Verhalten aufzudecken.In diesem Leitfaden schauen wir uns einige beliebte Logging-Frameworks an und erläutern, wie du sie in Fullstory integrieren kannst.

Auswirkungen auf die App-Größe

Für aus dem App Store heruntergeladene Apps fügt das Framework von Fullstory ~ 9 MB zu deiner unkomprimierten App-Größe auf dem Gerät hinzu, aber nur ~ 2,8 MB zu deiner komprimierten Download-Größe. (Beachte bitte, dass die Komprimierungsraten je nach App variieren können.)

Seit der Einführung von App Thinning in iOS 9.0 teilt der App Store deine App automatisch in verschiedene Varianten für alle Zielgeräte auf. In jeder Variante werden ausführbare Programme und Ressourcen für nicht unterstützte Architekturen oder Bildschirmgrößen automatisch entfernt.

Wenn deine App sowohl auf 32-Bit- als auch auf 64-Bit-Geräte abzielt (gilt für iOS 10 oder ältere Versionen), enthält deine App Store-Vorlage sowohl armv7- als auch arm64-Versionen von Fullstory.framework (~ 18 MB, unkomprimiert). Wenn deine Benutzer:innen jedoch deine App herunterladen, erhalten sie nur die Version von Fullstory.framework, die zu ihrem Gerät passt (~ 9 MB, unkomprimiert).

Beachte bitte, dass Fullstory.framework mehr Platz in Entwickler-Builds einnimmt. Wir bieten ein universelles Framework, das eine Variante für jede von uns unterstützte Architektur enthält. Derzeit sind das arm64, armv7 und x86_64. Das vollständige universelle Framework fügt ~ 29 MB (unkomprimiert) zu deiner App hinzu, das liegt jedoch daran, dass App Thinning/Slicing für Entwickler-Builds nicht stattfindet.

Weitere Informationen dazu, wie sich App Thinning auf die App-Größe auswirkt, findest du unter Getting an App Size Report (EN) in Technical Q&A QA1795 (EN).

 


War dieser Beitrag hilfreich?

Got Questions?

Get in touch with a Fullstory rep, ask the community or check out our developer documentation.