Profildaten erfassen
Erfahren Sie, wie Sie Profildaten in einer Mobile App erfassen.
Sie können die Profil-Erweiterung verwenden, um Attribute über Ihren Benutzer auf dem Client zu speichern. Diese Informationen können später verwendet werden, um Nachrichten in Online- oder Offline-Szenarien auszuwählen und zu personalisieren, ohne dass für eine optimale Leistung eine Verbindung zu einem Server hergestellt werden muss. Die Profil-Erweiterung verwaltet das clientseitige Aktionsprofil (CSOP), bietet eine Möglichkeit, auf APIs zu reagieren, aktualisiert Benutzerprofilattribute und gibt die Benutzerprofilattribute für den Rest des Systems als generiertes Ereignis frei.
Die Profildaten werden von anderen Erweiterungen verwendet, um profilbezogene Aktionen durchzuführen. Ein Beispiel ist die Regel-Engine-Erweiterung, die die Profildaten nutzt und Regeln basierend auf den Profildaten ausführt. Weitere Informationen zum Profilerweiterung in der Dokumentation
Voraussetzungen
- App erfolgreich erstellt und ausgeführt, wobei SDKs installiert und konfiguriert sind.
Lernziele
In dieser Lektion werden Sie:
- Festlegen oder Aktualisieren von Benutzerattributen.
- Abrufen von Benutzerattributen.
Benutzerattribute festlegen und aktualisieren
Es wäre hilfreich für Targeting und/oder Personalisierung in der App, schnell zu erkennen, ob ein Benutzer in der Vergangenheit oder vor Kurzem einen Kauf getätigt hat. Legen wir das in der Luma-App fest.
-
Navigieren Sie zu Luma > Luma > Utils > MobileSDK im Xcode-Projektnavigator und suchen Sie die
func updateUserAttribute(attributeName: String, attributeValue: String)
-Funktion. Fügen Sie den folgenden Code hinzu:code language-swift // Create a profile map, add attributes to the map and update profile using the map var profileMap = [String: Any]() profileMap[attributeName] = attributeValue UserProfile.updateUserAttributes(attributeDict: profileMap)
Dieser Code:
-
Richtet ein leeres Wörterbuch ein mit dem Namen
profileMap
. -
Fügt dem Wörterbuch ein Element hinzu mit
attributeName
(BeispielisPaidUser
) undattributeValue
(Beispielyes
). -
Verwendet die
profileMap
Wörterbuch als Wert fürattributeDict
Parameter derUserProfile.updateUserAttributes
API-Aufruf.
-
-
Navigieren Sie zu Luma > Luma > Views > Products > ProductView im Xcode-Projektnavigator und suchen Sie den Aufruf an
updateUserAttributes
(im Code für die Käufe)code language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
Abrufen von Benutzerattributen
Nachdem Sie das -Attribut eines Benutzers aktualisiert haben, ist es für andere Adobe-SDKs verfügbar, Sie können aber auch Attribute explizit abrufen, damit sich Ihre App wie gewünscht verhält.
-
Navigieren Sie zu Luma > Luma > Views > General > HomeView im Xcode-Projektnavigator und suchen Sie die
.onAppear
-Modifikator. Fügen Sie den folgenden Code hinzu:code language-swift // Get attributes UserProfile.getUserAttributes(attributeNames: ["isPaidUser"]) { attributes, error in if attributes?.count ?? 0 > 0 { if attributes?["isPaidUser"] as? String == "yes" { showBadgeForUser = true } else { showBadgeForUser = false } } }
Dieser Code:
- Ruft die
UserProfile.getUserAttributes
API mit derisPaidUser
Attributname als einzelnes Element imattributeNames
Array. - Prüft dann den Wert der
isPaidUser
Attribut und Zeitpunktyes
, platziert einen Badge auf der
- Ruft die
Weitere Dokumentationen finden Sie here.
Validierung mit Versicherung
-
Überprüfen Sie die Einrichtungsanweisungen -Abschnitt, um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
-
Führen Sie die App aus, um sich anzumelden und mit einem Produkt zu interagieren.
-
Verschieben Sie das Symbol "Versicherung"nach links.
-
Auswählen Startseite in der Symbolleiste.
-
Um das Anmeldeblatt zu öffnen, wählen Sie die
-
Um eine zufällige E-Mail- und Kunden-ID einzufügen, wählen Sie die
-
Auswählen Anmelden.
-
Auswählen Products in der Symbolleiste.
-
Wählen Sie ein Produkt aus.
-
Auswählen
-
Auswählen
-
Auswählen
-
Zurück zu Startseite angezeigt. Sie sollten sehen, dass ein Badge hinzugefügt wurde
-
-
In der Assurance-Benutzeroberfläche sollte eine UserProfileUpdate und getUserAttributes Ereignisse mit aktualisierter
profileMap
-Wert.
Weiter: Orte verwenden