스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
SKAdNetwork의 새로운 사항
SKAdNetwork를 통해 광고주는 사용자의 개인 정보를 보호하면서 광고 캠페인의 성공 여부를 측정할 수 있습니다. 계층형 소스 ID, 계층형 전환 값, 다중 전환, 웹 광고에 대한 SKAdNetwork 기여 분석을 포함한 광고 기여 분석의 최신 업데이트를 알아보겠습니다. 또한 대중 익명성의 중요성을 알아보고, Xcode 13에서의 테스팅을 통해 SKAdNetwork 광고 노출 횟수를 확인하는 방법을 살펴보겠습니다.
리소스
관련 비디오
WWDC22
WWDC21
-
다운로드
♪♪
안녕하세요 WWDC에 오신 걸 환영합니다 전 Nikhil이고 SKAdNetwork에 나타난 변화를 공유할 겁니다 미래로 나아가기 전에 우리가 지금 어디에 있는지 어떻게 여기까지 왔는지 봅시다 Apple에서는 '프라이버시'가 가장 근본적인 인권이라고 믿고 프라이버시 보호를 우리가 하는 모든 것에 포함시킵니다 그래서 SKAdNetwork를 만들게 되었는데요 이건 Apple의 프라이버시 보존형 설치 어트리뷰선 시스템입니다 사용자의 프라이버시가 보존되는 와중에 어트리뷰선 데이터는 광고주에 돌려보내지죠 SKAdNetwork에는 세 행위자가 있습니다 네트워크, 퍼블리셔, 광고주 앱으로 구성되죠 SKAdNetwork에서 흔히 쓰이는 용어도 정의합시다 '임프레션'은 이 맥락에서는 퍼블리셔에서 SKAdNetwork에 입력한 값을 말합니다 '인게이지먼트'란 사용자가 광고주 앱과 상호 작용 시 발생하는 겁니다 광고주 앱은 전환값 최신 정보 형태로 이런 인게이지먼트를 포착합니다 마지막으로 '전환'은 '포스트백'이라고도 합니다 광고 네트워크로 보내지는 어트리뷰션 데이터가 포함됩니다 어트리뷰션 데이터는 오리지널 광고가 성공적으로 전환되었다는 신호를 광고 네트워크에 제공합니다 광고 네트워크는 광고주 앱에 서명된 임프레션을 생성하죠 퍼블리셔는 이걸 사용해 광고를 보여줍니다 그러면 사용자는 광고를 탭해 앱을 설치하고요 이 앱은 처음 출시되었을 때 전환을 알리기 위해 API를 호출합니다 앱은 전환값 업데이트를 위해 이 API를 반복 호출하고 다양한 인게이지먼트를 포착해 광고 수익률을 반환합니다 타이머가 만료되면 어트리뷰션 데이터를 포함한 포스트백을 광고 네트워크로 전송합니다
SKAdNetwork 버전 역사를 간략하게 살펴 보죠 2.0은 프라이버시 보존형 광고 어트리뷰션을 도입했고 2.2는 퍼블리셔가 커스텀 광고를 가능케 했으며 3.0은 무보상 임프레션의 포스트백을 추가했죠 iOS 15.0에서는 개발자를 위해 SKAdNetwork 모든 버전에 대한 포스트백 복사본을 도입했습니다 SKAdNetwork 역사에 대해 더 알아보고 싶으시다면 WWDC 2021의 다음 세션을 참고하세요
이제 우리의 미래인 SKAdNetwork 4.0을 알아봅시다 새로운 기능을 살펴볼까요? 광고주에 더 많은 데이터를 제공하도록 디자인된 API에 나타난 몇 가지 변화를 우선 살펴보도록 하죠 그 다음으로 다양한 전환도 살펴 봅시다 그 다음 웹 광고에 대한 어트리뷰션으로 넘어가죠 마지막에는 테스트 가능성을 이야기해 보도록 합시다 계층형 ID과 전환값은 SKAdNetwork 4.0의 첫 새로운 기능입니다 새로운 기능을 알아보기 전에 '군중 익명성'부터 정의합시다 이건 SKAdNetwork가 어트리뷰션 데이터를 전달하는 프라이버시 보존형 방식을 가리킵니다 설치 수는 앱 사용자에게 보장된 프라이버시 수준을 결정합니다 하위 수준에서는 포스트백에서 광고주에게 어트리뷰션 데이터를 덜 전송합니다 설치 수가 낮으면 다시 보내는 추적 가능 정보를 제한함으로써 프라이버시를 보호하기 위한 조치를 취하죠 설치 수가 증가하고 사용자의 고유성이 군중과 섞이기 시작하면 데이터를 더 되돌려 보냅니다 마지막으로 설치 수가 가장 높은 수준에 도달하면 프라이버시를 보존하면서도 가장 많은 데이터를 보내죠 SKAdNetwork 4.0에는 프라이버시 보호를 유지하며 더 많은 데이터를 보내는 방식이 갖춰져 있습니다 그래서 캠페인 식별자 필드를 수정했는데요 현재 이 필드는 2자리 숫자 필드입니다 그리고 필드의 범위를 4자리까지 늘려서 소스 식별자로 이름을 바꿀 겁니다 새 이름은 이 필드가 캠페인 식별 뿐 아니라 사용하기 위해 선택한 것도 나타낼 수 있다는 우리의 생각도 반영합니다
하나의 숫자이지만 3개의 계층형 숫자로 생각하시길 바랍니다 2자리, 3자리, 4자리 수인 겁니다 소스 식별자 필드를 일련의 계층형 숫자로 생각하면 다양한 숫자에 의미를 부여하기에 도움이 되죠 예를 들면 2자리 수는 광고 캠페인을 나타낼 수 있고 3자리 수는 사용자의 버킷 위치를 나타낼 수 있으며 4자리 수는 스크린 광고의 배치를 나타낼 수 있습니다 또 다른 예로 2자리 수는 처치를 나타낼 수 있고 3자리 수는 버킷 시각을 나타낼 수 있으며 4자리 수는 보여지는 광고의 크기를 나타낼 수 있습니다 단순히 예시일 뿐이고요 여기서 결국 우리가 원하는 건 여러분에게 이 필드를 공개하여 여러분의 요구에 딱 맞는 것으로 사용한ㄴ 겁니다 데이터를 계속해서 더 많이 제공하게 되면 전환값도 바뀔 겁니다 현재는 6자리 값인데요 SKAdNetwork 4.0에서는 2가지 전환값을 도입할 겁니다 파인 그레인드 값과 코스 그레인드 값입니다 전자는 오늘날의 전환값과 동일합니다 후자는 3개의 값 중 하나를 추측할 수 있죠 high 42라는 전환값이 있다면 'high'는 코스값 '42'는 파인값인데 코스값을 받기 위해 필요한 설치 수가 파인값을 받기 위해 필요한 설치 수보다 적습니다 결과적으로 앱은 파인값보다 코스값을 더 빨리 받을 겁니다 하지만 이들 중 하나만 광고주에게 돌아감을 기억하세요 군중 익명성은 새 필드에 어떤 영향을 미칠까요?
5739라는 이전의 예시를 소스 식별자로 사용하면 군중 익명도가 최하위인 경우 소스 식별자의 2자리 컴포넌트를 받을 것으로 예상할 수 있습니다 이 경우 39가 되겠죠 중간 수준에서는 3자리 컴포넌트를 받게 되고 최상위 수준에서는 4자리 소스 식별자를 되돌려 받게 된다고 예상할 수 있습니다 군중 익명도가 높아질수록 소스 식별자에서 더 많은 자릿 수가 되돌려 보내집니다 전환값 예시였던 high 42를 또 예로 들면 군중 익명도 최하위의 경우 포스트백에서 전환값을 받지 않을 겁니다 중간인 경우 코스 전환값을 받게 될 것이고요 최상위인 경우 포스트백의 파인 그레인 전환값을 받게 되겠죠 군중 익명도가 높아질수록 반환되는 전환값은 변합니다 다음으로 API 변화를 살펴 봅시다 광고 게시를 위해 SKAdImpression 인스턴스를 사용한다면 여기에 sourceIdentifier라는 새 프로퍼티 설정이 가능합니다
딕셔너리를 통해 임프레션을 설정한다면 새 소스 식별자 키를 사용해 sourceIdentifier 값 설정이 가능하죠
광고 앱에서는 여기서 나타났듯 파인 전환값 뿐 아니라 코스 전환값까지 취하도록 변한 updatePostbackConversionValue 메소드를 호출할 겁니다 포스트백 전환값 업데이트 후 후속 태스크를 하기 위해 컴플리션 핸들러를 사용하길 권장합니다 다음은 새 계층형 ID와 전환값 API 채택 시 생각해 보셔야 할 권고 사항입니다 소스 식별자의 다양한 부분이 설치 프라이버시 수준에 따라 다르게 반환될 겁니다 임프레션을 위해 소스 식별자를 구성할 때 이 점을 고려하세요 코스 전환값은 파인 전환값보다 세분도가 훨씬 낮습니다 값에 의미를 부여할 때 이 점을 고렿세요 전환값은 증가하거나 감소할 수 있습니다 SKAdNetwork 4.0 포스트백을 처리하기 위해 서버에 변화를 준다면 새 소스 식별자와 코스 전환값을 파싱할 수 있게 해야 합니다 이 기능들을 통해 프라이버시 보호를 유지하며 광고주에 더 많은 데이터를 제공할 수 있습니다 또다른 주요 영역인 전환을 살펴 봅시다 SKAdNetwork에서는 현재 단일 전환 모델을 사용하는데요
설치 시부터 전환값을 업데이트하여 다양한 사용자 인게이지먼트를 캡처합니다 특정 시간이 지나면 포스트백을 광고 네트워크에 보내죠 예시를 하나 보죠 Food Truck 앱을 사용하겠습니다 이 앱에서는 푸드 트럭을 제어할 수 있습니다 도넛 전달 경험을 만들고 커스터마이징하며 제어하세요 이 앱의 개발자로서 제 광고비의 가치를 알고 싶네요 예를 들어 사용자가 Food Truck을 실행하면 이걸 표시하기 위해 전환값을 업데이트할겁니다 전달하기 위한 첫 배치를 픽업하면 다시 한 번 전환값을 업데이트하고요 도넛 반죽이 숙성하려면 특정 시간이 필요하므로 사용자는 기다립니다 숙성 시간 중에 전환은 포스트백 형태로 광고 네트워크와 제게 보내지고 후자는 선택적입니다 그러나 사용자가 도넛을 전달하면 포스트백이 이미 보내졌기에 이 전달이나 다른 사용자 조치를 측정하는 방법이 없겠죠 즉, 리인게이지먼트가 안된다는 겁니다 우리는 이 부분에 변화를 주려고 합니다 단일 포스트백에서 3개로 이동할 건데요 포스트백은 명확한 타임 윈도우와 연결되어 각 윈도우의 마지막에 보내집니다 다른 예시를 다시 볼까요? 좀전과 같이 사용자가 앱을 실행하고 첫 전달 배치를 픽업하게 됩니다 첫 포스트백의 시간 윈도우가 경과하여 우린 그걸 보내죠 사용자가 도넛을 전달합니다 이전에는 캡처되지 않았겠지만 이제는 두 번째 포스트백의 윈도우에 있는 게 보이네요 이걸 캡처하기 위해 전환값을 업데이트하죠 두 번째 윈도우도 지나가고 우리는 이걸 전송합니다 앱 사용자는 툴을 사용해 신제품 레시피를 만들고 새로운 배치 전달을 시작하게 됩니다 세 번째 창은 사라지고 포스트백도 발송되죠 전환값을 측정하고 이 측정값들을 더 자주 받을 수 있는 기회는 더 많습니다 다양한 전환값에 대해 기억하셔야 할 점이 있는데요 첫 번쨰 포스트백만 파인값을 얻게 됩니다 추가 포스트백은 코스값을 가질 수 있습니다 이긴 사람과 개발자만 추가 포스트백을 받게 되고요 다음으로 웹 광고에 대한 SKAdNetwork 어트리뷰션을 확인해 볼게요 퍼블리셔는 App Store 제품 페이지에 광고를 게시하죠 그럼 App Store는 사용자의 프라이버시 보호를 제공하며
설치를 어트리뷰트하기 위해 SKAdNetwork로 작업합니다 웹 페이지 광고에도 동일하게 프라이버시를 확장하려 하는데요 어떤 방식으로 진행될지 살펴 봅시다 상요자가 Safari에 있는 광고 링크를 탭하면 Safari는 App Store를 실행해 앱 제품 페이지로 랜딩합니다 여기서 2가지 일이 일어나죠 App Store는 광고 네트워크 서버에서 임프레션을 가져옵니다 사용자는 앱을 설치하고요 이어서 모든 게 오늘 했던 것과 같이 흘러가 결국 SKAdNetwork는 포스트백을 되돌려 보냅니다 그럼 링크가 어떻게 구성되는지 볼까요? href 부분에 광고 중인 앱의 App Store 링크가 포함됩니다 attributionDestination은 Apple에 서명된 광고 임프레션 출처를 알려주죠 attributionSourceNonce는 광고 네트워크가 되돌려 보낼 정확한 광고 임프레션을 찾게 돕습니다
링크는 퍼스트 파티 사이트와 포함된 크로스 사이트 iframe에 제공될 수 있습니다 URL 구조를 더 상세하게 살펴보죠 어트리뷰션 목적지에서 eTLD+1 컴포넌트를 추출합니다 이를 위해 잘 알려진 한정자와 경로 컴포넌트를 2개 더 추가하고요 서명 임프레션을 얻기 위한 HTTP POST를 요청하는 URL을 얻게 되는데요 프로토콜과 강조된 경로 컴포넌트는 고정됩니다 광고 네트워크는 호스트 컴포턴트 값을 결정하죠
SKAdNetwork은 논의했던 대로 구성된 URL에 HTTP POST 요청을 할 겁니다 POST 바디는 JSON이 되고 source_nonce는 오리지널 광고 링크와 동일하죠 이 값은 광고 네트워크가 제공을 원하는 서명 임프레션을 식별하기 위해 사용하는 값입니다
이 요청에서 받을 걸로 예상되는 걸 살펴보죠 이건 SKAdNetwork에서 쓰일 서명 임프레션입니다 임프레션의 소스 도메인 필드에 주목하세요 이것은 앱 주도 SKAdNetwork 흐름에서 소스 앱 ID의 링크 아날로그입니다 SKAdNetwork의 새 엔트리를 사용하여 시작하는 방법을 보면 광고 네트워크는 다음을 따라야 합니다 링크에서 독특하게 식별 가능한 부분과 링크 자체를 만들고 논의했던 대로 구성된 로케이션에서 서명 임프레션 제공이 가능한 엔드포인트를 노출하며 새 옵션 소스 도메인 필드를 파싱하여 이해하기 위해 포스드백 서버를 업데이트합니다 SKAdNetwork 링크를 사용하는 웹페이지의 경우 광고 네트워크에 의해 제공되는 광고 링크만 포함하면 되고요 여기까지 웹 광고에 대한 SKAdNetwork 어트리뷰션이었습니다 더욱 광범위한 광고 생태계에서 이 기능을 채택할 수 있게 되어 정말 신나네요 다음으로 SKAdNetwork 구현 테스트 방법을 살펴봅시다 SKAdNetwork는 높은 수준에서 임프레션과 포스트백을 처리하죠 개발자 커뮤니티와 일하면서 임프레션의 측면에서 서명과 구성이 마찰점이라는 걸 알게 됐습니다 포스트백에서는 테스트 친화적 방식으로 받고 검증하는 게 개선해야 하는 영역이었죠 SKAdNetwork에 대한 개발자 경험 개선을 위해 우리는 Xcode 13.3에서의 테스트 가능성에 변화를 줬고 이건 많은 분들이 StoreKit 구현 테스트에 이미 사용 중이신 StoreKitTest 내 유닛 테스팅 프레임워크로 이용 가능합니다 임프레션 검증법을 알아 봅시다 SKAdImpression의 인스턴스를 만들고 구성합니다 이 서명 생성에 사용되는 개인 키의 공개 키 버전을 공급하고 SKAdTestSession 인스턴스에서 validate 메소드를 호출합니다 임프레션이 잘못 구성되거나 서명이 유효하지 않으면 이건 임프레션을 검증해 오류를 던지게 됩니다 테스트해야 하는 다른 영역은 포스트백 수신입니다 여기엔 2가지 단계가 있는데요 1단계: 테스트 세션에 테스트 포스트백을 추가합니다 SKAdTestPostback의 인스턴스를 만들고 포스트백에서 원하는 값으로 구성합니다 포스트백 URL에 특히 주목하세요 포스트백이 보내지는 곳이기 때문입니다 원격 서버나 로컬 서버를 지정할 수 있죠 그 다음 SKAdTestSession에서 setPostbacks 메소드를 사용해 테스트 세션에 이걸 추가합니다 2단계: 포스트백을 실제로 되돌려 보냅니다 여기서는 SKAdTestSession의 flushPostbacks 메소드를 호출하면 포스트백은 보내지는 중에 사라지게 됩니다
SKAdTestSession은 네트워크를 통해 포스트백 구성 시 지정했던 서버로 포스트백을 보냅니다 다음은 올해 말 공개될 테스트 가능성 기능입니다 새로운 소스 식별자 필드에 대해 지원합니다 파인, 코스 전환값을 지원하고요 다양한 전환 테스트를 지원합니다 이렇게 Xcode 13.3에서 먼저 이용 가능한 SKAdNetwork 테스트 가능성 변화들을 살펴 보았는데요 오늘 우리는 계층형 ID와 전환값에 대해 알아보았습니다 더 많은 데이터를 더 빠르게 얻기 위해서죠 그 다음 더 긴 기간 동안의 리인게이지먼트를 측정할 수 있는 다양한 전환을 알아보았고 SKAdNetwork에 브리지를 추가하는 방법과 링크 주도 어트리뷰션에 대해 알아보았습니다 동일한 프라이버시 보호도 제공하면서요 마지막으로 SKAdNetwork 테스트 가능성을 살펴 보았고요 SKAdNetwork 4.0을 통한 우리의 여정은 여기까지입니다 우리가 만든 모든 것은 멋진 개발자 커뮤니티에서 나온 피드백을 기반으로 만들어졌습니다 사용자들에게 프라이버시 우선 광고 경험을 만들어준 개발자들의 경험을 들을 수 있어 뿌듯하고 감사했습니다 감사합니다
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.