(iOS v3.0.x) 1. 공통 마이그레이션 가이드

목차

개요

이 장에서는 BuzzAd iOS용 SDK 버전을 3.0으로 업데이트하기 위해 필요한 설정을 안내합니다.

 

주요 변경 사항

BuzzAd iOS용 SDK가 포함하는 퍼블릭 클래스를 내부 클래스와 구별할 수 있도록 퍼블릭 클래스의 Prefix를 BZV로 통일했습니다. 또한, 퍼블릭 데이터 클래스들의 확장성을 위해 빌더 패턴을 사용하여 생성하도록 변경했습니다.

 

SDK 버전 업데이트

CocoaPods를 사용하여 추가한 지면별 라이브러리를 BuzzAdBenefit 라이브러리로 대체하고 버전을 3.0.6으로 업데이트 하세요.

2.x (변경 전)
pod 'BuzzAdBenefitFeed', '= 2.x.x' pod 'BuzzAdBenefitNative', '= 2.x.x' pod 'BuzzAdBenefitInterstitial', '= 2.x.x'
3.x (변경 후)
pod 'BuzzAdBenefit', '= 3.0.6'

 

SDK 초기화하기

BuzzAd iOS용 SDK 3.0에서 SDK를 초기화하려면 아래의 순서대로 기존 코드를 수정하세요.

  1. AppDelegate에 추가한 BABConfig를 생성하는 코드와 BuzzAdBenefit를 초기화하는 코드를 삭제하세요.

  2. AppDelegate에서 빌더 블록을 이용해 BZVConfig를 생성하고 BuzzAdBenefit를 초기화하세요.

Objective-C
2.x (변경 전)
@import BuzzAdBenefit; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { BABConfig *config = [[BABConfig alloc] initWithAppId:@"YOUR_APP_ID"]; [BuzzAdBenefit initializeWithConfig:config]; return YES; } @end
3.x (변경 후)
Swift
2.x (변경 전)
3.x (변경 후)

 

사용자 프로필 설정 및 토큰 발급 콜백 받기

BuzzAd iOS용 SDK 3.0에서는 사용자 프로필을 설정하는 기능을 로그인 기능으로 변경했습니다. 또한, 기존에 BABSessionRegisteredNotification을 구독하여 사용자 프로필 설정이 완료된 시점을 확인하는 코드를 로그인 API의 onSuccess 블록으로 대체했습니다. 아래의 순서대로 기존 코드를 수정하세요.

  1. BABUserProfile를 생성하는 코드와 BuzzAdBenefitsetUserProfile 함수를 호출하는 코드를 삭제하세요.

  2. 빌더 블록을 이용해 BZVLoginRequest를 생성하고 BuzzAdBenefitlogin 함수를 호출하여 로그인을 요청하세요.

  3. BABSessionRegisteredNotification을 구독하여 사용자 프로필 설정이 완료된 시점에 수행하던 동작을 login함수의 onSuccess 블록에서 수행하도록 변경하세요.

노티피케이션 전송 및 수신이 필요하다면 onSuccess 블록에서 자체 구현한 노티피케이션을 전송할 수 있습니다.

Objective-C
2.x (변경 전)
3.x (변경 후)
Swift
2.x (변경 전)
3.x (변경 후)

 

커스텀 런처 구현하기

사용자가 클릭한 광고나 콘텐츠를 직접 구현한 커스텀 인앱 브라우저로 보여주기 위해 기존에 커스텀 런처를 사용하는 경우에만 해당합니다.

BuzzAd iOS용 SDK 3.0에서는 커스텀 런처의 open 함수에서 받던 delegate 인자를 BZVLauncher 프로토콜의 프로퍼티로 대체했습니다. 또한, 직관적으로 기능을 파악할 수 있도록 delegate 함수들의 이름을 명확하게 변경했습니다. 아래의 순서대로 기존 코드를 수정하세요.

  1. BABCustomLauncher 프로토콜을 BZVCustomLauncher 프로토콜로 교체하세요.

  2. 커스텀 런처 클래스에 BZVLauncherDelegate 타입의 delegate 변수를 추가하세요.

  3. 커스텀 런처 클래스의 open 함수를 호출할 때마다 인자로 넘겨주었던 delegate를 커스텀 런처 클래스의 delegate 프로퍼티로 설정하세요.

Objective-C
2.x (변경 전)
3.x (변경 후)
Swift
2.x (변경 전)
3.x (변경 후)

 

사용자의 활동 추적 권한 획득 팝업 제공하기

기존에 BuzzAd iOS용 SDK를 이용해 활동 추적 혀용 권한 팝업을 표시하는 경우에만 해당합니다.

BuzzAd iOS용 SDK 3.0에서는 사용자 프로필 설정 기능을 로그인 기능으로 변경하고 로그인 API 호출 시 활동 추적 허용 권한 팝업을 표시할 수 있도록 변경했습니다.

BuzzAdBenefitsetUserProfile 함수 호출 시점에 설정하던 showAppTrackingTransparencyDialog 플래그를 login 함수 호출 시점에 설정하세요.

Objective-C
2.x (변경 전)
3.x (변경 후)
Swift
2.x (변경 전)
3.x (변경 후)

 

액션형 광고 설정하기

BuzzAd iOS용 SDK 3.0에서 액션형 광고를 설정하려면 [BuzzAdBenefit showInquiryPageOnViewController:unitId:] 함수를 [BuzzAdBenefit presentInquiryPageOnViewController:unitId:]로 변경하세요.

Objective-C
2.x (변경 전)
3.x (변경 후)
Swift
2.x (변경 전)
3.x (변경 후)

 

동영상 광고 재생 조건 변경하기

BuzzAd iOS용 SDK 3.0에서 동영상 광고의 자동 재생 조건을 변경하려면 아래의 순서대로 기존 코드를 수정하세요.

  1. BABConfig를 생성하고 BuzzAdBenefit에 설정하는 코드를 삭제하세요.

  2. 빌더 블록을 이용해 BZVConfig를 생성하고 BuzzAdBenefit에 설정하세요.

Objective-C
2.x (변경 전)
3.x (변경 후)
Swift
2.x (변경 전)
3.x (변경 후)

 

API 변경 내역

2.x (변경 전)

3.0 (변경 후)

설명

2.x (변경 전)

3.0 (변경 후)

설명

BABConfig

BZVConfig

클래스의 이름을 변경하고 빌더 블록을 이용해 생성하도록 변경했습니다.

BABUserProfile

BZVLoginRequest

클래스의 이름을 변경하고 빌더 블록을 이용해 생성하도록 변경했습니다.

[BuzzAdBenefit setUserProfile:]

[BuzzAdBenefit loginWithBlock:onSuccess:onFailure]

함수의 이름을 변경하고 onSuccessonFailure 블록을 인자로 추가했습니다.

BABSessionRegisteredNotification

[BuzzAdBenefit loginWithBlock:onSuccess:onFailure]

사용자 프로필 등록이 완료된 시점에 노티피케이션을 발행하는 대신에 [BuzzAdBenefit loginWithBlock:onSuccess:onFailure] 함수에서 onSuccess 블록을 제공하도록 변경했습니다.

BABCustomLauncher

BZVCustomLauncher

클래스의 이름을 변경하고 BZVCustomLauncherDelegate을 변수로 추가하였습니다.

BABCustomLauncherDelegate

BZVCustomLauncherDelegate

클래스의 이름을 변경했습니다.

BABLaunchInfo

BZVLaunchInfo

클래스의 이름을 변경하고 ad, article 변수의 타입을 각각 BZVNativeAd, BZVNativeArticle로 변경했습니다.

[BuzzAdBenefit setUserProfile:shouldShowAppTrackingTransparencyDialog:]

[BuzzAdBenefit loginWithBlock:onSuccess:onFailure]

함수를 삭제하고 [BuzzAdBenefit loginWithBlock:onSuccess:onFailure] 호출 시 BZVLoginRequest 인자를 설정함으로써 같은 기능을 수행할 수 있도록 변경했습니다.

[BuzzAdBenefit showInquiryPageOnViewController:unitId:]

[BuzzAdBenefit presentInquiryPageOnViewController:unitId:]

함수의 이름을 변경했습니다.

BABUserPreference

BZVUserPreferences

클래스의 이름을 변경하고 빌더 블록을 이용해 생성하도록 변경했습니다.