Adobe Experience Platform Mobile SDK 설치

이 단원에서는 태그 속성의 개발 환경에 해당하는 확장 및 설정으로 Mobile SDK를 구현합니다.

노트

Adobe Experience Platform Launch은 데이터 수집 기술 세트로 Adobe Experience Platform에 통합되고 있습니다. 인터페이스에서 이 컨텐츠를 사용하는 동안 알고 있어야 하는 몇 가지 용어 변경 사항이 롤아웃되었습니다.

  • platform launch(클라이언트측)는 이제 tags​입니다.
  • platform launch 서버 측은 이제 event forwarding​입니다.
  • 에지 구성은 이제 datastreams

학습 목표

이 단원을 마치면 다음을 수행할 수 있습니다.

  • 모바일 태그 속성에 대한 설치 지침 획득
  • 개발, 스테이징 및 프로덕션 환경의 차이점 이해
  • Podfile 만들기 및 편집
  • Mobile SDK를 AppDelegate 파일에 가져오기
  • SDK가 성공적으로 구현되었는지 확인

설치 지침 받기

모바일 태그 속성에 대한 설치 지침은 터미널에서 실행하거나 모바일 앱에서의 특정 위치에 추가하는 코드 조각 컬렉션입니다.

위쪽 탐색의 Environments 탭을 클릭하여 환경 페이지로 이동합니다. 개발, 스테이징 및 프로덕션 환경은 사용자를 위해 사전에 만들어졌습니다. 이러한 환경은 코드 개발 및 릴리스 프로세스의 일반적인 환경에 해당합니다. 코드는 개발 환경에서 개발자가 처음 작성합니다. 개발자가 코드 작업을 마치면 QA 및 다른 팀이 검토할 수 있도록 스테이징 환경으로 보냅니다. QA와 다른 팀이 만족하면 코드가 프로덕션 환경에 게시됩니다. 이 환경은 방문자가 앱을 다운로드할 때 경험하는 공개 환경입니다.

태그는 추가적인 개발 환경을 허용하는데, 이 기능은 여러 개발자가 동시에 서로 다른 프로젝트에서 작업하는 대기업에서 유용합니다.

개발, 스테이징 및 프로덕션은 자습서를 완료하는 데 필요한 유일한 환경입니다.

위쪽 탐색에서 Environments 클릭

Development 행에서 Install 아이콘 Install 아이콘을 클릭하여 포함 코드 모달을 엽니다.

아이콘을 클릭하여 포함 코드 모달 열기

지침을 단계별로 살펴보겠습니다.

Podfile 만들기 및 Pod 설치

이전에 웹 사이트에서 태그 속성을 사용한 적이 있는 경우, 가장 먼저 눈에 띄는 것은 웹 속성에 대한 정보보다 훨씬 더 많은 정보가 이 모달에 있다는 것입니다.

iOS용 Adobe Mobile SDK는 CocoaPod를 사용하여 다양한 구성 요소 간의 종속성을 관리합니다. 개발 환경에 CocoaPod가 설치되어 있지 않은 경우 해당 웹 사이트의 설치 지침을 따르십시오. 또한 버스 예약 앱을 아직 다운로드하지 않았다면 로컬 컴퓨터에 저장하고 zip 아카이브를 바탕 화면에 추출합니다.

Podfile을 만들려면

  1. Mac®에서 Terminal 애플리케이션을 엽니다.

  2. 버스 예약 Objective-C 앱을 저장한 프로젝트 폴더(예: cd Desktop/busbooking-mobileapps-master/Objective-C/)로 이동합니다.

    프로젝트 디렉토리로 이동

  3. 데이터 수집 인터페이스에서 운영 체제를 iOS(으)로 변경합니다.

  4. Copy 아이콘을 클릭하여 첫 번째 iOS 명령 pod init를 복사합니다.

    데이터 수집 인터페이스에서 클립보드에 pod init 복사

  5. 터미널 앱에서 pod init 명령을 실행하고 완료될 때까지 기다립니다.

    pod init 실행

  6. 터미널 앱에서 open podfile 명령을 사용하여 Podfile을 엽니다.

    열린 Podfile 실행

  7. 컴퓨터에서 podfile을 열 애플리케이션을 묻는 대화 상자가 열릴 수 있습니다. TextEdit과 같은 텍스트 편집기를 선택합니다.

  8. 데이터 수집 인터페이스에서 복사 아이콘을 클릭하여 종속성 목록을 복사합니다. 이전 단원에서 추가한 각 확장에 해당하는 줄이 어떻게 있는지 주목하십시오. 각 확장에는 Mobile Core 확장을 기반으로 빌드되고 앱 업데이트로만 추가 또는 제거할 수 있는 자체 코드 세트가 있습니다.

    데이터 수집 인터페이스에서 클립보드에 종속성 복사

  9. 텍스트 편집기에서 # Pods for BusBookingObjectiveC 줄 바로 뒤에 클립보드의 종속성을 붙여 넣습니다.

  10. 텍스트 편집기에서 Podfile에 대한 업데이트를 저장합니다.

    종속성 추가 및 저장

  11. 이제 텍스트 편집기를 닫아도 됩니다.

  12. 데이터 수집 인터페이스에서 Copy 아이콘을 클릭하여 다음 iOS 명령 pod repo update을(를) 복사합니다

    pod repo update 복사

  13. 터미널 앱에서 pod repo update 명령을 실행하고 완료될 때까지 기다립니다(2~3분 소요될 수 있음).

    pod repo update 실행

  14. 데이터 수집 인터페이스에서 Copy 아이콘을 클릭하여 다음 iOS 명령 pod install을(를) 복사합니다

    Data Collection 인터페이스에서 클립보드에 pod install 복사

  15. 터미널 앱에서 pod install 명령을 실행하고 완료될 때까지 기다립니다.

    pod install 실행

  16. 이제 터미널 창을 닫아도 됩니다.

  17. Finder 창을 열고 버스 예약 앱을 저장한 폴더로 이동한 다음, BusBookingObjectiveC.xcworkspace 파일, Podfile, Podfile.lock 파일 및 Pods 폴더가 만들어졌는지 확인합니다.

    Finder에서 pod 확인

AppDelegate 업데이트

이제 앱을 업데이트하여 SDK를 가져올 차례입니다.

  1. XCode에서 BusBookingObjectiveC.xcworkspace 파일을 엽니다.

  2. AppDelegate.m 파일을 엽니다.

    AppDelegate 파일 열기

  3. 데이터 수집 인터페이스에서 초기화 코드 추가 섹션으로 스크롤하고 사용 중인 iOS 언어로 Objective C 를 선택합니다.

  4. Add Initialization Code 섹션에서 첫 번째 Copy 아이콘을 클릭하여 가져오기 구문을 복사합니다.

    클립보드에 가져오기 구문 복사

  5. XCode에서 AppDelegate.h에 대한 가져오기 바로 뒤에 있는 AppDelegate.m 파일에 이 가져오기 구문들을 붙여 넣습니다.

    가져오기 구문을 AppDelegate 파일에 붙여넣기

  6. 데이터 수집 인터페이스에서 초기화 코드 추가 섹션에서 두 번째 Copy 아이콘을 클릭하여 Core 확장과 관련된 두 줄을 복사합니다. 첫 번째 줄은 콘솔 로깅 문을 켭니다(사용 가능한 옵션: "debug", "verbose", "warning" 및 "error"). 두 번째 줄은 태그 환경의 고유 식별자를 가리킵니다. 이것은 프로덕션 환경에 앱을 배포할 준비가 되면 이 값을 업데이트해야 하므로 중요합니다.

    클립보드에 Core 구문 복사

  7. XCode에서 이 Core 구문을 application(_:didFinishLaunchingWithOptions:) 메서드 맨 위에 있는 AppDelegate 파일에 붙여 넣습니다.

    Core 구문을 AppDelegate 파일에 붙여넣기

  8. 데이터 수집 인터페이스에서 Add Initialization Code 섹션에서 세 번째 Copy 아이콘을 클릭하여 확장 구문을 복사합니다.

    클립보드에 확장 구문 복사

  9. XCode에서 이 확장 구문을 application(_:didFinishLaunchingWithOptions:) 메서드의 return true 줄 바로 앞에 있는 AppDelegate 파일에 붙여 넣습니다.

    확장 구문을 AppDelegate 파일에 붙여넣기

노트

데이터 수집 인터페이스에 제공된 모바일 설치 지침에는 Identity, Lifecycle 및 Signal 확장에 대한 가져오기 및 등록 구문과 라이프사이클 지표의 초기화가 포함됩니다. 이러한 확장은 Mobile Core 확장의 일부로 간주됩니다. 앱에서 이 확장을 사용하지 않으려면 이 확장과 관련된 다른 코드를 가져오거나 등록하거나 구현할 필요가 없습니다.

또한 이러한 확장을 사용할 때(예를 들어, 사용자가 배경/전경에서 앱을 실행할 때 라이프사이클 컬렉션을 일시 중지/다시 시작할 수 있음) 고려해야 하는 추가적인 구현 옵션이 있습니다. Mobile Core 확장 설명서에서 이에 대한 자세한 내용을 읽을 수 있습니다.

구현 확인

  1. XCode 프로젝트를 저장합니다.

  2. 앱을 실행하고 시뮬레이터에서 실행합니다. 시뮬레이터 장치가 구성되어 있지 않다면 지금 에뮬레이터 하나를 구성하되 iOS 10 이상을 실행하는 장치를 구성해야 합니다. 마우스로 Home 단추를 클릭하는 것이 쉽기 때문에 여기서는 iPhone 8 시뮬레이터를 사용하겠습니다.

    앱을 실행하고 에뮬레이터에서 실행

  3. 시뮬레이터가 실행되고 앱을 예약 화면으로 완전히 열 때까지 기다립니다(몇 분 정도 걸릴 수 있음).

    앱이 완전히 열릴 때까지 대기

  4. XCode 콘솔에서 호출이 Adobe 서버에 수행되는지 확인합니다.

    콘솔에서 호출 찾기

다음은 사용자가 찾을 수 있는 몇 가지 특정 호출의 예입니다.

  1. 태그 구성을 검색하기 위한 호출 (콘솔을 adobedtm.com로 필터링). 이전 단원에서 입력한 확장 구성에 주목하십시오. 확장을 추가하면 앱을 업데이트해야 하지만 이런 설정은 태그 외부에서 관리하고 언제든지 변경할 수 있습니다.

    2019-03-13 16:53:26.633816-0400 BusBookingObjectiveC[56630:3854917] [AMSDK DEBUG <RulesDownloader>]: Successfully downloaded Rules from 'https://assets.adobedtm.com/launch-EN360aefc739b04410816f751a95861744-development-rules.zip'
    
    {"target.propertyToken":"","target.timeout":5,"global.privacy":"optedin","analytics.backdatePreviousSessionInfo":true,"analytics.offlineEnabled":true,"build.environment":"dev","rules.url":"https://assets.adobedtm.com/launch-EN360aefc739b04410816f751a95861744-development-rules.zip","experienceCloud.org":"7ABB3E6A5A7491460A495D61@AdobeOrg","target.clientCode":"techmarketingdemos","target.autoFetch":true,"target.fetchBackground":false,"lifecycle.sessionTimeout":300,"target.environmentId":"busbookingapp","analytics.server":"tmd.sc.omtrdc.net","analytics.rsids":"tmd-mobile-dev1","analytics.batchLimit":0,"property.id":"PRb4881271498b4f2cbaf67d38a8f3891a","global.ssl":true,"analytics.aamForwardingEnabled":true}
    
  2. ID 서비스에 대한 요청(콘솔을 demdex.net으로 필터링) 이 예에서는 ID(d_mid)가 이미 설정되었으며 다시 보고되고 있습니다.

    2019-03-13 16:53:26.655908-0400 BusBookingObjectiveC[56630:3854937] [AMSDK DEBUG <com.adobe.module.identity>]:
    
    Sending request (https://dpm.demdex.net/id?d_rtbd=json&d_ver=2&d_orgid=7ABB3E6A5A7491460A495D61@AdobeOrg&d_mid=67027929491180584128922600814231770586)
    
  3. ID 서비스의 응답(콘솔을 ID Service로 필터링). mid 값이 위의 요청에서 d_mid 값과 어떻게 일치하는지 확인합니다.

    2019-03-13 16:53:27.397048-0400 BusBookingObjectiveC[56630:3854937] [AMSDK DEBUG <com.adobe.module.identity>]:
    
    ID Service - Got ID Response (mid: 67027929491180584128922600814231770586, blob: j8Odv6LonN4r3an7LhD3WZrU1bUpAkFkkiY1ncBR96t2PTI, hint: 9, ttl: "604800000 ms")
    
  4. Analytics 요청(콘솔을 Analytics request로 필터링)

    2019-03-13 16:53:27.689061-0400 BusBookingObjectiveC[56630:3855024] [AMSDK DEBUG <AnalyticsHitDatabase>]: Analytics request was sent with body
    
    (ndh=1&c.&a.&AppID=BusBookingObjectiveC%201%20%281.0%29&CarrierName=%28null%29&DailyEngUserEvent=DailyEngUserEvent&DayOfWeek=4&DeviceName=x86_64&HourOfDay=16&InstallDate=3%2F13%2F2019&InstallEvent=InstallEvent&LaunchEvent=LaunchEvent&Launches=1&MonthlyEngUserEvent=MonthlyEngUserEvent&OSVersion=iOS%2012.1&Resolution=750x1334&RunMode=Application&TimeSinceLaunch=1&internalaction=Lifecycle&locale=en-US&.a&.c&ce=UTF-8&cp=foreground&mid=67027929491180584128922600814231770586&pageName=BusBookingObjectiveC%201%20%281.0%29&pe=lnk_o&pev2=ADBINTERNAL%3ALifecycle&t=00%2F00%2F0000%2000%3A00%3A00%200%20240&ts=1552510406)
    

축하합니다. 모바일 앱에 SDK를 추가했습니다.

다음 "Adobe Experience Platform ID 서비스 추가" >

이 페이지에서는