Erfassen von Profildaten
Erfahren Sie, wie Sie Profildaten in einer Mobile App erfassen.
Sie können die Profilerweiterung verwenden, um Attribute über Ihre Benutzerin oder Ihren Benutzer auf dem Client zu speichern. Diese Informationen können später zum Targeting und zur Personalisierung von Nachrichten in Online- oder Offline-Szenarien verwendet werden, ohne dass eine Verbindung zu einem Server hergestellt werden muss, um eine optimale Leistung zu erzielen.
Die Profilerweiterung verwaltet das Client-seitige Vorgangsprofil (CSOP), bietet eine Möglichkeit, auf APIs zu reagieren, aktualisiert Benutzerprofilattribute und gibt die Benutzerprofilattribute als generiertes Ereignis für den Rest des Systems frei.
Die Profildaten werden von anderen Erweiterungen verwendet, um profilbezogene Aktionen durchzuführen. Ein Beispiel hierfür ist die Erweiterung Regel-Engine , die die Profildaten verwendet und Regeln auf der Grundlage der Profildaten ausführt. Weitere Informationen zur Profilerweiterung finden Sie in der Dokumentation
Voraussetzungen
- App mit installierten und konfigurierten SDKs erfolgreich erstellt und ausgeführt.
Lernziele
In dieser Lektion erfahren Sie Folgendes:
- Benutzerattribute festlegen oder aktualisieren.
- Abrufen von Benutzerattributen.
Benutzerattribute festlegen und aktualisieren
Für Targeting und Personalisierung in der App ist es hilfreich, schnell zu wissen, ob ein Benutzer in der Vergangenheit oder kürzlich einen Kauf getätigt hat. Richten wir das in der Luma-App ein.
-
Navigieren Sie im Xcode-Projekt-Navigator zu Luma > Luma > Utils > MobileSDK und suchen Sie nach der
func updateUserAttribute(attributeName: String, attributeValue: String)
. 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:
-
Ein leeres Wörterbuch mit dem Namen
profileMap
wird eingerichtet. -
Fügt dem Wörterbuch ein Element mithilfe von
attributeName
(z. B.isPaidUser
) undattributeValue
(z. B.yes
) hinzu. -
Verwendet das
profileMap
als Wert für denattributeDict
desUserProfile.updateUserAttributes
-API-Aufrufs.
-
-
Navigieren Sie im Xcode-Projekt-Navigator zu Luma > Luma > Views > Products > ProductView und suchen Sie den Aufruf an
updateUserAttributes
(im Code für die Schaltfläche Bestellungencode language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
-
Android Navigieren Sie im Android Studio-Navigator zu
func updateUserAttribute(attributeName: String, attributeValue: String)
. Fügen Sie den folgenden Code hinzu:code language-kotlin // Create a profile map, add attributes to the map and update profile using the map val profileMap = mapOf(attributeName to attributeValue) UserProfile.updateUserAttributes(profileMap)
Dieser Code:
-
Richtet eine leere Zuordnung mit dem Namen
profileMap
ein. -
Fügt der Zuordnung ein Element mithilfe von
attributeName
(zum BeispielisPaidUser
) undattributeValue
(zum Beispielyes
) hinzu. -
Verwendet die
profileMap
Zuordnung als Wert zumattributeDict
desUserProfile.updateUserAttributes
-API-Aufrufs.
-
-
Navigieren Sie zu Android
updateUserAttributes
(im Code für die Schaltflächecode language-kotlin // Update attributes MobileSDK.shared.updateUserAttribute("isPaidUser", "yes")
Benutzerattribute abrufen
Nachdem Sie das Attribut eines Benutzers aktualisiert haben, ist es für andere Adobe-SDKs verfügbar, Sie können jedoch auch Attribute explizit abrufen, damit sich Ihre App wie gewünscht verhält.
-
Navigieren Sie im Xcode-Projekt-Navigator zu Luma > Luma > Views > General > HomeView und suchen Sie den
.onAppear
. 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 demisPaidUser
Attributnamen als einzelnes Element imattributeNames
-Array auf. - Sucht dann nach dem Wert des
isPaidUser
Attributs und platziertyes
oben rechts in der Symbolleiste ein Badge
- Ruft die
-
Navigieren Sie im Android -Projektnavigator zu Android
.onAppear
. Fügen Sie den folgenden Code hinzu:code language-kotlin // Get attributes UserProfile.getUserAttributes(listOf("isPaidUser")) { attributes -> showBadgeForUser = attributes?.get("isPaidUser") == "yes" }
Dieser Code:
- Ruft die
UserProfile.getUserAttributes
-API mit demisPaidUser
Attributnamen als einzelnes Element imattributeNames
-Array auf. - Prüft dann auf den Wert des
isPaidUser
. Wennyes
, ersetzt der Code das Personensymbol durch ein Badge-Symbol in der Symbolleiste oben rechts.
- Ruft die
Weitere Informationen finden Sie APIReferenz.
Mit Assurance validieren
- Lesen Sie den Abschnitt Setup-Anweisungen, 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.
-
Wählen Sie Startseite in der Registerkartenleiste aus.
-
Verschieben Sie das Assurance-Symbol nach links.
-
Um die Anmeldungsseite zu öffnen, klicken Sie auf die Schaltfläche
-
Um eine zufällige E-Mail und Kunden-ID einzufügen, wählen Sie A Schaltfläche | .
-
Wählen Sie Anmelden aus.
-
Wählen Sie Products in der Registerkartenleiste aus.
-
Ein Produkt auswählen.
-
Wählen Sie
-
Wählen Sie
-
Wählen Sie
-
Kehren Sie zum Bildschirm Startseite zurück. Sie sollten sehen, dass ein Abzeichen hinzugefügt wurde
-
Wählen Sie Startseite in der Registerkartenleiste aus.
-
Verschieben Sie das Assurance-Symbol nach links.
-
Um die Anmeldungsseite zu öffnen, klicken Sie auf die Schaltfläche
-
Um eine zufällige E-Mail und Kunden-ID einzufügen, wählen Sie Zufällige E-Mail generieren aus.
-
Wählen Sie Anmelden aus.
-
Wählen Sie Products in der Registerkartenleiste aus.
-
Ein Produkt auswählen.
-
Wählen Sie
-
Wählen Sie
-
Wählen Sie
-
Kehren Sie zum Bildschirm Startseite zurück. Sie sollten sehen, dass das Personensymbol aktualisiert wird.
In der Assurance-Benutzeroberfläche sollten die Ereignisse UserProfileUpdate und getUserAttributes mit dem aktualisierten profileMap
angezeigt werden.
Weiter: Verwenden Sie Orte