iOS SDK 설치하기
에어브릿지 iOS SDK는 아래 방법으로 설치할 수 있습니다. 설치한 이후에 iOS SDK 테스트로 SDK가 정상적으로 설치됐는지 확인할 수 있습니다.- SwiftPackageManager
- CocoaPods
- Tuist
- 직접 설치
- Xcode에서 [File]에서 [Add Packages…]를 클릭해 주세요.
- 검색창에 아래 주소를 입력하고 [Add Package]를 클릭합니다.
- [Add Package]를 계속해서 클릭합니다.
- Xcode의 [Package Dependencies]에서 에어브릿지 iOS SDK 추가를 확인할 수 있습니다.
디바이스 ID를 수집하지 않는 SDK
- SwiftPackageManager
- CocoaPods
- Tuist
- 직접 설치
- Xcode에서 [File]>[Add Packages…]를 클릭합니다.
- 검색창에 아래 주소를 입력하고 [Add Package]를 클릭합니다.
- [Add Package]를 계속해서 클릭합니다.
- Xcode의 [Package Dependencies]에서 Airbridge가 추가된 것을 확인할 수 있습니다.
- SDK의 의존성에 해당하는 Framework를 프로젝트에 추가합니다. [Xcode]>[프로젝트 파일]>[General]>[Frameworks, Libraries, and Embedded Content]에서 ‘+’를 클릭합니다.
- 아래 Framework를 모두 추가합니다. 추가한 Framework의 Embed를 Do not Embed로 설정합니다. 그리고 [Xcode]>[프로젝트 파일]>[Build Phase]>[Link Binary With Libraries]에서 Status를 Optional로 설정합니다.
SDK 초기화하기
시스템 방식에 따라 SDK 초기화 방법이 다릅니다. SceneDelegate Lifecycle 또는 AppDelegate Lifecycle은 AppDelegate를 참고해 주세요. SwiftUI Lifecycle는 SwiftUI를 참고해 주세요. YOUR_APP_NAME과 YOUR_APP_SDK_TOKEN은 에어브릿지 대시보드의 [설정]>[토큰 관리]에서 확인할 수 있습니다.- AppDelegate (Swift)
- AppDelegate (Objective-C)
- SwiftUI
AppDelegate의 application(_:didFinishLaunchingWithOptions:) 가장 위에서 Airbridge.initializeSDK 함수를 호출합니다.Airbridge.initializeSDK 함수를 AppDelegate 의 application(_:didFinishLaunchingWithOptions:) 시점에 호출해야 올바르게 동작합니다.ATT 프롬프트 제공하기
- ATT 프롬프트에 사용하는 문구를 준비합니다.
- 준비한 문구를
Info.plist파일의NSUserTrackingUsageDescription키에 입력합니다.
- Xcode
- Tuist
- Xcode > YOUR_PROJECT > Info > Custom iOS Target Properties로 이동해주세요.
- Key의 항목들에 마우스를 가져가면 표시되는 + 버튼을 누르고
Privacy - Tracking Usage Description를 입력해 주세요. - Value에 표시할 문구를 입력해 주세요.
- ATT 프롬프트를 제공하는 시점을 결정합니다.
원하는 시점에 ATT 프롬프트 제공하기
원하는 시점에 ATT 프롬프트 제공하기
ATTrackingManager.requestTrackingAuthorization 함수를 호출합니다.ATTrackingManager.requestTrackingAuthorization 함수는 호출한 앱이 Active 상태가 아니면 ATT 프롬프트를 제공하지 않습니다.앱을 실행하면 ATT 프롬프트 제공하기
앱을 실행하면 ATT 프롬프트 제공하기
- 에어브릿지 iOS SDK는 설치 이벤트가 수집되지 않으면 앱이 실행될 때마다 유저가 추적에 동의하기 전까지 30초 동안 설치 이벤트 수집을 지연합니다. 유저가 추적 동의 여부를 결정하기 전에 앱을 종료하면 설치 이벤트를 수집하지 않고 다음 앱 실행에 다시 시도합니다.
setAutoDetermineTrackingAuthorizationTimeout 함수로 설치 이벤트 수집 지연 시간을 더 길게 설정할 수 있습니다. setAutoDetermineTrackingAuthorizationTimeout 함수의 기본 설정은 30초입니다. 최대 3600초(1시간)까지 설정할 수 있습니다.
옵트인(Opt-In) 설정하기
setAutoStartTrackingEnabled 함수를 false로 설정한 후에 이벤트를 수집할 수 있는 시점에 startTracking 함수를 호출합니다. startTracking 함수가 호출된 시점부터 이벤트를 수집합니다.
옵트아웃(Opt-Out) 설정하기
SDK 시그니처 설정하기
setSDKSignature 함수를 호출해 SDK 시그니처를 설정할 수 있습니다.
- YOUR_APP_NAME: 에어브릿지 앱 이름. 에어브릿지 대시보드의 [설정]>[토큰 관리]에서 확인할 수 있습니다.
- YOUR_APP_SDK_TOKEN: 안드로이드 SDK 토큰. 에어브릿지 대시보드의 [설정]>[토큰 관리]에서 확인할 수 있습니다.
- YOUR_SDK_SIGNATURE_SECRET_ID: 시크릿 ID. 에어브릿지 대시보드 [규칙 관리]>[광고사기 검증 규칙]>[SDK 시그니처]에서 확인할 수 있습니다.
- YOUR_SDK_SIGNATURE_SECRET: 시크릿. 에어브릿지 대시보드 [규칙 관리]>[광고사기 검증 규칙]>[SDK 시그니처]에서 확인할 수 있습니다.
딥링크
딥링크를 설정하면 트래킹 링크가 있는 광고를 클릭한 유저를 원하는 앱의 특정 페이지로 이동시킬 수 있습니다. 또한 트래킹 링크로 수집된 정보를 바탕으로 딥링크를 통해서 발생한 성과를 에어브릿지에서 확인할 수 있습니다.에어브릿지의 딥링크 작동 방식
에어브릿지는 트래킹 링크가 열릴 때, 트래킹 링크에 설정된 스킴 딥링크를 유저의 환경에 따라 최적인 형태의 에어브릿지 딥링크(HTTP 딥링크 또는 스킴 딥링크)로 변환하여 유저를 앱으로 이동시킵니다. 그리고 에어브릿지 SDK가 에어브릿지 딥링크를 트래킹 링크에 설정된 스킴 딥링크로 다시 변환하여 앱에 전달합니다.- 트래킹 링크에 설정된 스킴 딥링크 예시:
YOUR_SCHEME://product/12345 - 에어브릿지 딥링크 예시
- HTTP 딥링크 형태 1:
https://YOUR_APP_NAME.airbridge.io/~~~ - HTTP 딥링크 형태 2:
https://YOUR_APP_NAME.abr.ge/~~~ - 스킴 딥링크 형태:
YOUR_SCHEME://product/12345?airbridge_referrer=~~~
- HTTP 딥링크 형태 1:
딥링크 설정하기
딥링크를 설정합니다. 에어브릿지 대시보드에서 설정한 정보와 유저가 이동하는 목적지로 사용되는 앱 페이지 주소가 필요합니다. 먼저 에어브릿지에 딥링크 정보를 등록합니다.에어브릿지에 딥링크 정보 등록하기
에어브릿지에 딥링크 정보 등록하기
scheme://iOS 앱 ID애플 개발자 대시보드의 앱의 [Identifier]에서 App ID Prefix , Bundle ID 값을 가져와서 App ID Prefix + . + Bundle ID 형식으로 입력해주세요. 예: 9JA89QQLNQ.com.apple.wwdc- 에어브릿지 딥링크로 앱이 실행되도록 설정합니다.
- 에어브릿지 딥링크로 유저를 이동시킵니다.
에어브릿지 딥링크로 앱이 실행되도록 설정하기
에어브릿지 딥링크로 앱이 실행되도록 설정하기
- Xcode에서 [YOUR_PROJECT]>[Info]>[URL Types]로 이동합니다.
- ’+‘를 클릭한 후에 URL Schemes에 대시보드에서 입력한 iOS URI 스킴을 입력합니다.
://를 제외한 iOS URL 스킴을 입력해야 합니다.- Xcode에서 [YOUR_PROJECT]>[Signing & Capabilities]로 이동합니다.
- ’+ Capability’를 클릭하면 Associated Domains를 추가할 수 있습니다.
- Associated Domains에
applinks:YOUR_APP_NAME.airbridge.io와applinks:YOUR_APP_NAME.abr.ge를 추가합니다. (YOUR_APP_NAME은 에어브릿지 대시보드의 [설정]>[토큰 관리]에서 확인할 수 있습니다.)
airbridge.io 또는 abr.ge로 보이는 현상이 앱을 사용하는 유저에게 발생할 수 있습니다.에어브릿지 딥링크로 유저를 이동시키기
에어브릿지 딥링크로 유저를 이동시키기
trackDeeplink 함수를 호출해 SDK가 딥링크 오픈 이벤트를 수집할 수 있게 해주세요. 그리고 handleDeeplink 함수를 호출해 에어브릿지 딥링크를 원래 트래킹링크에 설정된 스킴 딥링크로 변환해주세요. 그리고 유저를 의도된 화면으로 이동시켜주세요.앱이 에어브릿지 딥링크로 열리면 isAirbridgeDeeplink 는 true 가 되고, 콜백의 uri 에는 설정된 스킴 딥링크가 전달됩니다. 앱이 다른 딥링크로 열리면 isAirbridgeDeeplink 는 false 가 되고, 콜백은 호출되지 않습니다. 이를 활용하면 에어브릿지 딥링크를 별도로 처리할 수 있습니다.trackDeeplink 함수와 handleDeeplink 함수를 호출하여 딥링크 오픈 이벤트를 수집하고 유저를 의도한 화면으로 이동시켜주세요.SceneDelegate와 AppDelegate가 모두 있다면 SceneDelegate 클래스에, AppDelegate만 있다면 AppDelegate 클래스에, 모두 없고 SwiftUI를 사용한다면 App 클래스에 아래와 같은 콜백 설정이 필요합니다.- SceneDelegate (Swift)
- AppDelegate (Swift)
- SwiftUI (Swift)
- SceneDelegate (Objective-C)
- AppDelegate (Objective-C)
- 앱이 에어브릿지 딥링크로 열렸을 때 유저를 이동시키는 함수를 구현하세요. 이는 유저를 의도한 화면으로 이동키시기 위해 각각의 콜백에 추가해야하는 함수입니다.
scene:willConnectTo:options:콜백을 설정하세요.trackDeeplink함수와handleDeeplink함수를 호출하여 딥링크 오픈 이벤트를 수집하고 위에서 구현한 함수를 호출하여 유저를 이동시키세요.
scene:openURLContexts:콜백을 설정하세요.trackDeeplink함수와handleDeeplink함수를 호출하여 딥링크 오픈 이벤트를 수집하고 위에서 구현한 함수를 호출하여 유저를 이동시키세요.
scene:continue:콜백을 설정하세요.trackDeeplink함수와handleDeeplink함수를 호출하여 딥링크 오픈 이벤트를 수집하고 위에서 구현한 함수를 호출하여 유저를 이동시키세요.
디퍼드 딥링크 설정하기
앱이 설치되지 않은 상태에서 디퍼드 딥링크를 설정한 트래킹 링크를 클릭하면 에어브릿지 딥링크를 저장합니다. 디퍼드 딥링크를 설정하면 에어브릿지 SDK는 아래와 같은 방식으로 딥링크를 획득합니다.에어브릿지 SDK의 디퍼드 딥링크 획득 방식
에어브릿지 SDK의 디퍼드 딥링크 획득 방식
- 옵트인(Opt-In)을 설정한 상태에서
Airbridge.startTracking함수를 호출합니다. 또는 옵트인을 설정하지 않았습니다. - ATT 추적 동의 여부가 결정되었습니다. 또는 ATT 프롬프트에서 설정한 이벤트 수집 지연 시간이 종료되었습니다.
Airbridge.handleDeferredDeeplink 함수는 저장된 에어브릿지 딥링크를 획득한 후에 스킴 딥링크로 변환해 앱에 전달합니다. 변환된 스킴 딥링크를 활용해 유저를 설정한 목적지로 보냅니다.
Airbridge.handleDeferredDeeplink 함수는 앱이 설치되고 처음으로 호출되었으면 true를 반환하고, 에어브릿지 딥링크 획득을 기다려 스킴 딥링크로 변환해 onSuccess로 전달합니다. 해당 스킴 딥링크를 활용해 유저를 설정한 목적지로 보낼 수 있습니다.
또는 저장된 에어브릿지 딥링크가 없으면 null을 onSuccess 전달합니다. SDK가 초기화되지 않았거나 Airbridge.handleDeferredDeeplink 함수를 처음으로 호출하지 않았다면 false를 전달합니다.
전달되는 스킴 딥링크는 일반적으로 YOUR_SCHEME://... 형태의 URL입니다. 메타 디퍼드 앱 링크(Meta Deferred App Links) 같은 서비스를 이용하면 다른 형태의 URL이 전달될 수 있습니다.
커스텀 도메인 설정하기
- 유저가이드를 참고해서 대시보드에 커스텀 도메인을 설정하세요.
- 에어브릿지 SDK 초기화시
setTrackingLinkCustomDomains함수를 사용하여 커스텀 도메인 링크를 추가하세요.YOUR_APP_CUSTOM_DOMAIN은 정규화된 도메인 이름(FQDN: Fully Qualified Domain Name)을 입력하세요.
인앱 이벤트
에어브릿지 SDK가 서비스에서 발생한 유저의 특정 행동을 설정에 따라 수집한 후에 인앱 이벤트로 전송합니다.인앱 이벤트 전송하기
Airbridge.trackEvent 함수를 호출해야 합니다. Airbridge.trackEvent 함수 구성요소의 필수 여부와 타입은 아래와 같습니다.
카테고리
카테고리
어트리뷰트
어트리뷰트
- 액션, 라벨: 에어브릿지 리포트에서 그룹바이로 활용할 수 있는 정보를 수집합니다.
- 밸류: 매출 분석에 활용하는 정보를 수집합니다. 밸류로 수집한 데이터는 자유롭게 사칙연산에 활용할 수 있습니다.
- 시맨틱 어트리뷰트: 에어브릿지가 미리 정의한 어트리뷰트입니다.
- 커스텀 어트리뷰트: 에어브릿지 사용자가 정의한 어트리뷰트입니다.
Airbridge.trackEvent 함수의 semanticAttributes 파라미터를 통해 액션, 라벨, 밸류, 시맨틱 어트리뷰트를 입력하고 customAttributes 파라미터를 통해 커스텀 어트리뷰트를 입력할 수 있습니다.에어브릿지가 제공하는 시맨틱 어트리뷰트 목록은 아래에서 확인할 수 있습니다.아래 예시를 참고해 주세요.- JSON 타입: String, Number, Boolean, Object<String, JSON>, Array<JSON>
- 시멘틱 어트리뷰트와 커스텀 어트리뷰트에 사용할 수 없는 타입: Struct, Class 등
SDK가 제공하는 스탠다드 이벤트 카테고리(AirbridgeCategory)
SDK가 제공하는 스탠다드 이벤트 카테고리(AirbridgeCategory)
SDK가 제공하는 시맨틱 어트리뷰트(AirbridgeAttribute)
SDK가 제공하는 시맨틱 어트리뷰트(AirbridgeAttribute)
인앱 이벤트 추가 설정하기
인앱 이벤트 세션 설정하기
인앱 이벤트 세션 설정하기
setSessionTimeout 함수를 사용하면 이 값을 최대 604,800초(7일)까지 변경할 수 있습니다.인앱 이벤트 전송 주기 설정하기
인앱 이벤트 전송 주기 설정하기
setEventTransmitInterval 함수를 이용하면 최대 86,400초(1일)까지 설정할 수 있습니다.아래 예시를 참고해 주세요.인앱 이벤트 저장 용량 설정하기
인앱 이벤트 저장 용량 설정하기
setEventBufferCountLimit 함수를, 이벤트 저장 용량을 제한하려면 setEventBufferSizeLimit 함수를 사용하여 개별 설정할 수 있습니다.아래 예시를 참고해 주세요.전송되지 않은 이벤트 삭제하기
전송되지 않은 이벤트 삭제하기
setClearEventBufferOnInitializeEnabled 함수를 true로 설정하면 이벤트 삭제 옵션이 활성화됩니다.디바이스 식별자 설정하기
디바이스 식별자 설정하기
인앱 이벤트 예시 코드
에어브릿지가 수집하는 주요 인앱 이벤트는 스탠다드 이벤트와 커스텀 이벤트입니다. 스탠다드 이벤트는 에어브릿지가 정의한 이벤트입니다. 아래 예시 코드를 참고해 주세요.회원가입, 로그인, 로그아웃, 홈화면 조회, 상품리스트 조회
회원가입, 로그인, 로그아웃, 홈화면 조회, 상품리스트 조회
회원가입
로그인
로그아웃
홈화면 조회
상품리스트 조회
검색결과 조회, 상품상세페이지 조회, 결제수단 등록, 위시리스트 추가, 장바구니 담기
검색결과 조회, 상품상세페이지 조회, 결제수단 등록, 위시리스트 추가, 장바구니 담기
검색결과 조회
상품상세페이지 조회
결제수단 등록
위시리스트 추가
장바구니 담기
결제 시작, 구매 완료, 구매 취소, 체험판 시작, 구독, 구독 취소
결제 시작, 구매 완료, 구매 취소, 체험판 시작, 구독, 구독 취소
결제 시작
구매 완료
구매 취소
체험판 시작
구독
구독 취소
광고 노출, 광고 클릭, 튜토리얼 완료, 레벨 달성, 과제 달성
광고 노출, 광고 클릭, 튜토리얼 완료, 레벨 달성, 과제 달성
광고 노출
광고 클릭
튜토리얼 완료
레벨 달성
과제 달성
평가, 공유, 일정 예약, 크레딧 사용
평가, 공유, 일정 예약, 크레딧 사용
평가
공유
일정 예약
크레딧 사용
유저 정보
유저 정보를 이벤트 포함해 전송합니다. 해당 유저 정보를 바탕으로 웹과 앱에서 발생한 광고 성과를 더 정확하게 분석할 수 있습니다.유저 ID 설정하기
유저 ID는 서비스에서 활용하는 유저 식별자입니다. 유저 ID는 유저를 웹과 앱에서 하나의 유저로 특정할 수 있는 고유한 ID이어야 합니다.유저 속성 설정하기
Airbridge.setHashUserInformationEnabled 함수를 false로 설정하면 유저 이메일과 전화번호를 해시화하지 않고 전송합니다. 기본 설정은 true입니다.
유저 정보 초기화하기
Airbridge.clearUser 함수로 유저 정보를 초기화할 수 있습니다.
설치/오픈 이벤트에 유저 정보 포함하기
SDK는 초기화 직후 설치 및 오픈 이벤트를 자동으로 전송합니다. 따라서 초기화 직후 유저 정보 함수를 호출하면, 이벤트 전송 타이밍에 따라 유저 정보가 설치/오픈 이벤트에 포함되지 않을 수 있습니다. 설치/오픈 이벤트에 유저 정보를 확실히 포함하려면, 옵트인(Opt-In) 설정하기를 통해 이벤트 전송 시점을 제어하세요. 다음 순서로 구현하세요:추가 설정하기
iOS SDK를 추가로 설정할 수 있습니다.멀티 앱 사용하기
Airbridge 객체를 통해 제어됩니다. 하지만 특정 상황에서는 독립적인 SDK 인스턴스가 필요할 수 있습니다. SDK는 하나의 앱에서 여러 Airbridge 프로젝트를 동시에 운영하는 멀티 테넌트 환경을 지원합니다.
AirbridgeInterface를 사용하여 새로운 인스턴스를 생성할 수 있습니다.
인스턴스 생성 및 초기화
Airbridge 객체 및 다른 인스턴스와 완전히 독립적으로 동작하며, 초기화를 포함한 모든 SDK 기능을 독립적으로 사용할 수 있습니다.
이벤트 전달 예제
멀티 앱 디퍼드 딥링크 사용하기
Airbridge.handleDeferredDeeplink(apps:onSuccess:onFailure) 함수를 사용해야 합니다.
기존의 Airbridge.handleDeferredDeeplink(onSuccess:onFailure) 함수는 멀티 앱 환경에서 각 인스턴스가 클릭한 트래킹 링크의 디퍼드 딥링크를 중복으로 수신할 수 있습니다. 이로 인해 onSuccess 콜백이 중복 호출되어 화면 이동에 문제가 발생할 수 있습니다.
Airbridge.handleDeferredDeeplink(apps:onSuccess:onFailure) 함수는 apps로 전달된 에어브릿지 인스턴스 목록 중 가장 최근에 클릭한 트래킹 링크의 디퍼드 딥링크 정보만을 콜백으로 전달합니다. 디퍼드 딥링크는 앱에서 단 한 번만 전달됩니다.
Airbridge.handleDeferredDeeplink(onSuccess:onFailure) 대신 반드시 Airbridge.handleDeferredDeeplink(apps:onSuccess:onFailure) 함수를 사용해 주세요SKAdNetwork ConversionValue 계산을 서버에서 하기
calculateSKAdNetworkByServerEnabled 옵션값을 true로 변경 해 주세요.
식별자 추적 제한하기
SDK가 식별자 데이터를 추적하지 않도록 제한할 수 있습니다.SDK 초기화시 식별자 제한하기
SDK 초기화시 식별자 제한하기
setTrackingBlocklist 함수에 제한할 데이터들을 설정하면 수집되는 이벤트에서 지정된 식별자 항목들이 제외됩니다. 이미 저장된 이벤트에는 영향이 없습니다.SDK 동작 중 식별자 제한하기
SDK 동작 중 식별자 제한하기
allowTrackingItem, blockTrackingItem 함수를 사용하여 제한할 데이터들을 설정할 수 있습니다. 지정된 식별자 항목들은 제외 혹은 포함됩니다. 이미 저장된 이벤트에는 영향이 없습니다.식별자 제한 목록
식별자 제한 목록
ICM 어트리뷰션 데이터 확인하기
인앱에서 트래킹 링크 생성하기
createTrackingLink 함수를 사용합니다. 파라미터의 필수 여부와 타입은 아래와 같습니다.
createTrackingLink 함수는 option 파라미터를 통해 생성 옵션을 설정할 수 있습니다.
트래킹 링크 생성 옵션
트래킹 링크 생성 옵션
createTrackingLink 함수는 onSuccess 콜백을 통해 AirbridgeTrackingLink 를 전달합니다.
앱이 열리거나 스토어로 이동하는 트래킹 링크 생성하기
앱이 열리거나 스토어로 이동하는 트래킹 링크 생성하기
앱이 열리거나 웹페이지로 이동하는 트래킹 링크 생성
앱이 열리거나 웹페이지로 이동하는 트래킹 링크 생성
스토어로만 이동하는 트래킹 링크 생성하기
스토어로만 이동하는 트래킹 링크 생성하기
웹페이지로만 이동하는 트래킹 링크 생성하기
웹페이지로만 이동하는 트래킹 링크 생성하기
인앱에서 트래킹 링크 활용하기
링크를 여는 방식에 따라 인앱에서 해당 앱의 트래킹 링크를 정상적으로 활용하기 어려울 수 있습니다.Airbridge.click 함수 또는 Airbridge.impression 함수를 이용하면 외부 브라우저를 거치지 않고 트래킹 링크를 정상적으로 활용할 수 있습니다.
인앱에서 트래킹 링크를 클릭
인앱에서 트래킹 링크를 클릭
Airbridge.click 함수를 호출합니다. 해당 함수를 호출하면 트래킹 링크 설정에 따라 스킴 딥링크를 전달하거나 앱마켓, 웹 사이트로 보냅니다.인앱에서 트래킹 링크에 노출
인앱에서 트래킹 링크에 노출
Airbridge.impression 함수를 호출합니다. 해당 함수를 호출하면 노출(Impression) 이벤트를 수집합니다.어트리뷰션 결과 활용하기
setOnAttributionReceived 함수로 설치 이벤트에 대한 어트리뷰션 결과를 받을 수 있습니다.
어트리뷰션 결과 존재
어트리뷰션 결과 존재
attributedChannel에는 광고 성과에 기여한 광고 채널에 대한 정보가 있습니다.어트리뷰션 결과는 앱 설치 이벤트가 전송되고 나서 1분 이내에 콜백으로 전달됩니다. 앱이 종료되어 전달되지 않은 이전 어트리뷰션 결과는 다음에 앱을 실행하면 1분 이내에 콜백으로 전달됩니다. 네트워크 환경 등에 따라 최대 5분까지 지연될 수 있습니다.어트리뷰션 결과 없음 (오가닉)
어트리뷰션 결과 없음 (오가닉)
푸시 알림으로 딥링크 이벤트 수집하기
푸시 알림을 클릭한 이후 페이로드에 있는 딥링크 정보를 에어브릿지 SDK에 전달해야 딥링크 이벤트를 수집합니다.Airbridge.trackDeeplink 함수로 설정해 주세요.
에어브릿지 딥링크만 추적하기
에어브릿지 SDK는 에어브릿지 딥링크가 아니더라도 그 어떤 딥링크로 앱이 실행만 되면 해당 딥링크 이벤트를 수집합니다.setTrackAirbridgeDeeplinkOnlyEnabled함수를 true로 설정하면 에어브릿지 딥링크로 앱이 실행될 때만 해당 딥링크 이벤트만 수집하도록 하여 불필요한 이벤트 수집을 방지할 수 있습니다.
Action Extension으로 이벤트 수집하기
- App Group을 추가합니다.
- Xcode의 [YOUR_PROJECT]>[Signing & Capabilities]로 이동합니다. + Capability 를 클릭하고 App Groups 를 추가합니다. App Groups에 아래 값을 입력합니다.
group.YOUR_DOMAIN.YOUR_DOMAIN.YOUR_PRODUCT.airbridge
group.YOUR_DOMAIN.YOUR_DOMAIN.YOUR_PRODUCT.airbridge 는 고정된 값이 아닙니다. 원하는 값을 사용할 수 있습니다.
- App Extension의
viewDidLoad함수에서 SDK를 초기화합니다.
setAppGroup 설정을 신중하게 결정해야 합니다. 기존 에어브릿지 SDK와 관련된 모든 정보를 삭제해야 setAppGroup 설정을 제거하거나 변경할 수 있습니다. 이로 인해 이미 수집된 설치 이벤트가 다시 수집되는 현상 같은 기대하지 않은 결과가 발생할 수 있습니다.구글 디지털 시장법(DMA) 준수
구글 디지털 시장법을 준수하기 위해서는 유저 동의 정보(User Consent)를 에어브릿지에 전달해야 합니다. 구글 디지털 시장법과 적용 대상 등에 대한 자세한 내용은 에어브릿지 가이드를 참고해 주세요.사용자 동의 관리 플랫폼을 통해 유저 동의 정보 수집
사용자 동의 관리 플랫폼을 통해 유저 동의 정보 수집
- SDK 초기화 시,
setCollectTCFDataEnabled함수를 true로,setAutoStartTrackingEnabled함수를 false로 설정하세요.
- 사용자 동의 관리 플랫폼을 사용하여 유저 동의 정보를 저장한 이후에
startTracking함수를 호출하세요.
Airbridge.setDeviceAlias 함수를 사용하여 유저 동의 정보 수집
Airbridge.setDeviceAlias 함수를 사용하여 유저 동의 정보 수집
- 앱을 실행한 유저의 지역 정보를 확인하세요. 유저가 앱을 실행한 지역이 EEA(
eea=1)라면 기존에 수집한 유저 동의 정보가 있는지 확인하세요. 유저가 앱을 실행한 지역이 EEA가 아니라면 유저 동의 정보를 수집하지 않아도 됩니다.
- 기존에 수집한 유저 동의 정보가 없다면 프롬프트 등으로 유저 동의 정보를 수집해야 합니다. 수집해야 하는 유저 동의 정보는
adPersonalization,adUserData입니다.
Airbridge.setDeviceAlias 함수를 통해 유저의 지역 정보와 수집한 유저 동의 정보를 에어브릿지 SDK에 전달하세요.- 에어브릿지 SDK에 유저 동의 정보를 전달한 이후에
startTracking함수를 호출하세요.
메타 디퍼드 앱 링크 설정하기
fetchDeferredAppLink 함수를 사용하면 안 됩니다.- Facebook SDK를 설치합니다. 메타 애즈 가이드를 참고해 주세요.
- 에어브릿지 SDK의
setTrackMetaDeferredAppLinkEnabled함수를 true로 설정합니다.
비활성화 상태로 에어브릿지 SDK 초기화하기
setSDKEnabled 함수를 false로 설정하면 모든 기능을 비활성화한 상태로 에어브릿지 SDK를 초기화할 수 있습니다.
앱 삭제 트래킹 설정하기
에어브릿지는 앱 이벤트를 최근 6개월 동안 1번이라도 트래킹한 유저를 대상으로 사일런트 푸시를 매일 KST(한국표준시) 0시~1시 사이에 보내서 앱 삭제 여부를 확인합니다. 앱 삭제 이벤트는 에어브릿지 리포트와 원본 데이터 추출 등으로 확인할 수 있습니다. 자세한 설정 방법과 설명은 에어브릿지 가이드를 참고해 주세요.서드파티 연동하기
일부 서드파티 솔루션을 연동하기 위해서는 SDK 설정이 필요합니다. 에어브릿지 SDK로 데이터를 수집하기 전에 서드파티 솔루션에 필요한 설정을 마치는 것을 권장합니다. 각 서드파티 솔루션 연동에 필요한 설정은 아래 가이드를 참고해 주세요.에어브릿지와 연동된 서드파티
에어브릿지와 연동된 서드파티
SDK 로그 확인하기
에어브릿지 SDK가 제공하는 로그는 Debug, Info, Warning, Error, Fault 레벨로 구성됩니다. Debug 레벨이 가장 덜 치명적인 로그이고, Fault 레벨이 가장 치명적인 로그입니다. 에어브릿지 SDK는 Warning, Error, Fault 레벨 이상의 로그를 기본적으로 제공합니다.setLogLevel 함수에 로그 레벨을 입력하면 해당 로그 레벨부터 Fault 레벨까지 로그를 확인할 수 있습니다.
Subsystem: co.ab180.airbridge를 입력하면 에어브릿지 SDK 로그만 확인할 수 있습니다.