https://developer.apple.com/documentation/uikit/uieventattributionview
"An overlay view that verifies user interaction for Private Click Measurement."
Private Click Measurement에서 사용자 상호작용 검증을 하는 오버레이 뷰입니다.
@MainActor class UIEventAttributionView : UIView
Private Click Measurement (PCM)은 광고와 같은 외부 링크에 접속할 때 외부 링크를 측적할 수 있도록 하는 웹 표준에 목적이 있으며, 전환을 초래합니다. 외부 웹사이트는 전환을 구성하는 요소를 결정하지만, 서비스에 대한 구입 혹은 가입에 대한 사용자의 결과인 경우가 많습니다. PCM은 광고 캠페인의 효과성을 측정하기 위한 웹사이트 기능을 제공하면서도 원격 서버에 사용자 식별 가능 정보를 보내지 않기 때문에 사용자 개인정보를 보호합니다.
iOS 14.5 혹은 이후 버전에서 실행되는 앱은 외부 링크를 열 때 브라우저에 이벤트 특성 데이터를 전송해서 PCM의 이점을 활용합니다. 링크된 웹사이트가 일주일 안에 전환을 알려주면 브라우저는 앱의 PCM 데이터를 보고된 전환 이후 24~48 시간 사이에 구체화된 원격 서버로 앱의 PCM 데이터를 전달합니다.
UIEventAttributionView
를 서브클래싱할 수 없슨비다.
목적이 있는 PCM 웹 표준에 대한 더 많은 정보는 Introducing Private Click Measurement 및 Private Click Measurement Draft Community Group Report를 보시기 바랍니다.
Introducing Private Click Measurement
https://webkit.org/blog/11529/introducing-private-click-measurement-pcm/
Private Click Measurement Draft Community Group Report
https://privacycg.github.io/private-click-measurement/
이벤트 특성 뷰는 다른 UIKit
컨트롤을 오버레이해서 PCM 데이터를 갖는 외부 링크를 여는 것이 사용자의 탭 결과에만 발생하도록 보장합니다. 시스템은 UIEventAttributionView
가 탭된 컨트롤 위에 존재하지 않는 한 브라우저에 이벤트 특성 데이터를 보내지 않습니다.
이벤트 특성 데이터를 갖는 외부 링크를 launch하는 모든 뷰 위에 이벤트 특성 뷰를 위치시킬 수 있으며, 이벤트 특성 뷰에 탭을 가로챌 수 있는 다른 뷰가 존재하지 않도록 해야 합니다. UIEventAttributionView
는 탭 이벤트를 소비하지 않기 때문에 뷰 계층구조에서 한 가지 아래에 있는 모든 컨트롤의 동작은 영향을 받지 ㅇ낳습니다.
앱에 있는 여러 뷰 혹은 컨트롤이 PCM을 사용해서 외부 링크를 launch할 수 있는 경우 각 컨트롤러를 오버레이하기 위해 분리된 UIEventAttributionView
를 사용하시기 바랍니다. 하나 이상의 컨트롤을 검증하기 위해 하나의 UIEventAttributionView
를 사용할 수 있는 동안 스크린의 많은 비중을 덮는 특성 뷰는 성능에 영향을 미칠 것이며, 그 이유는 시스템이 특성 뷰를 통해 전달되는 모든 사용자 상호작용을 검증해야 하기 때문입니다.
앱 내부 광고에 이벤트 특성 뷰를 추가하는 방법은 아래에 있습니다.
// Create an event attribution view.
let eventAttributionView = UIEventAttributionView()
// Place it over the ad view.
eventAttributionView.translatesAutoresizingMaskIntoConstraints = false
adView.addSubview(eventAttributionView)
NSLayoutConstraint.activate([
adView.topAnchor.constraint(equalTo: eventAttributionView.topAnchor),
adView.leadingAnchor.constraint(equalTo: eventAttributionView.leadingAnchor),
adView.trailingAnchor.constraint(equalTo: eventAttributionView.trailingAnchor),
adView.bottomAnchor.constraint(equalTo: eventAttributionView.bottomAnchor)
])
외부 링크를 열 때 브라우저에 PCM 이벤트 특성 데이터를 보내는 것에 대한 더 많은 정보는 UIEventAttribution
을 보시기 바랍니다.
Note
PCM은 맥 Catalyst로 빌드된 맥 앱에서 지원되지 않습니다.