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 aufOrgId
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:
(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:]
erfordertNSString
und optionalNSDictionary<NSString *, id>
[FS setUserVars:]
erfordertNSDictionary<NSString *, id>
Swift
FS.identify(_:userVars:)
erfordertString
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.plist
im 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
,.jpeg
und .png
im Verzeichnis /assets
sowie nach Ressourcen des Dateityps .css
im 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 inInfo.plist
und wähle „Zeile hinzufügen“. Lege den Schlüsselnamen aufIncludeAssets
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:
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).