Skip to main content
에어브릿지 iOS SDK를 업데이트하는 과정에 필요한 내용을 확인할 수 있습니다. 현재 버전 이후부터 업데이트 이후 버전까지의 내용을 모두 확인하는 것을 권장합니다.

v1.x에서 v4.0으로 업데이트

에어브릿지 iOS SDK를 v4.0으로 업데이트하면 확인해 주세요. iOS SDK 이름이 AirBridge에서 Airbridge로 변경되었습니다. AirBridge 클래스가 Airbridge 클래스로 변경되었습니다. 함수와 옵션의 이름이 변경되었습니다.

SDK 설치 및 초기화

CocoaPods 패키지명, SwiftPackageManager Git 주소, 직접 설치 다운로드 URL 등이 변경되었습니다. 기존 iOS SDK를 삭제한 후에 에어브릿지 가이드에 따라 다시 설치해 주세요. SDK 초기화에 사용하는 AirBridge.getInstance 함수가 Airbridge.initializeSDK 함수로 변경되었습니다. 또한 옵션 설정 함수가 AirbridgeOption, AirbridgeOptionBuilder 클래스들로 변경되었습니다. SDK의 옵션은 더는 런타임에 변경되지 않습니다. 아래 맵핑을 참고해 새로운 SDK 초기화 코드를 작성해 주세요.

딥링크

AirBridge.setDeeplinkCallback 함수가 Airbridge.handleDeeplink 함수와 handleDeferredDeeplink 함수로 대체되었습니다.
기존 AirBridge.setDeeplinkCallback 함수를 에어브릿지 대시보드에 등록한 스킴딥링크를 처리하는 함수와 다른 딥링크를 처리하는 함수로 분리해 구현해야 합니다. 아래 DeeplinkHandler 클래스를 참고해 주세요.
AirBridge.deeplink().handle (또는 handleUniversalLink)와 AirBridge.deeplink().handleURLSchemeDeeplinkAirbridge.trackDeeplink로 대체되었습니다.
  1. 시스템 방식에 따라 AirBridge.deeplink().handle (또는 handleUniversalLink)와 AirBridge.deeplink().handleURLSchemeDeeplink 함수를 호출하는 부분을 삭제합니다.
  2. Airbridge.trackDeeplink 함수와 Airbridge.handleDeeplink 함수를 호출합니다.
Airbridge.handleDeeplink 함수는 에어브릿지 딥링크가 입력되면 true와 함께 스킴 딥링크를 콜백으로 제공합니다. 에어브릿지 딥링크가 아니면 false와 함께 콜백을 제공하지 않습니다.
  1. onSuccess 콜백에서 에어브릿지로 실행된 스킴 딥링크를 처리하는 함수를 호출합니다.
Airbridge.handleDeeplink 함수는 에어브릿지 딥링크가 입력되면 true를 반환하고 Scheme 딥링크로 변환하여 onSuccess에 전달합니다. 그리고 에어브릿지 딥링크가 아닌 URL이 입력되거나 SDK가 초기화되지 않았으면 false를 반환하기만 합니다.
SDK를 초기화하는 부분에서Airbridge.handleDeferredDeeplink 함수를 호출합니다. onSuccess 콜백에서 에어브릿지로 실행된 스킴 딥링크를 처리하는 함수를 호출합니다.
Airbridge.handleDeferredDeeplink 함수는 에어브릿지 딥링크가 입력되면 true와 함께 에어브릿지 딥링크 획득을 기다리거나 스킴 딥링크로 변환해 onSuccess로 전달합니다. 해당 스킴 딥링크를 활용해 유저를 설정한 목적지로 보낼 수 있습니다.또는 저장된 에어브릿지 딥링크가 없으면 nil을 전달합니다. SDK가 초기화되지 않았거나 Airbridge.handleDeferredDeeplink 함수를 처음으로 호출하지 않았다면 false를 전달합니다.
커스텀 도메인을 등록하는 방법이 변경되었습니다. 기존에는 Info.plist의 co.ab180.airbridge.trackingLink.customDomains 키에 커스텀 도메인을 밸류로 추가했습니다. 변경된 방식은 SDK 초기화 단계에서 setTrackingLinkCustomDomains 함수를 호출하여 추가하는 방식입니다.
SDK 초기화 코드에서 setTrackingLinkCustomDomains 함수를 호출해 주세요.

인앱 이벤트 및 유저 정보

주의하세요기존 totalValue 대신 AirbridgeAttribute.VALUE에 값을 입력해 주세요.setSemantics의 totalValue를 사용하고 setValue로 밸류를 정의하면 totalValue가 밸류를 덮어 쓰는 로직은 iOS SDK v4부터 삭제되었습니다.
ABInAppEvent 클래스가 Airbridge.trackEvent 함수로 대체되었습니다. 아래 가이드에 따라 ABInAppEvent 클래스와 setAction, setLabel, setValue, setSemantics, setCustoms를 Airbridge.trackEvent함수로 변경해 주세요.
  • setCategory: ABCategory를 사용하고 있다면 AirbridgeCategory를 사용해야 합니다. String을 사용하고 있다면 그대로 category 파라미터에 입력합니다.
  • setAction: semanticAttributes 파라미터의 AirbridgeAttribute.ACTION 키에 입력합니다.
  • setLabel: semanticAttributes 파라미터의 AirbridgeAttribute.LABEL 키에 입력합니다.
  • setValue: semanticAttributes 파라미터의 AirbridgeAttribute.VALUE 키에 입력합니다.
  • setSemantics: semanticAttributes 파라미터에 키로 ABSemanticsKey를 사용하고 있다면 AirbridgeAttribute를 사용합니다. String을 사용하고 있다면 그대로 입력합니다. 밸류는 키와 관계 없이 그대로 입력합니다.
  • setCustoms: customAttributes 파라미터에 키, 밸류를 그대로 입력합니다.
아래에서 AirbridgeCategory, AirbridgeAttribute 매핑과 Airbridge.trackEvent 함수를 참고해 주세요.
AirBridge.setDeviceAlias 관련 함수가 Airbridge.setDeviceAlias 관련 함수로 대체되었습니다.
AirBridge.state().setUser 관련 함수가 Airbridge.setUser 관련 함수로 대체되었습니다. 유저 정보를 한번에 설정하는 setUser 함수는 지원하지 않습니다.

추가 설정하기

AirBridge.placement().click 함수와 AirBridge.placement().impression 함수가 Airbridge.click 함수와 Airbridge.impression 함수로 대체되었습니다.
AirBridge.webInterface().inject 함수가 Airbridge.setWebInterface 함수로 대체되었습니다.

v1.x 업데이트

iOS SDK 각 버전의 주요 변경사항을 참고해 주세요.

v1.36.0 - 딥링크

2023년 9월 4일 이후 생성된 에어브릿지 앱은 딥링크 콜백에서 제공되는 딥링크 URL이 에어브릿지 대시보드에 입력된 내용을 2번 디코딩해 제공하는 문제를 해결했습니다. 해당 문제는 iOS SDK v1.34.0 ~ 1.35.1에서 발생했습니다.

v1.34.0 - 딥링크

2023년 9월 4일 이후 생성된 에어브릿지 앱은 딥링크 콜백에 제공되는 딥링크 URL에 airbridge_referrer를 추가하지 않고 에어브릿지 대시보드에 입력한 정보로 전달됩니다. 2023년 9월 4일 이전에 생성된 에어브릿지 앱을 사용하는 고객사 중에서 해당 기능이 필요한 고객사는 에어브릿지 CSM에게 요청해 주세요. 담당 CSM이 없는 경우 문의하기를 통해 요청해 주세요.

v1.33.0 - SKAdNetwork

SKAdNetwork 4.0을 지원하면서 전환값 계산 방식이 변경되었습니다. 유저가 iOS SDK v1.33.0 미만을 설치한 앱에서 v1.33.0 이상이 있는 앱으로 업데이트하면 마지막에 계산된 전환값을 최종 값으로 확정합니다.

v1.32.1 - 개인정보보호 설정

trackingAuthorizeTimeout의 기본 설정이 0초에서 30초로 변경되었습니다.