Samla in profildata
Lär dig hur du samlar in profildata i en mobilapp.
Du kan använda profiltillägget för att lagra attribut om användaren på klienten. Den här informationen kan användas senare för att målinrikta och personalisera meddelanden i online- eller offlinescenarier, utan att du behöver ansluta till en server för optimala prestanda. Profiltillägget hanterar CSOP (Client-Side Operation Profile), ger ett sätt att reagera på API:er, uppdatera attribut för användarprofiler och delar attribut för användarprofiler med resten av systemet som en genererad händelse.
Profildata används av andra tillägg för att utföra profilrelaterade åtgärder. Ett exempel är tillägget Regelmotor som förbrukar profildata och kör regler baserat på profildata. Läs mer om profiltillägget i dokumentationen
Förhandskrav
- App med SDK:er har installerats och konfigurerats.
Utbildningsmål
I den här lektionen kommer du att:
- Ange eller uppdatera användarattribut.
- Hämta användarattribut.
Ange och uppdatera användarattribut
Det kan vara bra att ha som mål och/eller personalisering i appen för att snabbt veta om en användare har köpt något tidigare eller nyligen. Låt oss konfigurera det i Luma-appen.
-
Navigera till Luma > Luma > Utils > MobileSDK i Xcode Project-navigatorn och hitta funktionen
func updateUserAttribute(attributeName: String, attributeValue: String)
. Lägg till följande kod: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)
Den här koden:
-
Ställer in en tom ordlista med namnet
profileMap
. -
Lägger till ett element i ordlistan med
attributeName
(till exempelisPaidUser
) ochattributeValue
(till exempelyes
). -
Använder
profileMap
-ordlistan som ett värde för parameternattributeDict
i API-anropetUserProfile.updateUserAttributes
.
-
-
Navigera till Luma > Luma > Views > Products > ProductView i Xcode Project navigator och hitta anropet till
updateUserAttributes
(i koden för inköp) {width="15"}). Lägg till följande kod:code language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
Hämta användarattribut
När du har uppdaterat en användares attribut är det tillgängligt för andra Adobe SDK:er, men du kan även hämta attribut explicit, så att appen fungerar som du vill.
-
Navigera till Luma > Luma > Views > General > HomeView i Xcode Project-navigatorn och hitta modifieraren
.onAppear
. Lägg till följande kod: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 } } }
Den här koden:
-
Anropar
UserProfile.getUserAttributes
-API:t med attributnamnetisPaidUser
som ett element i arrayenattributeNames
. -
Kontrollerar sedan värdet för attributet
isPaidUser
och placerar ett märke påyes
ikonen{width="20"}
i verktygsfältet längst upp till höger.
-
Ytterligare dokumentation finns här.
Validera med Assurance
-
Granska avsnittet Installationsanvisningar för att ansluta simulatorn eller enheten till Assurance.
-
Kör appen för att logga in och interagera med en produkt.
-
Flytta Assurance-ikonen åt vänster.
-
Välj Home i flikfältet.
-
Om du vill öppna inloggningsbladet väljer du knappen {width="15"}.
{width="300"}
-
Välj {width="15"}-knapp .
-
Välj Login.
{width="300"}
-
Välj Products i flikfältet.
-
Välj en produkt.
-
Välj {width="15"}.
-
Välj {width="20"}.
-
Välj {width="15"}.
{width="300"}
-
Återgå till skärmen Home. Du bör se att ett märke har lagts till {width="15"}.
{width="300"}
-
-
I Assurance-gränssnittet bör du se en UserProfileUpdate- och getUserAttributes-händelse med det uppdaterade
profileMap
-värdet.
Nästa: Använd platser