본문으로 건너뛰기

기본 설정

이 페이지에서는 앱에 피드 지면을 표시하고 광고를 할당하는 방법 등 피드 지면을 연동하기 위한 기본적인 설정을 확인할 수 있습니다.

준비 사항

  • 시작하기 적용 완료
  • 피드 지면에 사용할 Unit ID (이하 YOUR_FEED_UNIT_ID)

피드 지면 초기화하기

BZVConfigBZVFeedConfig를 추가하세요.

import BuzzAdBenefit

@main
final class AppDelegateSwift: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
let config = BZVConfig { builder in
builder.appId = "YOUR_APP_ID"
builder.defaultFeedConfig = BZVFeedConfig { builder in
builder.unitId = "YOUR_FEED_UNIT_ID"
builder.title = "YOUR_TITLE"
}
}
BuzzAdBenefit.initialize(with: config)
return true
}
}

✏️  참고
BZVFeedConfigBZVBuzzAdFeedTheme를 사용해 피드 지면의 기능과 디자인을 변경할 수 있습니다. 자세한 내용은 고급 설정디자인 커스터마이징 토픽을 참고하세요.

피드 지면 표시하기

피드 지면은 navigationController 사용 여부에 따라 내비게이션 스택의 탑 뷰 컨트롤러 또는 모달 뷰 컨트롤러로 나타납니다.

광고를 할당 받지 않은 상태에서 피드 지면이 사용자에게 표시되면 광고가 자동으로 할당됩니다.

import BuzzAdBenefit

final class ViewController: UIViewController {
let buzzAdFeed = BZVBuzzAdFeed { builder in }

override func viewDidLoad() {
super.viewDidLoad()
}

// navigationController를 사용하는 경우
private func pushFeedViewController() {
let feedViewController = buzzAdFeed.viewController
self.navigationController?.pushViewController(feedViewController, animated: true)
}

// navigationController를 사용하지 않는 경우
private func presentFeedViewController() {
let feedViewController = buzzAdFeed.viewController
self.present(feedViewController, animated: true, completion: nil)
}
}

⚠️  주의
[_buzzAdFeed viewController]를 반복해서 호출하더라도 광고는 갱신되지 않으며 동일한 광고가 호출됩니다.
새로운 광고를 할당받으려면 [_buzzAdFeed reset]을 호출하여 광고를 갱신하거나, [_buzzAdFeed load]를 다시 호출해야 합니다.

✏️  참고
사용자에게 다른 형태로 피드 지면을 제공하려면 하위 뷰 컨트롤러로 피드 연동하기 토픽을 참고하세요.

기본 설정 이외의 피드 표시하기

DefaultFeedConfig로 설정한 BZVFeedConfig를 사용하여 기본 설정을 적용한 피드 이외에, 다른 설정이 적용된 피드를 표시할 수 있습니다. 이를 위해서는 BuzzAdFeed에 새로운 BZVFeedConfig를 등록해야 합니다.
다음의 예시를 참고하세요.

✏️  참고
DefaultFeedCofig를 삭제하지 않아도 됩니다.

let buzzAdFeed = BZVBuzzAdFeed { builder in
builder.config = BZVFeedConfig { builder in
builder.unitId = "SECOND_FEED_UNIT_ID"
}
}

let feedViewController = buzzAdFeed.viewController
self.present(feedViewController, animated: true, completion: nil)

광고 할당 및 표시하기

BZVBuzzAdFeed 인스턴스의 load를 호출하면 광고가 할당됩니다. load를 반복해서 호출하면 광고가 갱신되어 새로운 광고가 할당됩니다.

다음은 광고 할당 후 피드 지면을 표시하는 예시입니다. 다음과 같이 구현하면 사용자가 피드 지면에 진입하기 전에 광고가 할당되어 “참여할 수 있는 광고가 없습니다“라는 안내 문구가 나타나지 않습니다.

buzzAdFeed.load {
let feedTotalReward = self.buzzAdFeed.availableRewards // 적립 가능한 총 포인트 금액

let feedViewController = self.buzzAdFeed.viewController
self.present(feedViewController, animated: true, completion: nil)
} onFailure: { error in
// 광고가 없을 경우 호출됩니다. error를 통해 원인을 알 수 있습니다.
}