프로필 데이터 수집

모바일 앱에서 프로필 데이터를 수집하는 방법을 알아봅니다.

프로필 확장 기능을 사용하여 클라이언트에 사용자 관련 속성을 저장할 수 있습니다. 이 정보는 최적의 성능을 위해 서버에 연결할 필요 없이 나중에 온라인 또는 오프라인 시나리오 중에 메시지를 타겟팅하고 개인화하는 데 사용할 수 있습니다.

프로필 확장은 CSOP(클라이언트측 작업 프로필)를 관리하고, API에 대응하는 방법을 제공하고, 사용자 프로필 속성을 업데이트하고, 사용자 프로필 속성을 생성된 이벤트로 나머지 시스템과 공유합니다.

프로필 데이터는 다른 확장에서 프로필 관련 작업을 수행하는 데 사용됩니다. 프로필 데이터를 사용하고 프로필 데이터를 기반으로 규칙을 실행하는 규칙 엔진 확장의 예를 들 수 있습니다. 설명서에서 프로필 확장에 대해 자세히 알아보세요

IMPORTANT
이 단원에서 설명하는 프로필 기능은 Adobe Experience Platform 및 플랫폼 기반 애플리케이션의 실시간 고객 프로필 기능과 별개입니다.

전제 조건

  • SDK가 설치 및 구성된 앱을 빌드하고 실행했습니다.

학습 목표

이 단원에서는 다음 작업을 수행합니다.

  • 사용자 속성을 설정하거나 업데이트합니다.
  • 사용자 속성을 검색합니다.

사용자 특성 설정 및 업데이트

사용자가 과거에 또는 최근에 구매했는지 여부를 앱에서 빠르게 알 수 있도록 타겟팅 및 개인화하는 데 도움이 될 것입니다. Luma 앱에서 설정해 보겠습니다.

iOS
  1. Xcode 프로젝트 탐색기에서 Luma > Luma > Utils > MobileSDK(으)로 이동하여 func updateUserAttribute(attributeName: String, attributeValue: String) 함수를 찾습니다. 다음 코드를 추가합니다.

    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)
    

    이 코드:

    1. profileMap(이)라는 빈 사전을 설정합니다.

    2. attributeName(예: isPaidUser) 및 attributeValue(예: yes)을(를) 사용하여 사전에 요소를 추가합니다.

    3. profileMap 사전을 attributeDictUserProfile.updateUserAttributes API 호출의매개 변수에 대한 값으로 사용합니다.

  2. Xcode Project 탐색기에서 Luma > Luma > Views > Products > ProductView(으)로 이동하여 updateUserAttributes(구매 신용 카드 단추 코드 내)에 대한 호출을 찾습니다. 다음 코드를 추가합니다.

    code language-swift
    // Update attributes
    MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
    
Android
  1. Android Studio 탐색기에서 Android VDown > app > kotlin+java > com.adobe.luma.tutorial.android > 모델 > MobileSDK(으)로 이동하여 func updateUserAttribute(attributeName: String, attributeValue: String) 함수를 찾습니다. 다음 코드를 추가합니다.

    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)
    

    이 코드:

    1. 이름이 profileMap인 빈 맵을 설정합니다.

    2. attributeName(예: isPaidUser) 및 attributeValue(예: yes)을(를) 사용하여 맵에 요소를 추가합니다.

    3. profileMap 맵을 attributeDictUserProfile.updateUserAttributes API 호출의매개 변수에 대한 값으로 사용합니다.

  2. Android VDown > app > kotlin+java > com.adobe.luma.tutorial.android > 보기 > ProductView.kt(으)로 이동하여 updateUserAttributes(구매 신용 카드 단추 코드 내)에 대한 호출을 찾습니다. 다음 코드를 추가합니다.

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

사용자 속성 가져오기

사용자의 속성을 업데이트하면 다른 Adobe SDK에서 사용할 수 있지만, 속성을 명시적으로 검색하여 앱이 원하는 대로 동작하도록 할 수도 있습니다.

iOS
  1. Xcode 프로젝트 탐색기에서 Luma > Luma > Views > General > HomeView(으)로 이동하여 .onAppear 수정자를 찾습니다. 다음 코드를 추가합니다.

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

    이 코드:

    1. UserProfile.getUserAttributes 배열에서 단일 요소로특성 이름이 있는 isPaidUser attributeNames API를 호출합니다.
    2. 그런 다음 isPaidUser 특성 값을 확인하고 yes일 때 오른쪽 상단의 도구 모음에 있는 UserCheckedOut 아이콘에 배지를 넣습니다.
Android
  1. Android Studio 프로젝트 탐색기에서 Android VDown > app > kotlin+java > com.adobe.luma.tutorial.androi > views > HomeView.kt(으)로 이동하여 .onAppear 수정자를 찾습니다. 다음 코드를 추가합니다.

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

    이 코드:

    1. UserProfile.getUserAttributes 배열에서 단일 요소로특성 이름이 있는 isPaidUser attributeNames API를 호출합니다.
    2. 그런 다음 isPaidUser 특성의 값을 확인합니다. yes에서 코드는 오른쪽 상단의 도구 모음에 있는 사람 아이콘을 배지 아이콘으로 바꿉니다.

자세한 내용은 API 참조를 참조하십시오.

Assurance를 사용한 유효성 검사

  1. 설치 지침 섹션을 검토하여 시뮬레이터 또는 장치를 Assurance에 연결하십시오.
  2. 앱을 실행하여 로그인하고 제품과 상호 작용합니다.
iOS
  1. 탭 표시줄에서 ​을(를) 선택합니다.

  2. Assurance 아이콘을 왼쪽으로 이동합니다.

  3. 로그인 시트를 열려면 사용자 버튼을 선택합니다.

    {width="300"}

  4. 임의의 전자 메일과 고객 ID를 삽입하려면 A를 선택합니다. | 단추 .

  5. 로그인 ​을 선택합니다.

    {width="300"}

  6. 탭 표시줄에서 Products ​을(를) 선택합니다.

  7. 제품 하나를 선택하십시오.

  8. 하트 를 선택하세요.

  9. 장바구니 를 선택하십시오.

  10. 신용 카드 를 선택하십시오.

    {width="300"}

  11. 화면으로 돌아갑니다. UserCheckedOut 배지가 추가되었습니다.

    {width="300"}

Android
  1. 탭 표시줄에서 ​을(를) 선택합니다.

  2. Assurance 아이콘을 왼쪽으로 이동합니다.

  3. 로그인 시트를 열려면 사용자 버튼을 선택합니다.

    {width="300"}

  4. 무작위 전자 메일 및 고객 ID를 삽입하려면 무작위 전자 메일 생성 을 선택합니다.

  5. 로그인 ​을 선택합니다.

    {width="300"}

  6. 탭 표시줄에서 Products ​을(를) 선택합니다.

  7. 제품 하나를 선택하십시오.

  8. ThumbUp 선택

  9. 장바구니 를 선택하십시오.

  10. 신용 카드 를 선택하십시오.

    {width="300"}

  11. 화면으로 돌아갑니다. 개인 아이콘이 업데이트되었는지 확인해야 합니다.

    {width="300"}

Assurance UI에 업데이트된 값이 있는 UserProfileUpdate getUserAttributesprofileMap 이벤트가 표시됩니다.

프로필 유효성 검사 {modal="regular"}

SUCCESS
이제 Adobe Experience Platform 및 (설정 시) Edge Network에서 프로필의 속성을 업데이트하도록 앱을 설정했습니다.
Adobe Experience Platform Mobile SDK에 대해 학습하는 데 시간을 투자해 주셔서 감사합니다. 질문이 있거나 일반적인 피드백을 공유하고 싶거나 향후 콘텐츠에 대한 제안이 있는 경우 이 Experience League 커뮤니티 토론 게시물에서 공유하십시오.

다음: 위치 사용

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