menu 이용가이드
User Guide for Developer chevron_right SDK Install Guide
iOS SDK
에어브릿지 iOS SDK는 에어브릿지 서비스를 통해 iOS앱에 유입된 설치, 실행, 인앱이벤트, 잔존율 트래킹에 반드시 필요합니다.

광고식별자(IDFA) 이용약관 동의

에어브릿지 iOS SDK의 설치 트래킹을 위해 앱스토어에 앱을 게시할 때 광고식별자(IDFA) 이용약관 동의가 필요합니다. 이때 광고 식별자는 설치 트래킹을 위한 고객의 유니크 식별값으로서만 활용되며, 개인정보 매칭 등의 용도로 사용되지 않습니다. 에어브릿지는 Apple Program License Agreement의 내용을 준수합니다.

  1. 앱스토어에 앱을 게시할 때 Advertising Identifier 항목에 'Yes'라고 체크해 주세요.
  2. 'Attribute this app installation to a previously served advertisement.', 'Limit Ad Tracking Setting in iOS' 두 개 항목을 체크해 주세요.

빠른 설치 및 설정

빠른 설치

iOS에서 지원하는 트래킹 링크 설치 방법은 두 가지로, Cocoapods을 이용하는 방법과 Framework를 직접 다운로드하여 설치하는 방법입니다. Cocoapods은 iOS Third-party 라이브러리의 호환성을 자동, 단순화 시켜주는 관리 툴로 버전에 따라 자동으로 SDK를 설치하고 관리할 수 있습니다. 따라서 Framework를 직접 다운로드 받아 설치하기 보다는 Cocoapods를 사용하시기를 적극 권장합니다.

Cocoapods로 설치

podfile을 다음과 같이 설정해주세요.

pod 'AirBridge'

Framework 직접 다운로드하여 설치

이 링크에서 Framework 파일을 다운받아 해당 파일을 프로젝트안에 Drag-and-Drop 해주세요.

.Zip file MD5 Checksum: C830370CBA965D4E0B0A923E64B6232E

Swift로 작성된 앱에서 트래킹링크 전용 SDK 사용

해당 프레임워크는 Objective-C 언어로 작성이 되었기 때문에, Swift로 작성된 프로젝트에서 이용하기 위해 Bridging Header File을 해당 프로젝트에 추가해야 합니다.

  1. [Command + N] 또는 [File > New > File...] > iOS - Source > Header File 을 클릭합니다.
  2. <YOUR_PROJECT_NAME>-Bridging-Header.h의 이름으로 저장합니다.
  3. 헤더파일 안에 #import <AirBridge/AirBridge.h> 을 추가합니다.
  4. Build SettingsObjective-C Bridging Header 속성안에 /PATH/TO/<YOUR_PROJECT_NAME>-Bridging-Header.h 를 추가합니다.

빠른 설정

앱의 appdelegate 클래스의 didFinishLaunchingWithOptions 메서드에 다음 코드를 추가해 주세요.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  /.../
  [AirBridge getInstance:<"YOUR_APP_TOKEN(앱 토큰)"> appName:<"YOUR_APP_NAME(앱 영문명)"> withLaunchOptions:launchOptions facebookSDKInstalled:NO];
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    /.../
    AirBridge.getInstance(<"YOUR_APP_TOKEN(앱 토큰)">, appName:<"YOUR_APP_NAME(앱 영문명)">, withLaunchOptions:launchOptions, facebookSDKInstalled:false)
    return true
}

설치 확인

  1. 테스트 디바이스에서 앱을 삭제해주세요.
  2. 앱을 빌드하여 해당 디바이스에서 실행해주세요.
  3. 에어브릿지 대시보드 → 앱 선택 → 좌측 메뉴의 '관리' 카테고리 항목 중 'SDK 설치 확인' 선택
  4. 'Mobile SDK 설치 확인' 메뉴에서 해당 디바이스의 '디바이스 UUID (iOS IDFA)' 노출 확인
  • iOS IDFA 확인: iOS 디바이스에서 '설정' → 개인 정보 보호 → 광고 → '광고 추적 제한' 끄기 → Safari 브라우저에서 'UDID.io' 검색 → Tap to find UDID → 허용 → 프로파일 설치 '설치' → 노출되는 페이지(get.udid.io)의 'UDID' 항목의 값이 iOS IDFA 입니다.
  • 'Mobile SDK 설치 확인' 메뉴에서 '디바이스 UUID (iOS IDFA)' 노출이 확인되지 않는다면 빠른 설치에 안내된 대로 설치되었는지 다시 한번 확인해주세요.

User Identity 통합

에어브릿지는 모바일 앱 영역을 넘어서 앱, 웹, 오프라인의 광고 성과분석을 통합하는 "사람 중심의 분석(People-based Analytics)"을 위한 서비스입니다.

한 명의 유저가 한 건의 구매(전환)를 일으키기까지는 다양한 디바이스, 플랫폼, 브라우저를 거치게 되며, 이러한 과정에서 얻은 정보를 바탕으로 마침내 구매(전환)에 이르게 됩니다.

이러한 흐름에서 하나의 디바이스, 하나의 플랫폼으로부터 수집된 데이터로는 파편화된 분석을 할 수 밖에 없지만 사람 중심의 분석은 웹, 앱, 오프라인까지 다양한 고객의 접촉점을 한 명의 유저 중심으로 이어주기 때문에 전체 유저 전환 경로를 통한 분석을 할 수 있습니다.

UserID 및 UserEmail 설정

User Identity 통합을 위한 여러 방법의 하나로, iOS SDK 설치 시 아래와 같이 '사용자 ID' 혹은 '사용자 Email' 중 한 가지를 반드시 설정할 것을 권장합니다.

// ...
[[AirBridge instance] setUser:@"test-user-id"];               
[[AirBridge instance] setEmail:@"test-email@foo.com"];   
// ...
  • 이 메서드의 호출시, 웹, 모바일, 오프라인 통합 분석을 위하여 UserId와 UserEmail중 하나의 값은 반드시 설정할 것을 권장합니다.
  • 이 메서드의 호출시 사용되는 값인 사용자 정보는 모두 Hash화(SHA256)되어 전송되며, 관리됩니다.
  • 이 메서드를 통해 내부용 사용자 아이디와 사용자 이메일을 넣을 경우, 해당 값을 S3에서 csv 형식의 데이터(externalUserID, externalUserEmail)로 다시 받아 해당 식별자를 가진 사용자가 어떤 유입경로에서 왔는지를 확인하고 데이터를 통합할 수 있습니다. 또한 이 값은 Server-to-Server 인앱 이벤트 전송과 크로스플랫폼 동일 사용자 매칭에도 사용할 수 있습니다.

기본 인앱이벤트 설정

앱 설치 후 사용자의 다양한 행동 중 중요한 행동(전환)들을 인앱이벤트로 등록하고 유입경로별로 성과를 측정할 수 있습니다.

보편적으로 많이 사용하는 “회원가입”, “로그인”, “홈화면 조회”, “상품리스트 조회”, “검색결과 조회”, “상품상세페이지 조회”, “장바구니 담기”, “결제”는 기본 인앱이벤트로 별도 매서드가 제공되며, 그 외 원하는 커스텀 인앱이벤트는 SDK에서 매소드(Method)를 동적으로 호출하면 1회 이상 달성시, 이를 대시보드에서 확인할 수 있습니다.

에어브릿지는 총 8개의 기본 인앱이벤트를 지원하며 SDK 설치 시 별도 매소드 호출만으로 트래킹이 가능합니다. 이벤트에 첨부되는 모든 정보는 선택적(Optional)이므로, 정보를 첨부하지 않아도 이용할 수 있습니다. 그러나 이벤트에 대한 많은 정보는 리마케팅 캠페인 및 DSP 연동 등 자세하고 정확한 통계 제공에 도움이 될 수 있으므로 전송하는 것을 권장합니다.

  1. 회원가입
  2. 로그인
  3. 홈화면 조회
  4. 상품리스트 조회
  5. 검색결과 조회
  6. 상품상세페이지 조회
  7. 장바구니 담기
  8. 결제
  9. 로그아웃

회원가입

회원가입 인앱이벤트를 트래킹하기 위해서는 사용자가 회원가입 실행 시 sendSignup를 전송해 주세요.

#import <AirBridge/ABUserEvent.h>

ABUser *user = [[ABUser alloc] init];
user.userEmail = @"donutt@ab180.co";
user.userID = @"donutt@ab180.co";
ABUserEvent *userEvent = [[ABUserEvent alloc] initWithUser:user];
[userEvent sendSignup];
  • 이 메서드의 호출시, 웹, 모바일, 오프라인 통합 분석을 위하여 UserId와 UserEmail중 하나의 값은 반드시 설정할 것을 권장합니다.
  • 이 메서드의 호출시 사용되는 값인 사용자 정보는 모두 Hash화(SHA256)되어 전송되며, 관리됩니다.
  • 이 메서드를 통해 내부용 사용자 아이디와 사용자 이메일을 넣을 경우, 해당 값을 S3에서 csv 형식의 데이터(externalUserID, externalUserEmail)로 다시 받아 해당 식별자를 가진 사용자가 어떤 유입경로에서 왔는지를 확인하고 데이터를 통합할 수 있습니다. 또한 이 값은 Server-to-Server 인앱 이벤트 전송과 크로스플랫폼 동일 사용자 매칭에도 사용할 수 있습니다.

로그인

로그인 인앱이벤트를 트래킹하기 위해서는 사용자가 로그인 실행시 sendSignin를 전송해 주세요.

#import <AirBridge/ABUserEvent.h>

ABUser *user = [[ABUser alloc] init];
user.userEmail = @"donutt@ab180.co";
user.userID = @"donutt@ab180.co";
ABUserEvent *userEvent = [[ABUserEvent alloc] initWithUser:user];
[userEvent sendSignin];
  • 이 메서드의 호출시, 웹, 모바일, 오프라인 통합 분석을 위하여 UserID와 UserEmail중 하나의 값은 반드시 설정할 것을 권장합니다.
  • 이 메서드의 호출시 사용되는 값인 사용자 정보는 모두 Hash화(SHA256)되어 전송되며, 관리됩니다.
  • 이 메서드를 통해 내부용 사용자 아이디와 사용자 이메일을 넣을 경우, 해당 값을 S3에서 csv 형식의 데이터(externalUserID, externalUserEmail)로 다시 받아 해당 식별자를 가진 사용자가 어떤 유입경로에서 왔는지를 확인하고 데이터를 통합할 수 있습니다. 또한 이 값은 Server-to-Server 인앱 이벤트 전송과 크로스플랫폼 동일 사용자 매칭에도 사용할 수 있습니다.

홈 화면 조회

홈 화면 조회 인앱이벤트를 트래킹하기 위해서는 사용자가 앱 내에서의 홈 화면으로 이동시 sendViewHome을 전송해 주세요.

#import <AirBridge/ABEcommerceEvent.h>

ABEcommerceEvent *ecommerceEvent = [[ABEcommerceEvent alloc] init];
[ecommerceEvent sendViewHome];

상품 리스트 조회

상품 리스트 조회 인앱이벤트를 트래킹하기 위해서 사용자가 상품 리스트를 조회할 경우 sendViewProductList를 전송해 주세요.

#import <AirBridge/ABEcommerceEvent.h>

ABProduct *product1 = [[ABProduct alloc] init];
product1.idx = @"idx1";
product1.name = @"name1";
product1.price = @100;
product1.currency = @"USD";
product1.orderPosition = @1;

ABProduct *product2 = [[ABProduct alloc] init];
product2.idx = @"idx2";
product2.name = @"name2";
product2.price = @200;
product2.currency = @"USD";
product2.orderPosition = @2;

ABEcommerceEvent *ecommerceEvent = [[ABEcommerceEvent alloc] initWithProducts:@[product1, product2]];

[ecommerceEvent sendViewProductList]

검색결과 조회

검색결과 조회 인앱이벤트를 트래킹하기 위해서는 사용자가 상품을 검색할 경우 sendViewSearchResult를 전송해 주세요.

#import <AirBridge/ABEcommerceEvent.h>

ABProduct *product1 = [[ABProduct alloc] init];
product1.idx = @"idx1";
product1.name = @"name1";
product1.price = @100;
product1.currency = @"USD";
product1.orderPosition = @1;

ABProduct *product2 = [[ABProduct alloc] init];
product2.idx = @"idx2";
product2.name = @"name2";
product2.price = @200;
product2.currency = @"USD";
product2.orderPosition = @2;

ABEcommerceEvent *ecommerceEvent = [[ABEcommerceEvent alloc] initWithProducts:@[product1, product2]];

ecommerceEvent.query = @"query";
[ecommerceEvent sendViewSearchResult];

상품 상세페이지 조회

상품 상세페이지 조회 인앱이벤트를 트래킹하기 위해서는 사용자가 상품의 상세정보를 조회할 경우 sendViewProductDetail를 전송해 주세요.

#import <AirBridge/ABEcommerceEvent.h>

ABProduct *product1 = [[ABProduct alloc] init];
product1.idx = @"idx1";
product1.name = @"name1";
product1.price = @100;
product1.currency = @"USD";
product1.orderPosition = @1;

ABProduct *product2 = [[ABProduct alloc] init];
product2.idx = @"idx2";
product2.name = @"name2";
product2.price = @200;
product2.currency = @"USD";
product2.orderPosition = @2;

ABEcommerceEvent *ecommerceEvent = [[ABEcommerceEvent alloc] initWithProducts:@[product1, product2]];
[ecommerceEvent sendViewProductDetail];

장바구니 담기

장바구니 담기 인앱이벤트를 트래킹하기 위해서는 사용자가 장바구니에 상품을 담았을 때 sendAddProductToCart를 전송해 주세요.

#import <AirBridge/ABEcommerceEvent.h>

ABProduct *product1 = [[ABProduct alloc] init];
product1.price = @100;
product1.currency = @"USD";
product1.quantity = @3;

ABEcommerceEvent *ecommerceEvent = [[ABEcommerceEvent alloc] initWithProducts:@[product1]];

[ecommerceEvent sendAddProductToCart];

결제

결제 인앱이벤트를 트래킹하기 위해서는 사용자가 결제를 진행할 경우 sendCompleteOrder를 전송해 주세요.

#import <AirBridge/ABEcommerceEvent.h>

ABProduct *product1 = [[ABProduct alloc] init];
product1.price = @100;
product1.currency = @"USD";

ABEcommerceEvent *ecommerceEvent = [[ABEcommerceEvent alloc] initWithProducts:@[product1]];
ecommerceEvent.isInAppPurchase = NO;
ecommerceEvent.transactionID = @"123456789"
ecommerceEvent.eventValue = [NSNumber numberWithInt:100];
[ecommerceEvent sendCompleteOrder];

로그아웃

사용자의 로그아웃 실행시에는 'expireUser'를 전송해 주세요.

#import <AirBridge/ABUserEvent.h>

ABUserEvent *userEvent = [[ABUserEvent alloc] init];
[userEvent expireuser];

커스텀 인앱이벤트 설정

원하는 인앱이벤트(e.g. 신규주문, 찜하기 등)를 추가로 등록할 수 있습니다.
커스텀 인앱이벤트를 추가하기 위해서는 앱 내부에서 해당 인앱이벤트가 달성될 때, 인앱이벤트 식별자를 담아 다음과 같이 메서드를 호출해 주세요.

// ...
[[AirBridge instance] goalWithCategory:@"인앱이벤트 식별자"];
// ...

Category / Action / Label을 활용한 인앱이벤트 구분

에어브릿지는 기본적으로 Category, Action, Label의 3가지 구분값의 조합으로 인앱이벤트별 통계를 제공합니다. 기본 인앱이벤트의 경우 Category의 값이 미리 고정되어 있으므로 Action, Label의 2가지 구분값을 자유롭게 활용할 수 있으며, 구분값을 조합할 수 있는 기본 인앱이벤트는 “회원가입”, “로그인”, “장바구니 담기”, “결제”의 4개 이벤트입니다. 커스텀 통계 리포트는 Category, Action, Label의 3개 구분값 모두를 활용할 수 있습니다. 실제 활용 예시는 다음과 같습니다.

  1. (기본) Category : 회원가입 (고정) / Action : “서울” / Label : “남자”
  2. (기본) Category : 회원가입 (고정) / Action : “부산” / Label : “여자”
  3. (기본) Category : 결제 (고정) / Action : “할인쿠폰사용” / Label : “카카오페이사용”
  4. (커스텀) Category : “user-subscription-canceled” / Action : “premium” / Label : 미입력

너무 많은 Action과 Label의 경우의 수 조합은 실시간 통계 리포트의 수합을 느리게 할 수 있으므로 모든 인앱이벤트를 합쳐 최대 10,000개 이하의 경우의 수로 조합하여 사용하기를 권장드립니다.

모바일 SDK에서는 위의 값들을 담아 앱 내부에서 해당 인앱이벤트가 달성될 때 다음과 같이 메서드를 호출해 주세요.

[[AirBridge instance] goalWithCategory:(String Type) // 대시보드 목표 식별자                                   
            action:(String Type) // 액션
            label:(String Type) // 라벨
            value:(Number Type) // 값
            customAttributes:(Dictionary Type)]; // 기타

딥링크 설정

연동 준비

Apple Developer Guide(iOS 9.2이상)확인 필요

iOS 9.2부터 Apple에서는 딥링크 관련한 새로운 정책을 적용하기 시작했습니다. 이에 따라, 딥링크 설정과 관련하여 Apple에서 제공하는 Developer Guide를 반드시 확인하시기 바랍니다.

Custom URI Scheme 방식의 딥링크 연동하기

연동을 위해서는 기존 앱의 Custom URI Scheme (ex. your-app-name://)를 에어브릿지 대시보드에 등록해야 합니다.

(현재 등록된 Custom URI Scheme는 Xcode의 ‘Info’ 탭 하단에서 확인할 수 있습니다)

등록이 완료될 경우 JS 분기 방식을 통한 딥링크 사용이 활성화되며, 마케터들이 대시보드에서 트래킹 링크를 생성 시 딥링크에 대한 path와 query string 파라미터를 입력하여 사용할 수 있습니다. (Custom URI Scheme 혹은 appID 중 1개 이상 연동 필수)

에어브릿지는 Universal Link 방식의 딥링크 연동을 지원합니다. Universal Link는 iOS 사파리(Safari) 브라우저 환경에서 HTTPS 프로토콜을 갖춘 인증된 링크의 클릭만으로도 앱이 설치되어 있을 경우에는 앱 내로 사용자를 보내고, 앱이 설치되어 있지 않은 경우 ‘원하는' 대체 링크(Fallback)로 사용자를 전송하도록 도와줍니다.

Universal Link 연동이 완료될 경우 HTTPS 분기 방식을 통한 딥링크 사용이 활성화되며, 마케터들이 대시보드에서 트래킹 링크를 생성 시 딥링크에 대한 path와 query string 파라미터를 입력하여 사용할 수 있게 됩니다. (Custom URI Scheme 혹은 appID 중 1개 이상 연동 필수) 연동 절차는 다음과 같습니다.

  1. Xcode에서 YOURAPPNAME.airbridge.io 도메인을 설정에 추가
    에어브릿지의 트래킹 링크는 https://YOURAPPNAME.airbridge.io 형태를 가지고 있습니다. 따라서 사용자는 우선 Xcode의 ‘Capabilities’ 탭의 ‘Associated Domains’ 섹션에서 “applinks:YOURAPPNAME.airbridge.io”를 추가해야 합니다. (YOURAPPNAME(앱 영문명)은 '앱정보 관리 > 앱 기본 정보'에서 확인할 수 있습니다.)

  1. 에어브릿지 대시보드에 appID 등록
    또한 사용자는 appID를 에어브릿지 대시보드에 등록해야 합니다. appID는 team ID를 넣거나 혹은 app ID prefix를 bundle ID와 조합한 값으로 애플 개발자 사이트에서 Certificates, Identifiers & Profiles > Identifiers > App IDs > 해당 앱으로 들어갈 시 확인할 수 있습니다. (확인하기)
플랫폼 받아야 할 정보 해당 값 예시
iOS
(Universal Link)
appID 9JA89QQLNQ.com.apple.wwdc

예컨대 위의 스크린샷에서 보면 Prefix와 ID를 ‘.’을 구분자로 합친 값이 appID가 됩니다. 이 appID를 에어브릿지 대시보드 > 딥링크 설정 > iOS appID 란에 입력하십시오.

에어브릿지 대시보드에 등록 이후에 http://YOURAPPNAME.airbridge.io/.well-known/apple-app-site-association 형식의 링크로 접속하여 Universal Link 연동을 위한 모든 정보가 잘 들어있는지 테스트할 수 있습니다. (YOURAPPNAME에는 해당 앱 영문명을 넣어주면 됩니다.)

딥링크 핸들링

에어브릿지는 기존의 핸들링 파트에 에어브릿지 코드 추가를 통해 딥링크 실행을 추적하는 ‘자체 핸들러에 에어브릿지 코드 추가' 방식을 지원합니다. 이 경우 Custom URI 방식과 Universal Links 방식의 delegate가 별도로 있기 때문에, 두가지 방식 모두 추가해야 한다는 것을 유의해야 합니다.

자체 핸들러에 에어브릿지 코드 추가

기존에 자체적으로 딥링크를 처리하는 delegate 안에 아래와 같은 매서드를 호출해 주세요.

[[AirBridge instance] setdeeplinks:url];

실제 적용 예시는 다음과 같습니다.

Custom URI Delegate ( For supporting upper iOS 9.0 )

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    [[AirBridge instance] setdeeplinks:url];
    /* else actions */
  ...
}

Custom URI Delegate ( For supporting under iOS 9.0 )

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    [[AirBridge instance] setdeeplinks:url];
    /* else actions */
    ...
    return YES;
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
    ...
    [[AirBridge instance] setdeeplinks:userActivity.webpageURL];
    /* else actions */
   ...
}

Facebook으로부터 딥링크를 받으려면, Facebook에서 제공하는 지연된 딥링크 기능을 사용하지 말아야 합니다. FBSDKAppLinkUtility의 fetchDeferredAppLink: 메서드 사용을 중지해주시고, 대신 Airbridge 핸들러를 사용해 주세요. 코드 레벨에서의 더욱 자세한 적용은 이 링크에서 확인하실 수 있습니다.

트래킹링크에서 제공하는 '지연된 딥링크 설치(Deferred Deep Llink)'란 트래킹 링크에서 사용된 다섯 가지의 마케팅 심화 속성 값을 포함한 임의의 Query String(e.g. http://abr.ge/?campaign=facebook&value=100)을 앱이 실행 될 때 앱 내부의 특정 CallBack 핸들러(앱의 특정 페이지)로 받아 볼 수 있도록 하는 기능입니다.

예를 들어 특정 프로모션의 트래킹 링크를 통해 앱을 설치한 사용자가 앱 설치 후 해당 프로모션의 페이지로 바로 연결할 수 있습니다. 이와 같이 끊기지 않는 일관된 사용자 경험 제공으로 앱 초기 유입 이탈을 방지할 수 있습니다.

'지연된 딥링크 설치' 기능을 지원하기 위해, appdelegate 클래스의 SDK 초기화 코드 밑에 다음과 같이 딥링크 설치 CallBack을 설정해 주세요.

딥링크 설치 CallBack 설정

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //...
    [[AirBridge instance] registSimpleLinkRoutingCallback:^(NSString *routing, NSDictionary *params, NSError *error) {
        // route info & querystring info
        NSLog(@"%@",params);
        NSString *campaignFromWeb = [params valueForKey:@"campaign"];
        NSString *valueFromWeb = [params valueForKey:@"value"];
        //... insert logics as you wish ...
    }];
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    //...
    AirBridge.instance().registSimpleLinkRoutingCallback { (routing:String!, params:[NSObject: AnyObject]!, error: NSError!) -> Void in
        // route info & querystring info
        let campaignFromWeb = params["campaign"];
        let valueFromWeb = params["value"];
        //... insert logics as you wish ...
    }
    //...
}

iOS 앱 세션 기간 커스텀 설정

iOS 플랫폼에서 앱 세션 기간의 커스텀 설정 방법에 대한 안내입니다.

기본 설정값

에어브릿지 iOS 플랫폼에서 앱 세션 기간의 기본값은 300초(5분)입니다.

앱 세션 기간 커스텀 설정

에어브릿지 iOS 플랫폼에서는 앱 세션 기간을 사용자의 필요에 따라 설정할 수 있습니다.

[[AirBridge instance] setCustomSessionTimeOut:(NSInteger) value];

설정 기간은 integer로 기본 단위는 s(sec)이며, 0 이상이며 최대값이 604,800(7일)인 값이어야 합니다.

iOS WIFI 스캐닝 정보 수집 플래그 설정(오프라인 데이터 분석용)

iOS 플랫폼에서 WIFI 스캐닝 정보 수집 플래그 설정에 대한 안내입니다.

기본 설정값

에어브릿지 iOS 플랫폼에서 WIFI 스캐닝 정보 수집 플래그 설정의 기본값은 false입니다.

WIFI 스캐닝 정보 수집 플래그 On/Off 설정

에어브릿지 iOS 플랫폼에서 WIFI 스캐닝 정보 수집 플래그를 사용자의 필요에 따라 설정할 수 있습니다.

[[AirBridge instance] setWifiInfoUsability:(BOOL) value];

설정값은 true, false중에서 사용자의 필요에 따라 선택하여 설정할 수 있습니다.

iOS SDK v1.x 업그레이드 변경사항 안내


V 1.0.5 - 2017.10.18

  1. 앱이 백그라운드 상태에서 포그라운드 상태로 변경될때, 포그라운드 이벤트가 전송되도록 변경되었습니다.
  2. 구매와 관련한 이벤트 전송시 transactionID를 포함하여 전송하도록 변경되었습니다.

V 1.0.0 - 2017.09.13

기존 에어브릿지 SDK를 이용하셨다면 아래 변경사항을 참고해 주세요.

SDK Initialization 변경사항

보안체계를 강화하기 위해 기존 SDK에서 사용하던 UserToken과 기존의 숫자형태의 AppToken을 더 이상 사용하지 않습니다. 그 대신 새롭게 생성된 AppToken을 사용하며, 여기에 사용자가 앱 등록시 입력한 ‘앱 영문명’ 을 사용합니다.

  • 기존: AirBridge* getInstance:(NSString *)userToken appToken:(NSString *)appToken
    (여기서 AppToken은 암호화되기 전 숫자 방식으로, 변경된 AppToken에 사용하시면 안됩니다!!)
  • 변경: AirBridge* getInstance:(NSString *)appToken appName:(NSString *)appName

변경된 새로운 값들은 대시보드 내 '앱정보 관리>앱 기본 정보'에서 확인할 수 있습니다. 이 변경사항을 적용하지 않을 경우 설치 이후 통계 데이터를 받아볼 수 없습니다. Throw Exception을 실행하므로 꼭 변경해주세요.

기본 인앱이벤트 변경사항

정식 1.0.0 버전이 배포되면서, 새로운 기본 목표가 생겼으며 회원가입, 로그인 이벤트에도 변경이 있었습니다. 최대한 Instance 의존도를 없애고 사용자가 자유롭게 작업할 수 있도록 새로운 Event 모듈을 만들었습니다.

커스텀 인앱이벤트 메소드 변경사항

더욱 가치있는 인앱이벤트 트래킹 서비스를 제공할 수 있도록 인메서드 파라미터를 변경하고, 메서드명을 보다 직관적으로 변경하였습니다.
기존에 사용하시던 goalDescription에 해당하는 파라미터 값을 category에 넣어주시면 됩니다.

  • 기존: BOOL simpleGoalWithDescription:(NSString *)goalDescription
  • 변경: BOOL goalWithCategory:(NSString *)category

category에는 인앱이벤트 식별자를 적용해주세요.

인앱이벤트 식별자는 대시보드 내 '인앱이벤트 관리' 메뉴에서 확인할 수 있습니다.

검색결과
keyboard_return 이전으로