설명서TargetTarget 개발자 안내서

웹 보기를 사용하는 기본 앱에서 AEP Mobile SDK을(를) 사용하여 Target 구현

마지막 업데이트: 2025년 5월 5일
  • 주제:
  • 구현 모바일

작성 대상:

  • 개발자

이 문서에서는 Adobe Experience Platform Mobile SDK을(를) 사용하여 웹 보기에서 네이티브 코드를 사용하는 모바일 앱에서 Adobe Target을(를) 구현하기 위한 모범 사례를 공유합니다.

이 문서에서는 Adobe Experience Platform Mobile SDK 및 GitHub 저장소의 Swift에 작성된 Target 통합을 사용하는 샘플 iOS 앱을 사용합니다.

실제 환경에서는 엔터프라이즈 앱이 모바일 앱에서 웹 보기를 사용할 수 있습니다. 웹 보기는 URL을 사용하여 웹 페이지를 로드하는 컨테이너입니다. 이 컨테이너는 컨트롤이 없는 브라우저 창과 유사합니다. iOS에서 웹 보기 컨테이너는 웹 페이지를 처리할 때 Safari 브라우저로 작동합니다.

전제 조건

Adobe Experience Platform Mobile SDK을(를) 시작하려면 몇 가지 전제 조건 작업을 수행해야 합니다.

자세한 내용은 Adobe Experience Platform Mobile SDK 설명서의 Adobe Target을(를) 참조하십시오.

기본 코드와 웹 보기 동기화

웹 보기가 있는 기본 앱에서 Target을(를) 구현할 때 어려움은 Adobe Experience Platform Mobile SDK이(가) Adobe 솔루션이 원활하게 작동하는 데 필요한 모든 식별자를 이미 생성했다는 것입니다. 그러나 식별자는 기본 플랫폼 환경에 없으므로 웹 보기에 아직 표시되지 않습니다. 따라서 방문자 ID가 웹 환경에서 지속되도록 일부 SDK 식별자를 웹 보기에 전달하는 브리지를 만들어야 합니다. 이 작업을 제대로 수행하지 못하면 중복 방문이 발생하고, 이는 보고에 영향을 줍니다.

다행히 Adobe Experience Platform Mobile SDK에서는 다음 샘플 코드와 같이 웹 보기에서 동일한 방문자를 사용하고 유지하는 데 필요한 Adobe 매개 변수를 생성하는 편리한 방법을 제공합니다.

Identity.appendTo(url: URL(string: url), completion: {appendedURL, error in
  print("appendedURL \(String(describing: appendedURL))")
  // load the url with ECID on the main thread
  DispatchQueue.main.async {
    let request = NSMutableURLRequest(url: appendedURL!)
    self.webView.load(request as URLRequest)
  }
});

Identity.appendTo 메서드에 대한 자세한 내용 및 메서드 사용 방법의 예를 보려면 Mobile SDK 설명서 ​에서 Swift > 예제을 참조하십시오.

Identity.appendTo을(를) 사용하는 URL:

https://vadymus.github.io/ateng/at-order-confirmation/index.html?a=1&b=2

을 다음과 같이 변환합니다.

https://vadymus.github.io/ateng/at-order-confirmation/index.html?a=1&b=2&adobe_mc=TS%3D1660667205%7CMCMID%3D69624092487065093697422606480535692677%7CMCORGID%3DEB9CAE8B56E003697F000101%40AdobeOrg

알 수 있듯이 URL에 adobe_mc 매개 변수가 추가되었습니다. 이 매개변수에는 다음에 대한 인코딩된 값이 포함되어 있습니다.

  • TS=1660667205: 현재 타임스탬프입니다. 이 타임스탬프는 웹 보기가 만료된 값을 받지 않도록 합니다.
  • MCMID=69624092487065093697422606480535692677: Experience Cloud ID (ECID). Adobe 솔루션 간 방문자 식별에 필요한 MID 또는 Marketing Cloud ID이라고도 합니다.
  • MCORGID=EB9CAE8B56E003697F000101@AdobeOrg: Adobe Organization ID.

Identity.getUrlVariables은(는) Experience Cloud Identity Service URL 변수를 포함하는 적절한 형식의 문자열을 반환하는 대체 Adobe Experience Platform Mobile SDK 메서드입니다. 자세한 내용은 ID API 참조 ​에서 getUrlVariables을(를) 참조하십시오.

동일 세션 환경을 위해 Target 세션 ID를 전달합니다.

Target 사용자 여정이 기본 보기와 웹 보기에서 원활하게 작동하도록 하려면 한 단계 더 필요합니다. 이 단계에는 Adobe Experience Platform Mobile SDK에서 Target 세션 ID를 추출하여 모바일 앱의 웹 보기로 전달하는 작업이 포함됩니다.

Target.getSessionId은(는) 웹 보기 URL에 전달할 수 있는 세션 ID를 mboxSession 매개 변수로 추출합니다.

Target.getSessionId { (id, err) in
    // read Target sessionId
}

웹 보기에서 테스트

웹 미리 보기 링크는 Activity detail 페이지에서 Adobe QA 링크를 클릭하여 다음과 같이 각 경험 미리 보기 링크를 복사하는 팝업을 표시합니다.

?at_preview_token=mhFIzJSF7JWb-RsnakpBqi_s83Sl64hZp928VWpkwvI&at_preview_index=1_1&at_preview_listed_activities_only=true

웹 미리 보기 링크에 추가 at_preview_index 및 at_preview_listed_activities_only 매개 변수가 포함되어 있습니다. 이러한 매개 변수를 복사하여 웹 링크 매개 변수를 사용하여 모바일 친화적인 미리 보기 링크를 구성합니다.

예:

com.adobe.targetmobile://?at_preview_token=mhFIzJSF7JWb-RsnakpBqhBwj-TiIlZsRTx_1QQuiXLIJFdpSLeEZwKGPUyy57O_&at_preview_index=1_1&at_preview_listed_activities_only=true

iOS Safari 브라우저에서 링크를 열면 앱은 다음 예제와 유사하게 AppDelegate 클래스의 URL을 캡처합니다.

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
  print("url= \(String(describing: url.absoluteString))")
  //...

앱에서 필요한 모든 매개 변수를 캡처했으므로 필요할 때 웹에 전달할 수 있습니다.

Identity.appendTo(url: URL(string: url), completion: {appendedURL, error in
  let urlWithWebPreviewLink = appendedURL + "&" + myPreviewLinkFromAppDelegate

웹 보기 링크에 대한 최종 출력은 다음과 같습니다.

https://vadymus.github.io/ateng/at-order-confirmation/index.html?a=1&b=2&adobe_mc=TS%3D1660667205%7CMCMID%3D69624092487065093697422606480535692677%7CMCORGID%3DEB9CAE8B56E003697F000101%40AdobeOrg&at_preview_token=mhFIzJSF7JWb-RsnakpBqi_s83Sl64hZp928VWpkwvI&at_preview_index=1_1&at_preview_listed_activities_only=true
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3