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 Profiel in 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
profileMapingesteld. -
Hiermee voegt u een element aan het woordenboek toe met
attributeName(bijvoorbeeldisPaidUser) enattributeValue(bijvoorbeeldyes). -
Gebruikt het
profileMapwoordenboek als waarde aan deattributeDictparameter 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 Aankopen knoop). Voeg de volgende code toe:code language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
-
Navigeer aan Android
> app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK in de navigator van Android Studio en vind defunc 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
profileMapin. -
Voegt een element aan de kaart toe gebruikend
attributeName(bijvoorbeeldisPaidUser), enattributeValue(bijvoorbeeldyes). -
Gebruikt de
profileMapkaart als waarde aan deattributeDictparameter van deUserProfile.updateUserAttributes API vraag.
-
-
Navigeer aan Android
> app > kotlin+java > com.adobe.luma.tutorial.android > views > ProductView.kt en vind de vraag aanupdateUserAttributes(binnen de code voor de Aankopen knoop). Voeg de volgende code toe:code 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 deisPaidUserattribuutnaam als enig element in deattributeNamesserie. - Dan controles op de waarde van het
isPaidUserattribuut en wanneeryes, een badge op het pictogram in de toolbar bij het hoogste recht plaatst.
- Roept de
-
Navigeer aan Android
> app > kotlin+java > com.adobe.luma.tutorial.androi > views > HomeView.kt in de het projectnavigator van Android Studio en vind de.onAppearbepaling. 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 deisPaidUserattribuutnaam als enig element in deattributeNamesserie. - Vervolgens wordt gecontroleerd op de waarde van het kenmerk
isPaidUser. Inyesvervangt de code het persoonlijke pictogram door een pictogram met een badge in de werkbalk rechtsboven.
- Roept de
Zie de API verwijzing voor meer informatie.
Valideren met Assurance
- Herzie de sectie van opstellingsinstructies om 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
. {width="300"}
-
Als u een willekeurige e-mail en een klant-id wilt invoegen, selecteert u de knop A | .
-
Selecteer Login.
{width="300"}
-
Selecteer Products in de tabbalk.
-
Selecteer één product.
-
Selecteer
. -
Selecteer
. -
Selecteer
. {width="300"}
-
Ga terug naar Home screen. U zou moeten zien dat een badge
is toegevoegd. {width="300"}
-
Selecteer Home in de tabbalk.
-
Het Assurance-pictogram naar links verplaatsen.
-
Om het Login blad te openen, selecteer de
. {width="300"}
-
Selecteer Generate Random Email als u een willekeurige e-mail en een klant-id wilt invoegen.
-
Selecteer Login.
{width="300"}
-
Selecteer Products in de tabbalk.
-
Selecteer één product.
-
Selecteer
-
Selecteer
. -
Selecteer
. {width="300"}
-
Ga terug naar Home screen. U zou moeten zien dat het persoonspictogram wordt bijgewerkt.
{width="300"}
In de gebruikersinterface van Assurance worden UserProfileUpdate - en getUserAttributes -gebeurtenissen met de bijgewerkte profileMap -waarde weergegeven.
Volgende: Plaatsen van het Gebruik