Raccogliere dati profilo

Scopri come raccogliere i dati del profilo in un’app mobile.

Puoi utilizzare l’estensione Profilo per memorizzare gli attributi dell’utente sul client. Queste informazioni possono essere utilizzate in un secondo momento per eseguire il targeting e personalizzare i messaggi durante scenari online o offline, senza dover connettersi a un server per ottenere prestazioni ottimali.

L’estensione Profile gestisce il profilo operativo lato client (CSOP, Client-Side Operation Profile), fornisce un modo per reagire alle API, aggiorna gli attributi del profilo utente e condivide gli attributi del profilo utente con il resto del sistema come evento generato.

I dati di profilo vengono utilizzati da altre estensioni per eseguire azioni relative al profilo. Un esempio è l’estensione Rules Engine che utilizza i dati del profilo ed esegue le regole in base ai dati del profilo. Ulteriori informazioni sull'estensione profilo nella documentazione

IMPORTANT
La funzionalità di profilo descritta in questa lezione è distinta dalla funzionalità Profilo cliente in tempo reale nelle applicazioni basate su Adobe Experience Platform e Platform.

Prerequisiti

  • L'app con gli SDK installati e configurati è stata creata ed eseguita correttamente.

Obiettivi di apprendimento

In questa lezione verranno fornite le seguenti informazioni:

  • Imposta o aggiorna gli attributi utente.
  • Recuperare gli attributi utente.

Impostare e aggiornare gli attributi utente

Sarebbe utile che il targeting e la personalizzazione dell’app sapessero rapidamente se un utente ha effettuato un acquisto in passato o di recente. Impostiamolo nell’app Luma.

iOS
  1. Passa a Luma > Luma > Utils > MobileSDK nel navigatore progetti Xcode e trova la funzione func updateUserAttribute(attributeName: String, attributeValue: String). Aggiungi il seguente codice:

    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)
    

    Questo codice:

    1. Imposta un dizionario vuoto denominato profileMap.

    2. Aggiunge un elemento al dizionario utilizzando attributeName (ad esempio isPaidUser) e attributeValue (ad esempio yes).

    3. Utilizza il dizionario profileMap come valore per il parametro attributeDict della chiamata API UserProfile.updateUserAttributes.

  2. Passa a Luma > Luma > Views > Products > ProductView nel navigatore progetti Xcode e trova la chiamata a updateUserAttributes (all'interno del codice per il pulsante Acquisti Carta di credito ). Aggiungi il seguente codice:

    code language-swift
    // Update attributes
    MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
    
Android
  1. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK nel navigatore di Android Studio e trova la funzione func updateUserAttribute(attributeName: String, attributeValue: String). Aggiungi il seguente codice:

    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)
    

    Questo codice:

    1. Imposta una mappa vuota denominata profileMap.

    2. Aggiunge un elemento alla mappa utilizzando attributeName (ad esempio isPaidUser) e attributeValue (ad esempio yes).

    3. Utilizza la mappa profileMap come valore per il parametro attributeDict della chiamata API UserProfile.updateUserAttributes.

  2. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > visualizzazioni > ProductView.kt e trova la chiamata a updateUserAttributes (all'interno del codice per il pulsante Acquisti CreditCard ). Aggiungi il seguente codice:

    code language-kotlin
    // Update attributes
    MobileSDK.shared.updateUserAttribute("isPaidUser", "yes")
    

Ottieni attributi utente

Dopo aver aggiornato l’attributo di un utente, questo è disponibile per altri SDK di Adobe, ma puoi anche recuperare gli attributi in modo esplicito, per consentire all’app di comportarsi come desideri.

iOS
  1. Passa a Luma > Luma > Views > General > HomeView nel navigatore progetti Xcode e trova il modificatore .onAppear. Aggiungi il seguente codice:

    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
            }
        }
    }
    

    Questo codice:

    1. Chiama l'API UserProfile.getUserAttributes con il nome attributo isPaidUser come singolo elemento nell'array attributeNames.
    2. Verifica quindi il valore dell'attributo isPaidUser e, quando yes, inserisce un badge nell'icona UserCheckedOut nella barra degli strumenti in alto a destra.
Android
  1. Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.androi > views > HomeView.kt nel Navigatore progetti di Android Studio e trova il modificatore .onAppear. Aggiungi il seguente codice:

    code language-kotlin
    // Get attributes
    UserProfile.getUserAttributes(listOf("isPaidUser")) { attributes ->
        showBadgeForUser = attributes?.get("isPaidUser") == "yes"
    }
    

    Questo codice:

    1. Chiama l'API UserProfile.getUserAttributes con il nome attributo isPaidUser come singolo elemento nell'array attributeNames.
    2. Verifica quindi il valore dell'attributo isPaidUser. Quando yes, il codice sostituisce l'icona della persona con un'icona del badge nella barra degli strumenti in alto a destra.

Per ulteriori informazioni, consulta il riferimento API.

Convalidare con Assurance

  1. Consulta la sezione istruzioni di installazione per collegare il simulatore o il dispositivo ad Assurance.
  2. Esegui l’app per accedere e interagire con un prodotto.
iOS
  1. Seleziona Home nella barra delle schede.

  2. Sposta l’icona Assurance a sinistra.

  3. Per aprire il foglio di accesso, selezionare il pulsante Utente .

    {width="300"}

  4. Per inserire un'e-mail casuale e un ID cliente, selezionare A Pulsante | .

  5. Seleziona Accesso.

    {width="300"}

  6. Selezionare Products nella barra delle schede.

  7. Seleziona un prodotto.

  8. Seleziona Cuore .

  9. Seleziona ShoppingCart .

  10. Seleziona Carta di credito .

    {width="300"}

  11. Torna alla schermata Home. Dovresti notare che è stato aggiunto un distintivo UserCheckedOut .

    {width="300"}

Android
  1. Seleziona Home nella barra delle schede.

  2. Sposta l’icona Assurance a sinistra.

  3. Per aprire il foglio di accesso, selezionare il pulsante Utente .

    {width="300"}

  4. Per inserire un'e-mail casuale e un ID cliente, seleziona Genera e-mail casuale.

  5. Seleziona Accesso.

    {width="300"}

  6. Selezionare Products nella barra delle schede.

  7. Seleziona un prodotto.

  8. Seleziona ThumbUp

  9. Seleziona ShoppingCart .

  10. Seleziona Carta di credito .

    {width="300"}

  11. Torna alla schermata Home. Dovresti vedere che l’icona della persona è stata aggiornata.

    {width="300"}

Nell'interfaccia utente di Assurance, dovresti visualizzare UserProfileUpdate e getUserAttributes eventi con il valore profileMap aggiornato.

convalida profilo {modal="regular"}

SUCCESS
Ora hai impostato la tua app per aggiornare gli attributi dei profili in Edge Network e (se configurato) in Adobe Experience Platform.
Grazie per aver dedicato tempo all'apprendimento di Adobe Experience Platform Mobile SDK. Se hai domande, vuoi condividere commenti generali o suggerimenti su contenuti futuri, condividili in questo post di discussione della community Experience League.

Successivo: Usa luoghi

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b