Adobe Experience Platform Mobile SDK 설치 tutorial_install_mobile_sdks

모바일 앱에서 Adobe Experience Platform Mobile SDK를 구현하는 방법에 대해 알아봅니다.

전제 조건

학습 목표

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

  • 프로젝트에 필요한 SDK를 추가합니다.
  • 확장 등록.
NOTE
모바일 앱 구현에서는 용어 확장SDK ​을 거의 사용할 수 있습니다.
iOS

Swift 패키지 관리자

CocoaPod와 Pod 파일(SDK 설치 지침 생성에 설명된 대로)을 사용하는 대신 Xcode의 기본 Swift 패키지 관리자를 사용하여 개별 패키지를 추가합니다. Xcode 프로젝트에 이미 모든 패키지 종속성이 추가되었습니다. Xcode 패키지 종속성 화면은 다음과 같아야 합니다.

Xcode 패키지 종속성 {modal="regular"}

Xcode에서는 파일 > 패키지 추가… ​를 사용하여 패키지를 추가할 수 있습니다. 아래 표는 패키지를 추가하는 데 사용할 URL에 대한 링크를 제공합니다. 또한 링크는 각 특정 패키지에 대한 자세한 정보를 안내합니다.

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2
패키지 설명
AEP 코어

AEPCore, AEPServicesAEPIdentity 확장은 Adobe Experience Platform SDK의 기초를 나타냅니다. SDK을 사용하는 모든 앱에는 이러한 확장이 포함되어야 합니다. 이러한 모듈에는 모든 SDK 확장에 필요한 공통 기능 및 서비스 집합이 포함되어 있습니다.

  • AEPCore에 이벤트 허브의 구현이 포함되어 있습니다. 이벤트 허브는 앱과 SDK 간에 이벤트를 전달하는 데 사용되는 메커니즘입니다. 이벤트 허브는 확장 간에 데이터를 공유하는 데에도 사용됩니다.
  • AEPServices은(는) 네트워킹, 디스크 액세스 및 데이터베이스 관리를 포함하여 플랫폼 지원에 필요한 몇 가지 재사용 가능한 구현을 제공합니다.
  • AEPIdentity이(가) Adobe Experience Platform ID 서비스와의 통합을 구현합니다.
  • AEPSignal은(는) 마케터가 데이터를 외부 대상으로 보내거나 URL을 열기 위해 앱에 "신호"를 보낼 수 있는 Adobe Experience Platform SDK 신호 확장을 나타냅니다.
  • AEPLifecycle은(는) 응용 프로그램 설치 또는 업그레이드 정보, 응용 프로그램 시작 및 세션 정보, 장치 정보 및 응용 프로그램 개발자가 제공한 추가 컨텍스트 데이터와 같은 응용 프로그램 라이프사이클 지표를 수집하는 데 도움이 되는 Adobe Experience Platform SDK 라이프사이클 확장을 나타냅니다.
AEP Edge Adobe Experience Platform Edge Network 모바일 확장(AEPEdge)을 사용하면 모바일 애플리케이션에서 Adobe Edge Network로 데이터를 전송할 수 있습니다. 이 확장을 사용하면 보다 강력한 방식으로 Adobe Experience Cloud 기능을 구현하고, 하나의 네트워크 호출을 통해 여러 Adobe 솔루션을 제공하고, 동시에 이 정보를 Adobe Experience Platform에 전달할 수 있습니다.
Edge Network 모바일 확장 기능은 Adobe Experience Platform SDK의 확장 기능입니다. 확장을 사용하려면 이벤트를 처리하기 위한 AEPCoreAEPServices 확장과 ECID와 같은 ID를 검색하기 위한 AEPEdgeIdentity 확장이 필요합니다.
AEP Edge ID Adobe Experience Platform Edge Identity 모바일 확장(AEPEdgeIdentity)을 사용하면 Adobe Experience Platform SDK 및 Edge Network 확장을 사용할 때 모바일 애플리케이션에서 사용자 ID 데이터를 처리할 수 있습니다.
AEP Edge 동의 Adobe Experience Platform 동의 컬렉션 모바일 확장(AEPConsent)은 Adobe Experience Platform SDK 및 Edge Network 확장을 사용할 때 모바일 애플리케이션에서 동의 환경 설정 수집을 활성화합니다.
AEP 사용자 프로필 Adobe Experience Platform 사용자 프로필 모바일 확장(AEPUserProfile)은 Adobe Experience Platform SDK에 대한 사용자 프로필을 관리하기 위한 확장입니다.
AEP Places Adobe Experience Platform 위치 확장(AEPPlaces)을 사용하면 Adobe 위치 인터페이스 및 Adobe 데이터 수집 태그 규칙에 정의된 대로 지리적 위치 이벤트를 추적할 수 있습니다.
AEP 메시지 Adobe Experience Platform 메시징 확장(AEPMessaging)을 사용하면 푸시 알림 토큰과 푸시 알림 클릭스루 피드백을 Adobe Experience Platform에 보낼 수 있습니다.
AEP 최적화 Adobe Experience Platform 최적화 확장(AEPOptimize)은 Adobe Target 또는 Adobe Journey Optimizer Offer Decisioning을 사용하여 Adobe Experience Platform Mobile SDK에서 실시간 개인화 워크플로를 사용하도록 설정하는 API를 제공합니다. 개인화 쿼리 이벤트를 Experience Edge Network으로 보내려면 AEPCoreAEPEdge 확장이 필요합니다.
AEP Assurance Adobe Experience Platform Assurance은 모바일 앱에서 데이터를 수집하거나 경험을 제공하는 방법을 검사, 증명, 시뮬레이션 및 확인하는 데 도움이 되는 Adobe Experience Cloud의 제품입니다.

확장 가져오기

샘플 앱의 시작 폴더에서 프로젝트를 Xcode에서 엽니다.

Xcode에서 Luma > Luma > AppDelegate(으)로 이동하여 다음 가져오기가 이 소스 파일의 일부인지 확인하십시오.

code language-swift
// import AEP MobileSDK libraries
import AEPCore
import AEPServices
import AEPIdentity
import AEPSignal
import AEPLifecycle
import AEPEdge
import AEPEdgeIdentity
import AEPEdgeConsent
import AEPUserProfile
import AEPPlaces
import AEPMessaging
import AEPOptimize
import AEPAssurance

Luma > Luma > Utils > MobileSDK ​에 대해서도 동일한 작업을 수행합니다.

AppDelegate 업데이트

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

  1. @AppStorageYOUR_ENVIRONMENT_ID_GOES_HEREenvironmentFileId을(를) SDK 설치 지침 생성의 태그에서 검색한 환경 파일 ID 값으로 바꾸십시오.

    code language-swift
    @AppStorage("environmentFileId") private var environmentFileId = "YOUR_ENVIRONMENT_ID_GOES_HERE"
    
  2. application(_, didFinishLaunchingWithOptions) 함수에 다음 코드를 추가합니다.

    code language-swift
    // Define extensions
    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
    ]
    
    // Register extensions
    MobileCore.registerExtensions(extensions, {
        // Use the environment file id assigned to this application via Adobe Experience Platform Data Collection
        Logger.aepMobileSDK.info("Luma - using mobile config: \(self.environmentFileId)")
        MobileCore.configureWith(appId: self.environmentFileId)
    
        // set this to false or comment it when deploying to TestFlight (default is false),
        // set this to true when testing on your device.
        MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true])
        if appState != .background {
            // only start lifecycle if the application is not in the background
            MobileCore.lifecycleStart(additionalContextData: nil)
        }
    
        // assume unknown, adapt to your needs.
        MobileCore.setPrivacyStatus(.unknown)
    })
    

위의 코드는 다음을 수행합니다.

  1. 필요한 확장을 등록합니다.
  2. 태그 속성 구성을 사용하도록 MobileCore 및 기타 확장을 구성합니다.
  3. 디버그 로깅을 활성화합니다. 자세한 내용 및 옵션은 Adobe Experience Platform Mobile SDK 설명서에서 확인할 수 있습니다.
  4. 주기 모니터링을 시작합니다. 자세한 내용은 자습서의 주기 단계를 참조하십시오.
  5. 기본 동의를 알 수 없음으로 설정합니다. 자세한 내용은 자습서에서 동의 단계를 참조하십시오.

개발, 스테이징 또는 프로덕션용으로 빌드하고 있는 태그 환경의 MobileCore.configureWith(appId: self.environmentFileId)을(를) 기반으로 appId을(를) environmentFileId(으)로 업데이트하십시오.

Android

Gradle

Gradle과 SDK Studio의 통합을 사용하여 개별 패키지를 추가하려면 Android 설치 지침 생성의 종속성을 사용합니다. Android Studio 프로젝트에는 이미 추가된 모든 패키지 종속성이 있습니다.

  1. 도구로 FolderOutline 을(를) 선택하십시오.

  2. Android 보기를 선택하십시오.

  3. 왼쪽 창에서 Gradle 스크립트 > build.gradle.kts(모듈 :app) ​를 선택합니다. 그런 다음 오른쪽 창에서 dependencies이(가) 표시될 때까지 스크롤합니다.

    Android Gradle 종속성 {modal="regular"}

Android Studio에서 파일 > 프로젝트 구조… ​를 사용하여 모듈 종속성을 추가할 수 있습니다. 종속성 ​을(를) 선택한 다음 모듈 추가 를 사용하여 모듈을 추가하십시오. 아래 표는 종속성 모듈을 추가하는 데 사용할 URL에 대한 링크를 제공합니다. 또한 링크를 통해 각 특정 모듈에 대한 자세한 내용을 확인할 수 있습니다.

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2
패키지
com.adobe.
marketing.mobile:
설명
코어

MobileCoreIdentity 확장은 Adobe Experience Platform SDK의 기초를 나타냅니다. SDK을 사용하는 모든 앱에 이러한 기능이 포함되어야 합니다. 이러한 모듈에는 모든 SDK 확장에 필요한 공통 기능 및 서비스 세트가 포함되어 있습니다.

  • MobileCore에 이벤트 허브의 구현이 포함되어 있습니다. 이벤트 허브는 앱과 SDK 간에 이벤트를 전달하는 데 사용되는 메커니즘입니다. Event Hub는 확장 간에 데이터를 공유하는 데에도 사용되며 네트워킹, 디스크 액세스 및 데이터베이스 관리 등 플랫폼 지원에 필요한 여러 재사용 가능한 구현을 제공합니다.
  • Identity이(가) Adobe Experience Platform ID 서비스와의 통합을 구현합니다.
  • Signal은(는) 마케터가 데이터를 외부 대상으로 보내거나 URL을 열 수 있도록 앱에 "신호"를 보낼 수 있는 Adobe Experience Platform SDK의 신호 확장을 나타냅니다.
  • Lifecycle은(는) 응용 프로그램 설치 또는 업그레이드 정보, 응용 프로그램 시작 및 세션 정보, 장치 정보 및 응용 프로그램 개발자가 제공한 추가 컨텍스트 데이터와 같은 응용 프로그램 라이프사이클 지표를 수집하는 데 도움이 되는 Adobe Experience Platform SDK의 라이프사이클 확장을 나타냅니다.
edge Adobe Experience Platform Edge Network 모바일 확장(AEPEdge)을 사용하면 모바일 애플리케이션에서 Adobe Edge Network로 데이터를 전송할 수 있습니다. 이 확장을 사용하면 보다 강력한 방식으로 Adobe Experience Cloud 기능을 구현하고, 하나의 네트워크 호출을 통해 여러 Adobe 솔루션을 제공하고, 동시에 이 정보를 Adobe Experience Platform에 전달할 수 있습니다.
Edge Network 모바일 확장 기능은 Adobe Experience Platform SDK의 확장 기능입니다. 확장을 사용하려면 이벤트를 처리하기 위해 Mobile CoreServices 확장이 필요합니다. ID를 검색하기 위한 Identity for Edge Network 확장(예: ECID)
edgeidentity Adobe Experience Platform Edge Identity 모바일 확장을 사용하면 Adobe Experience Platform SDK 및 Edge Network 확장을 사용할 때 모바일 애플리케이션에서 사용자 ID 데이터를 처리할 수 있습니다.
edgeconsent Adobe Experience Platform 동의 컬렉션 모바일 확장을 사용하면 Adobe Experience Platform SDK 및 Edge Network 확장을 사용할 때 모바일 애플리케이션에서 동의 환경 설정을 수집할 수 있습니다.
사용자 프로필 Adobe Experience Platform 사용자 프로필 모바일 확장은 Adobe Experience Platform SDK에 대한 사용자 프로필을 관리하기 위한 확장입니다.
aepplaces Adobe 위치 서비스는 위치를 인식하는 모바일 앱을 활성화하는 지리적 위치 서비스입니다. 또한 유연한 관심 영역(POI) 데이터베이스를 동반하는 풍부하고 사용하기 쉬운 SDK 인터페이스를 사용하여 위치 컨텍스트를 이해할 수 있습니다. 자세한 내용은 Places Service 설명서를 참조하십시오.
이 서비스는 Android 2.x Adobe Experience Platform SDK용 Places 모바일 확장 기능이며 이벤트 처리를 위해 Core 확장이 필요합니다.
메시징 Adobe Experience Platform 메시징 확장 기능은 모바일 앱에 대한 푸시 알림, 인앱 메시지 및 코드 기반 환경을 구동합니다. 또한 이 확장은 사용자 푸시 토큰을 수집하고 Adobe Experience Platform 서비스와의 상호 작용 측정을 관리하는 데 도움이 됩니다.
최적화 Adobe Experience Platform 최적화 확장은 Adobe Target 또는 Adobe Journey Optimizer Offer Decisioning을 사용하여 Adobe Experience Platform SDK에서 실시간 개인화 워크플로우를 가능하게 하는 API를 제공합니다. Mobile Core에 따라 다르며, 개인화 쿼리 이벤트를 Experience Edge Network에 보내려면 Edge 확장이 필요합니다.
보증 Assurance(프로젝트 그리폰)는 Adobe Experience Platform Assurance과 통합할 수 있는 Adobe Experience Platform용 모바일 확장 기능입니다. 확장은 모바일 앱에서 데이터를 수집하거나 경험을 제공하는 방법을 검사, 증명, 시뮬레이션 및 확인하는 데 도움이 됩니다. 이 확장을 사용하려면 MobileCore가 필요합니다.

확장 가져오기

Android Studio에서 > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication ​으로 이동하고 다음 가져오기가 소스 파일의 일부인지 확인합니다.

code language-kotlin
import com.adobe.marketing.mobile.Assurance
import com.adobe.marketing.mobile.Edge
import com.adobe.marketing.mobile.Lifecycle
import com.adobe.marketing.mobile.LoggingMode
import com.adobe.marketing.mobile.Messaging
import com.adobe.marketing.mobile.MobileCore
import com.adobe.marketing.mobile.MobilePrivacyStatus
import com.adobe.marketing.mobile.Places
import com.adobe.marketing.mobile.Signal
import com.adobe.marketing.mobile.UserProfile
import com.adobe.marketing.mobile.edge.consent.Consent
import com.adobe.marketing.mobile.edge.identity.Identity
import com.adobe.marketing.mobile.optimize.Optimize

> kotlin+java > com.adobe.luma.tutorial.android > 모델 > MobileSDK ​에 대해서도 동일한 작업을 수행합니다.

LumaApplication 업데이트

Android 보기에서 Android Studio의 > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication ​으로 이동합니다.

  1. "YOUR_ENVIRONMENT_FILE_ID"private var environmentFileId = "YOUR_ENVIRONMENT_ID_GOES_HERE"을(를) SDK 설치 지침 생성의 태그에서 검색한 환경 파일 ID 값으로 바꾸십시오.

    code language-kotlin
    private var environmentFileId = "YOUR_ENVIRONMENT_ID_GOES_HERE"
    
  2. override fun onCreate()class LumaApplication : Application() 함수에 다음 코드를 추가하십시오.

    code language-kotlin
    // Define extensions
    val extensions = listOf(
       Identity.EXTENSION,
       Lifecycle.EXTENSION,
       Signal.EXTENSION,
       Edge.EXTENSION,
       Consent.EXTENSION,
       UserProfile.EXTENSION,
       Places.EXTENSION,
       Messaging.EXTENSION,
       Optimize.EXTENSION,
       Assurance.EXTENSION
    )
    
    // Register extensions
    MobileCore.registerExtensions(extensions) {
    // Use the environment file id assigned to this application via Adobe Experience Platform Data Collection
      Log.i("Luma", "Using mobile config: $environmentFileId")
      MobileCore.configureWithAppID(environmentFileId)
    
      // set this to true when testing on your device, default is false.
      //MobileCore.updateConfiguration(mapOf("messaging.useSandbox" to true))
    
      // assume unknown, adapt to your needs.
      MobileCore.setPrivacyStatus(MobilePrivacyStatus.UNKNOWN)
    }
    

    위의 코드는 다음을 수행합니다.

    1. 필요한 확장을 등록합니다.
    2. 태그 속성 구성을 사용하도록 MobileCore 및 기타 확장을 구성합니다.
    3. 디버그 로깅을 활성화합니다. 자세한 내용 및 옵션은 Adobe Experience Platform Mobile SDK 설명서에서 확인할 수 있습니다.
    4. 주기 모니터링을 시작합니다. 자세한 내용은 자습서의 주기 단계를 참조하십시오.
    5. 기본 동의를 알 수 없음으로 설정합니다. 자세한 내용은 자습서에서 동의 단계를 참조하십시오.

개발, 스테이징 또는 프로덕션용으로 빌드하고 있는 태그 환경의 환경 파일 ID를 기반으로 MobileCore.configureWith(environmentFileId)을(를) environmentFileId(으)로 업데이트하십시오.

SUCCESS
이제 자습서의 나머지 부분에서 사용할 필수 Adobe Experience Platform Mobile SDK 확장을 등록하기 위해 필요한 패키지를 설치하고 프로젝트를 업데이트했습니다.
Adobe Experience Platform Mobile SDK에 대해 학습하는 데 시간을 투자해 주셔서 감사합니다. 질문이 있거나 일반적인 피드백을 공유하고 싶거나 향후 콘텐츠에 대한 제안이 있는 경우 이 Experience League 커뮤니티 토론 게시물에서 공유하십시오.

다음: Assurance 설정

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