iOS 배너 광고

배너 광고 노출하기

광고 크기를 적용한 광고 유닛 ID로 AdropBanner 를 초기화하고, 광고를 로드하세요.

로컬 환경에서 배너 노출을 확인하고 싶다면, 하단의 TEST_UNIT_ID를 사용해주세요. 자세한 예시는 여기서 확인하실 수 있습니다. 테스트 유닛 아이디는 프로덕션 배포시 반드시 실제 광고 유닛으로 교체해 주셔야 합니다.

Banner (375X80)

PUBLIC_TEST_UNIT_ID_375_80

Banner (320X50)

PUBLIC_TEST_UNIT_ID_320_50

Banner (320X100)

PUBLIC_TEST_UNIT_ID_320_100

Banner(캐러셀)

PUBLIC_TEST_UNIT_ID_CAROUSEL

Banner Video (16:9)

PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_16_9

Banner Video (9:16)

PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_9_16

Banner Example 구현 예시

  • 필요한 파라미터 정의

struct AdropUnitId {
    // 배너 이미지 광고
    static let BANNER_IMAGE_320_50 = "YOUR_BANNER_UNIT_ID"
    static let BANNER_IMAGE_375_80 = "YOUR_BANNER_UNIT_ID"

    // 배너 동영상 광고
    static let BANNER_VIDEO_16_9 = "YOUR_BANNER_UNIT_ID"
    static let BANNER_VIDEO_9_16 = "YOUR_BANNER_UNIT_ID"
}
  • 배너 광고 구현

class ViewController: UIViewController {
    @IBOutlet weak var adContainer: UIView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // 추가 설정은 먼저 view를 로드한 후 진행하세요.
        
        let bannerView = AdropBanner(unitId: "ADROP_PUBLIC_TEST_UNIT_ID")
        bannerView.delegate = self
        bannerView.load()
        adContainer.addSubview(bannerView)
        bannerView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        bannerView.translatesAutoresizingMaskIntoConstraints = false
        bannerView.frame = adContainer.bounds
    }
}

extension ViewController: AdropBannerDelegate {
    func onAdReceived(_ banner: AdropAds.AdropBanner) {
        print("onAdReceived \(banner.creativeId)")
    }
    
    func onAdClicked(_ banner: AdropAds.AdropBanner) {
        print("onAdClickced")
    }
    
    func onAdFailedToReceive(_ banner: AdropAds.AdropBanner, _ error: AdropAds.AdropErrorCode) {
        print("onAdFailedToReceive \(AdropErrorCodeToString(code: error))")
    }
}

유의사항

메모리 관리

  • ViewController 해제 시 배너 정리 필수

  • 새 배너 로드 전 기존 배너 제거

광고 로드 타이밍

  • 네트워크 상태 확인 후 로드

  • 실제로 유저가 볼 수 있는 시점에 로드

  • 백그라운드에서 불필요한 로드 방지

에러 처리 예시 (Swift)

func onAdFailedToReceive(_ ad: AdropPopupAd, _ error: AdropErrorCode) {
  switch error {
  case .ERROR_CODE_AD_NO_FILL:
      print("현재 노출 가능한 팝업 광고가 없습니다")
  case .ERROR_CODE_NETWORK:
      print("네트워크 오류로 팝업 광고 로드 실패")
  case .ERROR_CODE_INVALID_UNIT:
      print("잘못된 유닛 ID입니다")
  default:
      print("팝업 광고 로드 실패: \(error)")
  }
}

적용 확인하기

console에서 발급받은 unitId가 한 번이라도 광고요청을 할 경우 성공적으로 연결됩니다.

광고 유닛에 연결된 광고가 없다면, 배너가 랜더링 되지 않습니다. 따라서 배너가 정상적으로 랜더링 되는지 확인하고 싶으면, TEST_UNIT_ID 를 사용해 주세요.

TEST_UNIT_ID 를 사용하면 배너 랜더링 확인은 할 수 있지만, console과 연결되지는 않습니다. 따라서 성공적인 연결을 확인하려면 콘솔에 등록한 광고 유닛의 아이디를 적용해 주시고, 하단 이미지 처럼 콘솔을 확인해 주세요.

Last updated