(iOS v3.0.x) 4. Interstitial 마이그레이션 가이드
목차
개요
이 장에서는 BuzzAd iOS용 SDK 버전을 3.0으로 업데이트하기 위해 필요한 Interstitial 지면의 설정을 안내합니다.
주요 변경 사항
BuzzAd iOS용 SDK의 공통 변경 사항 및 아래의 사항이 변경되었습니다.
Interstitial 지면 클래스
BABInterstitialAdHandler
를BZVBuzzAdInterstitial
로 변경했습니다.Interstitial 광고의 UI가 업데이트 되었습니다.
Interstitial 기본 설정
광고 할당 및 표시하기 및 광고 요청에 대한 콜백
BuzzAd iOS용 SDK 3.0에서는 BABInterstitialAdHandler
, BABInterstitialAdHandlerDelegate
를 각각 BZVBuzzAdInterstitial
, BZVBuzzAdInterstitialDelegate
로 변경하고 광고를 표시하기 전에 미리 할당받을 수 있도록 load
함수를 추가했습니다.
Interstitial 광고를 할당받고 표시하려면 아래의 순서대로 기존 코드를 수정하세요.
BABInterstitialAdHandler
클래스를BZVBuzzAdInterstitial
로 변경하세요.BABInterstitialAdHandlerDelegate
클래스를BZVBuzzAdInterstitialDelegate
로 변경하세요.[BABInterstitialAdHandler show:withConfig]
함수를[BZVBuzzAdInterstitial load]
함수로 변경하고,BZVBuzzAdInterstitialDidLoadAd:
delegate 함수가 호출된 시점에[BZVBuzzAdInterstitial presentOnViewController:]
를 호출하세요.
Objective-C
2.x (변경 전)
@import BuzzAdBenefit;
@interface ViewController () <BZVBuzzAdInterstitialDelegate>
@property (nonatomic, strong, readonly) BABInterstitialAdHandler *interstitialAdHandler;
@end
@implementation InterstitialViewControllerGuide
- (void)viewDidLoad {
[super viewDidLoad];
_interstitialAdHandler = [[BABInterstitialAdHandler alloc] initWithUnitId:@"YOUR_INTERSTITIAL_UNIT_ID" type:BABInterstitialDialog];
_interstitialAdHandler.delegate = self;
// Interstitial 광고를 화면에 표시합니다.
[_interstitialAdHandler show:self withConfig:nil];
}
#pragma mark - BABInterstitialAdHandlerDelegate
- (void)BABInterstitialAdHandlerDidSucceedLoadingAd:(BABInterstitialAdHandler *)adHandler {
// 할당된 광고가 있으면 호출됩니다.
}
- (void)BABInterstitialAdHandler:(BABInterstitialAdHandler *)adLoader didFailToLoadAdWithError:(BABError *)error {
// 할당된 광고가 없으면 호출됩니다.
}
- (void)BABInterstitialViewControllerDidFinish:(UIViewController *)viewController {
// Interstitial 지면이 종료되면 호출됩니다.
// 필요에 따라 추가 기능을 구현하세요.
}
@end
3.x (변경 후)
@import BuzzAdBenefit;
@interface ViewController () <BABInterstitialAdHandlerDelegate>
@property (nonatomic, strong, readonly) BZVBuzzAdInterstitial *buzzAdInterstitial;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_buzzAdInterstitial = [BZVBuzzAdInterstitial interstitialWithBlock:^(BZVBuzzAdInterstitialBuilder * _Nonnull builder) {
builder.unitId = @"YOUR_INTERSTITIAL_UNIT_ID";
builder.type = BZVBuzzAdInterstitialDialog;
}];
_buzzAdInterstitial.delegate = self;
[_buzzAdInterstitial load];
}
#pragma mark - BZVBuzzAdInterstitialDelegate
- (void)BZVBuzzAdInterstitialDidLoadAd:(BZVBuzzAdInterstitial *)interstitial {
// 할당된 광고가 있으면 호출됩니다.
// Interstitial 광고를 화면에 표시합니다.
[interstitial presentOnViewController:self];
}
- (void)BZVBuzzAdInterstitialDidFailToLoadAd:(BZVBuzzAdInterstitial *)interstitial withError:(BZVError *)error {
// 할당된 광고가 없으면 호출됩니다.
}
- (void)BZVBuzzAdInterstitialDidDismiss:(UIViewController *)viewController {
// Interstitial 지면이 종료되면 호출됩니다.
// 필요에 따라 추가 기능을 구현하세요.
}
@end
Swift
2.x (변경 전)
import UIKit
import BuzzAdBenefit
final class ViewController: UIViewController, BABInterstitialAdHandlerDelegate {
let interstitialAdHandler = BABInterstitialAdHandler(unitId: "INTERSTITIAL_UNIT_ID", type: BABInterstitialDialog)
override func viewDidLoad() {
super.viewDidLoad()
interstitialAdHandler.delegate = self
// Interstitial 광고를 화면에 표시합니다.
interstitialAdHandler.show(self, with: nil)
}
// MARK: BABInterstitialAdHandlerDelegate
func bzvBuzzAdInterstitialDidLoadAd(_ interstitial: BZVBuzzAdInterstitial) {
// 할당된 광고가 있으면 호출됩니다.
}
func bzvBuzzAdInterstitialDidFail(toLoadAd interstitial: BZVBuzzAdInterstitial, withError error: BZVError) {
// 할당된 광고가 없으면 호출됩니다.
}
func bzvBuzzAdInterstitialDidDismiss(_ viewController: UIViewController) {
// Interstitial 지면이 종료되면 호출됩니다.
// 필요에 따라 추가 기능을 구현하세요.
}
}
3.x (변경 후)
Interstitial 고급 설정
광고 개수 설정하기
BuzzAd iOS용 SDK 3.0에서는 바텀 시트 형태의 Interstitial 지면에서 한 번에 요청할 광고 개수를 설정하는 방법이 변경되었습니다.
광고 개수를 설정하려면 아래의 순서대로 기존 코드를 수정하세요.
BABInterstitialAdConfig
에서adCount
를 설정하는 코드를 삭제하세요.원하는 광고 개수를 버즈빌 담당자에게 전달하세요.
Objective-C
2.x (변경 전)
Swift
2.x (변경 전)
Interstitial 디자인 커스터마이징
기존에 Interstitial 디자인을 커스터마이징한 경우에만 해당합니다.
BuzzAd iOS용 SDK 3.0에서는 텍스트 색상, 배경 색상, CTA 버튼의 디자인을 BABInterstitialConfig
가 아닌 BZVBuzzAdInterstitialTheme
에 설정하도록 변경했습니다. 또한, interstitial 광고의 업데이트 된 UI에서 필요로 하지 않는 topIcon
, titleText
, titleTextColor
플래그를 삭제했습니다.
텍스트 색상, 배경 색상, 또는 CTA 버튼의 디자인을 변경하려면 아래의 순서대로 기존 코드를 수정하세요.
BABInterstitialConfig
에서topIcon
,titleText
,titleTextColor
,backgroundColor
,showInquiryButton
,ctaViewIcon
,ctaViewTextColor
,ctaViewBackgroundColor
를 설정하는 코드를 삭제하세요.BZVBuzzAdInterstitialTheme
에textColor
,backgroundColor
,inquiryButtonHidden
,rewardIcon
,participatedIcon
,ctaViewTextColor
,ctaViewBackgroundColor
를 설정하세요.이전 단계에서 생성한
BZVBuzzAdInterstitialTheme
을BZVBuzzAdInterstitial
의theme
으로 설정하세요.
Objective-C
2.x (변경 전)
3.x (변경 후)
Swift
2.x (변경 전)
3.x (변경 후)
API 변경 내역
2.x (변경 전) | 3.0 (변경 후) | 설명 |
---|---|---|
|
| 클래스의 이름을 변경했습니다. |
|
| 클래스의 이름을 변경했습니다. |
|
|
|
|
| Interstitial 디자인을 변경할 때 |
BABInterstitialConfig 변경 내역
2.x (변경 전) | 3.0 (변경 후) | 설명 |
---|---|---|
| N/A | Interstitial 광고의 UI를 업데이트함에 따라 삭제했습니다. |
| N/A | Interstitial 광고의 UI를 업데이트함에 따라 삭제했습니다. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| N/A | 버즈빌 서버에서 제어하도록 변경되었습니다. |