본문으로 건너뛰기
:docs

기본 설정

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

준비 사항

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

피드 지면 초기화하기

BZVConfig에 BZVFeedConfig를 추가하세요.

Swift
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
  }
}

피드 지면 표시하기

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

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

Swift
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)
  }
}

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

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

Swift
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를 반복해서 호출하면 광고가 갱신되어 새로운 광고가 할당됩니다.

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

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

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