Profielgegevens verzamelen
Leer hoe u profielgegevens kunt verzamelen in een mobiele app.
U kunt de extensie Profiel gebruiken om kenmerken van de gebruiker op de client op te slaan. Deze informatie kan later worden gebruikt om berichten tijdens online of off-line scenario's te richten en te personaliseren, zonder het moeten met een server voor optimale prestaties verbinden.
De extensie Profiel beheert het Client-Side Operation Profile (CSOP), biedt een manier om op API's te reageren, werkt gebruikersprofielkenmerken bij en deelt de gebruikersprofielkenmerken met de rest van het systeem als een gegenereerde gebeurtenis.
De profielgegevens worden door andere extensies gebruikt om acties met betrekking tot profielen uit te voeren. Een voorbeeld is de uitbreiding van de Motor van Regels die de profielgegevens verbruikt en regels in werking stelt die op de profielgegevens worden gebaseerd. Leer meer over de uitbreiding van het Profielin de documentatie
Vereisten
- App met SDK's geïnstalleerd en geconfigureerd met succes gemaakt en uitgevoerd.
Leerdoelstellingen
In deze les zult u:
- Gebruikerskenmerken instellen of bijwerken.
- Gebruikerskenmerken ophalen.
Gebruikerskenmerken instellen en bijwerken
Het is handig om gebruikers te laten kiezen voor een bepaald doel en om de app aan te passen en snel te laten weten of een gebruiker in het verleden of onlangs een aankoop heeft gedaan. Laten we dat instellen in de Luma-app.
-
Navigeer naar Luma > Luma > Utils > MobileSDK in de Xcode Project navigator en zoek de
func updateUserAttribute(attributeName: String, attributeValue: String)
functie. Voeg de volgende code toe: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)
Deze code:
-
Hiermee wordt een leeg woordenboek met de naam
profileMap
ingesteld. -
Hiermee voegt u een element aan het woordenboek toe met
attributeName
(bijvoorbeeldisPaidUser
) enattributeValue
(bijvoorbeeldyes
). -
Gebruikt het
profileMap
woordenboek als waarde aan deattributeDict
parameter van deUserProfile.updateUserAttributes
API vraag.
-
-
Navigeer aan Luma > Luma > Views > Products > ProductView in de navigator van het Project van Xcode en vind de vraag aan
updateUserAttributes
(binnen de code voor de Aankopencode language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
-
Navigeer aan Android
func updateUserAttribute(attributeName: String, attributeValue: String)
functie. Voeg de volgende code toe: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)
Deze code:
-
Stelt een lege kaart met de naam
profileMap
in. -
Voegt een element aan de kaart toe gebruikend
attributeName
(bijvoorbeeldisPaidUser
), enattributeValue
(bijvoorbeeldyes
). -
Gebruikt de
profileMap
kaart als waarde aan deattributeDict
parameter van deUserProfile.updateUserAttributes
API vraag.
-
-
Navigeer aan Android
updateUserAttributes
(binnen de code voor de Aankopencode language-kotlin // Update attributes MobileSDK.shared.updateUserAttribute("isPaidUser", "yes")
Gebruikerskenmerken ophalen
Nadat u het kenmerk van een gebruiker hebt bijgewerkt, is het beschikbaar voor andere Adobe-SDK's, maar u kunt kenmerken ook expliciet ophalen, zodat de toepassing zich naar wens gedraagt.
-
Navigeer naar Luma > Luma > Views > General > HomeView in de Xcode-projectnavigator en zoek de optie
.onAppear
. Voeg de volgende code toe: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 } } }
Deze code:
- Roept de
UserProfile.getUserAttributes
API met deisPaidUser
attribuutnaam als enig element in deattributeNames
serie. - Dan controles op de waarde van het
isPaidUser
attribuut en wanneeryes
, een badge op het
- Roept de
-
Navigeer aan Android
.onAppear
bepaling. Voeg de volgende code toe:code language-kotlin // Get attributes UserProfile.getUserAttributes(listOf("isPaidUser")) { attributes -> showBadgeForUser = attributes?.get("isPaidUser") == "yes" }
Deze code:
- Roept de
UserProfile.getUserAttributes
API met deisPaidUser
attribuutnaam als enig element in deattributeNames
serie. - Vervolgens wordt gecontroleerd op de waarde van het kenmerk
isPaidUser
. Inyes
vervangt de code het persoonlijke pictogram door een pictogram met een badge in de werkbalk rechtsboven.
- Roept de
Zie de API verwijzingvoor meer informatie.
Valideren met Assurance
- Herzie de sectie van opstellingsinstructiesom uw simulator of apparaat met Assurance te verbinden.
- Voer de app uit om u aan te melden en te communiceren met een product.
-
Selecteer Home in de tabbalk.
-
Het Assurance-pictogram naar links verplaatsen.
-
Om het Login blad te openen, selecteer de
-
Als u een willekeurige e-mail en een klant-id wilt invoegen, selecteert u de knop A | .
-
Selecteer Login.
-
Selecteer Products in de tabbalk.
-
Selecteer één product.
-
Selecteer
-
Selecteer
-
Selecteer
-
Ga terug naar Home screen. U zou moeten zien dat een badge
-
Selecteer Home in de tabbalk.
-
Het Assurance-pictogram naar links verplaatsen.
-
Om het Login blad te openen, selecteer de
-
Selecteer Generate Random Email als u een willekeurige e-mail en een klant-id wilt invoegen.
-
Selecteer Login.
-
Selecteer Products in de tabbalk.
-
Selecteer één product.
-
Selecteer
-
Selecteer
-
Selecteer
-
Ga terug naar Home screen. U zou moeten zien dat het persoonspictogram wordt bijgewerkt.
In de gebruikersinterface van Assurance worden UserProfileUpdate - en getUserAttributes -gebeurtenissen met de bijgewerkte profileMap
-waarde weergegeven.
Volgende: Plaatsen van het Gebruik