위치 사용

앱에서 위치 지리적 위치 서비스를 사용하는 방법을 알아봅니다.

Adobe Experience Platform 데이터 수집 위치 서비스 는 위치를 인식하는 모바일 앱이 위치 컨텍스트를 이해할 수 있도록 해주는 지리적 위치 서비스입니다. 이 서비스는 유연한 관심 영역(POI) 데이터베이스를 동반하는 풍부하고 사용하기 쉬운 SDK 인터페이스를 사용합니다.

전제 조건

  • 모든 패키지 종속성은 Xcode 프로젝트에 있습니다.
  • AppDelegate에 등록된 확장입니다.
  • 개발 appId를 사용하도록 MobileCore를 구성했습니다.
  • 가져온 SDK.
  • 위의 변경 사항으로 앱을 빌드하고 실행했습니다.

학습 목표

이 단원에서는 다음과 같은 작업을 수행합니다

  • Places 서비스의 관심 영역을 정의하는 방법을 이해합니다.
  • Places 확장으로 태그 속성을 업데이트합니다.
  • 스키마를 업데이트하여 지리적 위치 이벤트를 캡처합니다.
  • Assurance에서 설정의 유효성을 검사합니다.
  • 앱을 업데이트하여 Places 확장을 등록합니다.
  • 앱의 위치 서비스에서 지리적 위치 추적을 구현합니다.

설정

Places 서비스가 앱 및 Mobile SDK 내에서 작동하려면 일부 설정을 수행해야 합니다.

위치 정의

Places 서비스에서 일부 관심 영역을 정의합니다.

  1. 데이터 수집 UI에서 위치 ​를 선택합니다.
  2. 자세히 를 선택하세요.
  3. 컨텍스트 메뉴에서 라이브러리 관리 ​를 선택합니다.
    라이브러리 관리
  4. 라이브러리 관리 대화 상자에서 새로 만들기 ​를 선택합니다.
  5. 라이브러리 만들기 대화 상자에서 이름(예: Luma)을 입력하십시오.
  6. 확인 ​을 선택합니다.
    라이브러리 만들기
  7. 라이브러리 관리 대화 상자를 닫으려면 닫기 ​를 선택합니다.
  8. POI 관리 ​로 돌아가서 POI 가져오기 ​를 선택하십시오.
  9. 위치 가져오기 대화 상자에서 시작 ​을 선택합니다.
  10. 라이브러리 목록에서 Luma ​을(를) 선택합니다.
  11. 다음 ​을 선택합니다.
    라이브러리 선택
  12. Luma POIs ZIP 파일을 다운로드하고 컴퓨터의 위치에 추출합니다.
  13. 위치 가져오기 대화 상자에서 추출한 luma_pois.csv 파일을 CSV 파일 선택 - 파일 드래그 앤 드롭 ​에 끌어다 놓습니다. 유효성 검사 성공 - CSV 파일의 유효성을 검사했습니다 ​가 표시됩니다.
  14. 가져오기 시작 ​을 선택합니다. 성공 - 6개의 새 POI를 추가함 ​이 표시됩니다.
  15. 완료 ​를 선택합니다.
  16. POI 관리 ​에서 6개의 새로운 Luma 스토어가 목록에 추가됩니다. 목록 목록과 맵 맵 보기 간에 전환할 수 있습니다.
    위치 목록 .

위치 확장 설치

  1. 태그(으)로 이동하여 모바일 태그 속성을 찾은 다음 속성을 엽니다.

  2. 확장 ​을 선택하십시오.

  3. 카탈로그 ​를 선택하십시오.

  4. Places 확장을 검색합니다.

  5. 확장을 설치합니다.

    의사 결정 확장 추가

  6. 확장 설치 대화 상자에서:

    1. 라이브러리 선택 목록에서 Luma ​을(를) 선택합니다.

    2. 작업 라이브러리(예: 초기 빌드)를 선택했는지 확인하십시오.

    3. 라이브러리에 저장 ​에서 라이브러리 및 빌드에 저장 ​을 선택합니다.

      위치 확장 설치 .

  7. 라이브러리가 다시 빌드되었습니다.

스키마 확인

스키마 만들기에 정의된 대로 스키마에 POI 및 지리적 위치 데이터를 수집하는 데 필요한 필드 그룹 및 클래스가 포함되어 있는지 확인합니다.

  1. 데이터 수집 인터페이스로 이동하여 왼쪽 레일에서 스키마 ​를 선택합니다.
  2. 상단 표시줄에서 찾아보기 ​를 선택합니다.
  3. 스키마를 선택하여 엽니다.
  4. 스키마 편집기에서 소비자 경험 이벤트 ​를 선택합니다.
  5. POI 인터랙션 및 지리적 위치 데이터를 캡처할 개체 및 필드가 있는 placeContext 개체가 표시됩니다.
    스키마 위치 .

태그 속성 업데이트

태그에 대한 위치 확장 기능은 지리적 위치 이벤트를 모니터링하고 이러한 이벤트를 기반으로 작업을 트리거할 수 있는 기능을 제공합니다. 이 기능을 사용하면 앱에서 구현해야 하는 API 코딩을 최소화할 수 있습니다.

데이터 요소

먼저 여러 데이터 요소를 만듭니다.

  1. 데이터 수집 UI에서 태그 속성으로 이동합니다.

  2. 왼쪽 레일에서 데이터 요소 ​를 선택합니다.

  3. 데이터 요소 추가 ​를 선택합니다.

  4. 데이터 요소 만들기 화면에서 Name - Entered과(와) 같은 이름을 입력하십시오.

  5. 확장 목록에서 위치 ​를 선택합니다.

  6. 데이터 요소 형식 목록에서 이름 ​을(를) 선택하십시오.

  7. TARGET 아래에서 현재 POI ​를 선택하십시오.

  8. 라이브러리에 저장 ​을 선택합니다.
    데이터 요소

  9. 아래 표의 정보를 사용하여 4~8단계를 반복하여 추가 데이터 요소를 만듭니다.

    table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4
    이름 확장 기능 데이터 요소 유형 TARGET
    Name - Exited 장소 이름 마지막으로 종료한 POI
    Category - Current 장소 카테고리 현재 POI
    Category - Exited 장소 카테고리 마지막으로 종료한 POI
    City - Current 장소 구/군/시 현재 POI
    City - Exited 장소 구/군/시 마지막으로 종료한 POI

    다음 데이터 요소 목록이 있어야 합니다.

    데이터 요소 목록

규칙

그런 다음 이러한 데이터 요소로 작업할 규칙을 정의합니다.

  1. 태그 속성의 왼쪽 레일에서 규칙 ​을 선택합니다.

  2. 규칙 추가 ​를 선택합니다.

  3. 규칙 만들기 화면에서 규칙 이름(예: POI - Entry)을 입력하십시오.

  4. 이벤트 아래의 추가 를 선택하십시오.

    1. 확장 목록에서 위치 ​를 선택하고 이벤트 유형 목록에서 POI 입력 ​을 선택합니다.

    2. 변경 내용 유지 ​를 선택합니다.

      이벤트 태그 .

  5. 작업 아래의 추가 을(를) 선택하십시오.

    1. 확장 목록에서 Mobile Core ​를 선택하고 작업 유형 ​에서 데이터 첨부 ​를 선택합니다. 이 작업은 페이로드 데이터를 첨부합니다.

    2. JSON 페이로드 ​에 다음 페이로드를 붙여 넣습니다.

      code language-json
      {
          "xdm": {
              "eventType": "location.entry",
              "placeContext": {
                  "geo": {
                      "city": "{%%City - Current%%}"
                  },
                  "POIinteraction": {
                      "poiDetail": {
                          "name": "{%%Name - Current%%}",
                          "category": "{%%Category - Current%%}"
                      },
                      "poiEntries": {
                          "value": 1
                      }
                  }
              }
          }
      }
      

      데이터 을(를) 선택하여 JSON에 {%% ... %%} 데이터 요소 자리 표시자 값을 삽입할 수도 있습니다. 팝업 대화 상자를 통해 만든 데이터 요소를 선택할 수 있습니다.

    3. 변경 내용 유지 ​를 선택합니다.

      태그 작업

  6. Mobile Core - 데이터 첨부 작업 옆에 있는 추가 를 선택합니다.

    1. 확장 목록에서 Adobe Experience Platform Edge Network ​을 선택하고 Edge Network으로 이벤트 전달 ​을 선택합니다. 이 작업을 수행하면 이벤트와 추가 페이로드 데이터가 플랫폼 Edge Network으로 전달됩니다.
    2. 변경 내용 유지 ​를 선택합니다.
  7. 규칙을 저장하려면 라이브러리에 저장 ​을 선택합니다.

    규칙

다른 규칙을 만들어 보겠습니다

  1. 규칙 만들기 화면에서 규칙 이름(예: POI - Exit)을 입력하십시오.

  2. 이벤트 아래의 추가 를 선택하십시오.

    1. 확장 목록에서 위치 ​를 선택하고 이벤트 유형 목록에서 POI 종료 ​를 선택합니다.
    2. 변경 내용 유지 ​를 선택합니다.
  3. 작업 아래의 추가 을(를) 선택하십시오.

    1. 확장 목록에서 Mobile Core ​을 선택하고 작업 유형 목록에서 데이터 첨부 ​를 선택합니다.

    2. JSON 페이로드 ​에 다음 페이로드를 붙여 넣습니다.

      code language-json
      {
          "xdm": {
              "eventType": "location.exit",
              "placeContext": {
                  "geo": {
                      "city": "{%%City - Exited%%}"
                  },
                  "POIinteraction": {
                      "poiExits": {
                          "value": 1
                      },
                      "poiDetail": {
                          "name": "{%%Name - Exited%%}",
                          "category": "{%%Category - Exited%%}"
                      }
                  }
              }
          }
      }
      
    3. 변경 내용 유지 ​를 선택합니다.

  4. Mobile Core - 데이터 첨부 작업 옆에 있는 추가 를 선택합니다.

    1. 확장 목록에서 Adobe Experience Platform Edge Network ​을 선택하고 Edge Network으로 이벤트 전달 ​을 선택합니다.
    2. 변경 내용 유지 ​를 선택합니다.
  5. 규칙을 저장하려면 라이브러리에 저장 ​을 선택합니다.

    규칙

태그의 모든 변경 사항이 게시되도록 하려면

  1. 빌드할 라이브러리로 초기 빌드 ​를 선택합니다.
  2. 빌드 ​를 선택합니다.
    라이브러리 빌드

Assurance에서 설정 확인

Assurance에서 설정을 확인하려면:

  1. Assurance UI로 이동합니다.
  2. 왼쪽 레일에서 아직 사용할 수 없는 경우 왼쪽 레일에서 구성 ​을 선택하고 이벤트 옆의 추가 을(를) 선택한 다음 장소 서비스 아래의 맵 및 시뮬레이션 ​을(를) 선택합니다.
  3. 저장 ​을 선택합니다.
  4. 왼쪽 레일에서 맵 및 시뮬레이션 ​을 선택합니다.
  5. 지도를 POI 중 하나의 위치로 이동합니다.
  6. 톱니바퀴 부하 POI를 시뮬레이션하도록 선택합니다. POI는 원과 핀을 사용하여 식별됩니다.
  7. POI를 선택합니다.
  8. 팝업에서 톱니바퀴 시작 이벤트 시뮬레이션 ​을 선택합니다.
    시작 이벤트 시뮬레이션
  9. 왼쪽 레일에서 이벤트 ​를 선택하면 시뮬레이션한 이벤트가 표시됩니다.
    AJO 의사 결정 유효성 검사

앱의 위치 구현

이전 단원에서 설명한 대로 모바일 태그 확장을 설치하면 구성만 제공됩니다. 그런 다음 Places SDK를 설치하고 등록해야 합니다. 이 단계가 명확하지 않으면 SDK 설치 섹션을 검토하십시오.

NOTE
SDK 설치 섹션을 완료한 경우 위치 SDK가 이미 설치되어 있으므로 이 단계를 건너뛸 수 있습니다.
  1. Xcode에서 AEP Places이(가) 패키지 종속 항목의 패키지 목록에 추가되어 있는지 확인하십시오. Swift 패키지 관리자를 참조하세요.

  2. Xcode 프로젝트 탐색기에서 Luma > Luma > AppDelegate(으)로 이동합니다.

  3. AEPPlaces이(가) 가져오기 목록의 일부인지 확인하십시오.

    code language-swift
    import AEPPlaces
    
  4. Places.self이(가) 등록 중인 확장 배열의 일부인지 확인하십시오.

    code language-swift
    let extensions = [
        AEPIdentity.Identity.self,
        Lifecycle.self,
        Signal.self,
        Edge.self,
        AEPEdgeIdentity.Identity.self,
        Consent.self,
        UserProfile.self,
        Places.self,
        Messaging.self,
        Optimize.self,
        Assurance.self
    ]
    
  5. Xcode 프로젝트 탐색기에서 Luma > Luma > Utils > MobileSDK(으)로 이동하여 func processRegionEvent(regionEvent: PlacesRegionEvent, forRegion region: CLRegion) async 함수를 찾습니다. 다음 코드를 추가합니다.

    code language-swift
    // Process geolocation event
    Places.processRegionEvent(regionEvent, forRegion: region)
    

    Places.processRegionEvent API는 지리적 위치 정보를 Places 서비스에 전달합니다.

  6. Xcode의 프로젝트 탐색기에서 Luma > Luma > Views > Location > GeofenceSheet(으)로 이동합니다.

    1. [입력] 단추에 다음 코드를 입력합니다
    code language-swift
    // Simulate geofence entry event
    Task {
        await MobileSDK.shared.processRegionEvent(regionEvent: .entry, forRegion: region)
    }
    
    1. Exit 단추에 다음 코드를 입력합니다
    code language-swift
    // Simulate geofence exit event
    Task {
        await MobileSDK.shared.processRegionEvent(regionEvent: .exit, forRegion: region)
    }
    

앱을 사용하여 유효성 검사

  1. 장치 또는 시뮬레이터에서 앱을 엽니다.

  2. 위치 탭으로 이동합니다.

  3. 맵을 이동하고(드래그) POI 중 하나(예: 런던) 위에 파란색 중간 원이 있는지 확인합니다.

  4. 누르기 {width="20"} 범주와 이름이 빨간색 위치에 있는 레이블에 표시될 때까지(pin 사용).

  5. POI의 레이블을 탭하여 주변 POI 시트를 엽니다.

    {width="300"}

  6. 시작 또는 종료 단추를 눌러 앱에서 지오펜스 시작 및 지오펜스 종료 이벤트를 시뮬레이션합니다.

    {width="300"}

  7. 보증 UI에 이벤트가 표시됩니다.

다음 단계

이제 앱에서 지리적 위치 기능에 더 많은 기능을 추가하려면 모든 도구가 있어야 합니다. 이벤트를 Edge Network에 전달했으므로 Experience Platform에 대해 앱을 설정한 후에는 앱에 사용된 프로필에 대해 경험 이벤트가 표시되는 것을 볼 수 있습니다.

이 자습서의 Journey Optimizer 섹션에서 여정을 트리거하는 데 경험 이벤트를 사용할 수 있습니다(푸시 알림 및 Journey Optimizer을 사용한 인앱 메시지 참조). 예를 들어 앱 사용자가 실제 스토어의 geofence에 들어오면 일부 제품 프로모션과 함께 푸시 알림을 전송하는 일반적인 사례입니다.

주로 태그 속성에서 정의한 Places 서비스 및 데이터 요소와 규칙에 의해 앱에 대한 기능이 구현된 것을 보았습니다. 따라서 앱의 코드를 최소화합니다. 또는 채워진 placeContext 개체가 포함된 XDM 페이로드와 함께 Edge.sendEvent API(자세한 내용은 이벤트 참조)를 사용하여 앱에서 직접 동일한 기능을 구현할 수 있습니다.

SUCCESS
이제 Experience Platform Mobile SDK에서 위치 확장 기능을 사용하여 지리적 위치 서비스용 앱을 활성화했습니다.
Adobe Experience Platform Mobile SDK에 대해 학습하는 데 시간을 투자해 주셔서 감사합니다. 질문이 있거나 일반적인 피드백을 공유하고 싶거나 향후 콘텐츠에 대한 제안이 있는 경우 이 Experience League 커뮤니티 토론 게시물에서 공유하십시오.

다음: Adobe Analytics에 데이터 매핑

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