6.5. iOS 2.2.x 인앱 브라우저 사용방법

사용자가 광고에 참여하는데 사용하는 인앱브라우저를 변경할 수 있습니다. 인앱 브라우저는 커스텀 런처를 통해 동작합니다. 인앱 브라우저를 사용하기 위해서는 아래 3개의 설정을 모두 적용해야 합니다.

인앱 브라우저 구현

BuzzAd iOS SDK에서 제공하는 browserViewController를 사용하여 인앱브라우저를 구현해야 합니다. 사용하지 않을 경우, 일부 광고가 정상적으로 동작하지 않을 수 있습니다.

다음은 인앱 브라우저를 구현하는 예시입니다.

@interface CustomBrowserViewController: UIViewController @end @implementation CustomBrowserViewController { UIViewController *_browserViewController; } - (void)viewDidLoad { [super viewDidLoad]; _browserViewController = [BuzzAdBrowser.sharedInstance browserViewController]; [self.view addSubview:_browserViewController.view]; [_browserViewController didMoveToParentViewController:self]; ... } @end

 

class CustomBrowserViewController { private lazy var browserViewController: UIViewController = { BuzzAdBrowser.sharedInstance().browserViewController() }() override func viewDidLoad() { super.viewDidLoad() view.addSubview(browserViewController) browserViewController.didMove(toParent: self) ... } }

 

커스텀 런처 구현

구현한 인앱 브라우저를 사용하는 커스텀 런처를 구현합니다. 커스텀 런처에서 광고와 컨텐츠에 따라 동작을 달리 할 수 있습니다. 컨텐츠의 sourceUrl은 URL 혹은 Universal Link 가 내려올 수 있습니다.

다음은 커스텀 런처를 구현하는 예시입니다.

@interface BABCustomLauncher : NSObject <BABLauncher> @end @implementation BABCustomLauncher - (void)openWithLaunchInfo:(BABLaunchInfo *)launchInfo { [self openWithLaunchInfo:launchInfo delegate:nil]; } - (void)openWithLaunchInfo:(BABLaunchInfo *)launchInfo delegate:(nullable id<BABLauncherEventDelegate>)delegate { // 광고 또는 컨텐츠인지 미리 판단하고 싶을 경우, 다음을 이용하여 확인 if (launchInfo.ad != nil) { // 광고 } else if (launchInfo.article != nil){ // 컨텐츠 NSString *sourceUrl = launchInfo.article.sourceUrl; } // Custom Browser 실행 CustomBrowserViewController *vc = [[CustomBrowserViewController alloc] init]; [rootViewController presentViewController:vc animated:YES completion:nil]; } @end

 

커스텀 런처 설정

BuzzAdBenefit에 구현한 커스텀 런처를 설정합니다.

다음은 커스텀 런처를 설정하는 예시입니다.