적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

초보 iOS 개발자의 일상/개발 업무

[Swift iOS] 카카오 adfit 배너 광고 설정하기

hongssup_ 2022. 7. 5. 18:32
반응형

kakao adfit 광고를 삽입해보았다. 

아예 처음부터 한건 아니고 이미 기본 설정은 다 되어있는 상태에서 코드만 추가해주었다. 

코드 설정은 어렵지 않다. 

 

1. 기본 설정

여기를 참고 👉🏻 github - adfit 시작하기

 

2. 배너 광고 코드 적용

* 참고 : github - adfit 배너 광고 연동

먼저 SDK를 import 하고

import AdFitSDK

viewDidLoad()에 다음 코드를 추가해준다. 

let bannerAdView = (clientId: "INPUT YOUR AdUnit ID", adUnitSize: "320x50")  //adUnitSize는 옵셔널이다
bannerAdView.snp.makeConstraints {  //광고배너 constraint 설정
    $0.edges.equalToSuperView()
    $0.height.equalTo(100)
}
bannerAdView.delegate = self
bannerAdView.rootViewController = self  //광고 페이지 노출시킬 viewController 설정
superView.addSubview(bannerAdView)  //원하는 view에 광고 배너 띄우기
bannerAdView.loadAd()  //배너 광고 요청

광고배너 작동 상태를 파악하기 위해 AdFitBannerAdViewDelegate 프로토콜을 추가해준 후, 다음 코드를 추가해준다. 

// MARK: - AdFitBannerAdViewDelegate
func adViewDidReceiveAd(_ bannerAdView: AdFitBannerAdView) {
    let message = "delegate: adViewDidReceiveAd"
    print(message)
}

func adViewDidFailToReceiveAd(_ bannerAdView: AdFitBannerAdView, error: Error) {
    let message = "delegate: adViewDidFailToReceiveAd, error: \(error.localizedDescription)"
    print(message)
}

func adViewDidClickAd(_ bannerAdView: AdFitBannerAdView) {
    let message = "delegate: adViewDidClickAd"
    print(message)
}

처음에 실행을 했는데 오류가 났다. 

error message를 살펴보니 delegate: adViewDidFailToReceiveAd, error: failed to render ad 라는 에러였다. 

github - 에러코드 에 광고 수신 실패 에러 메시지별 설명이 아주 잘 되어있다. 

내가 받은 에러 메시지는 AdFitBannerAdView 객체의 사이즈가 기준 사이즈보다 작아서 발생하는 오류라고 했다. 

광고 배너를 추가한 superView의 크기가 작아서 발생한 오류인 듯 하다. superView의 크기를 넉넉하게 조정해주었더니, 성공적으로 광고 수신이 잘 되더라. 

 

+ 광고 배너가 너무 각진 직사각형이라 모서리를 좀 둥글게 하고 싶어 다음과 같이 cornerRadius를 설정해 주었지만 바뀌는 건 없었다 ㅠ

안되는 걸까요..? 방법 아시는분 !?!?!?

bannerAdView.cornerRadius = 8

 

 

728x90
반응형