iOS 전면 광고

전면 광고 노출하기

로컬 환경에서 배너 노출을 확인하고 싶다면, 아래의 TEST_UNIT_ID를 사용해주세요.

자세한 예시는 Github서 확인하실 수 있습니다. 테스트 유닛 아이디는 프로덕션 배포시 반드시 실제 광고 유닛으로 교체해 주셔야 합니다.

Ad type
Ad unit ID

Interstitial

PUBLIC_TEST_UNIT_ID_INTERSTITIAL

전면 Example 구현 예시

  • 필요한 파라미터 정의

struct AdropUnitId {
    // 전면 광고 유닛 ID (실제 발급받은 ID로 교체)
    static let INTERSTITIAL_IMAGE = "YOUR_INTERSTITIAL_UNIT_ID"
}
  • 전면 광고 구현

import AdropAds

class ViewController: UIViewController {
    private var interstitialAd: AdropInterstitialAd?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 전면 광고 로드
        loadInterstitialAd()
        
        // 버튼 클릭 시 광고 표시
        setupShowButton()
    }
    
    private func loadInterstitialAd() {
        interstitialAd = AdropInterstitialAd(unitId: "PUBLIC_TEST_UNIT_ID_INTERSTITIAL")
        interstitialAd?.delegate = self
        interstitialAd?.load()
    }
    
    private func showInterstitialAd() {
        if interstitialAd?.isLoaded == true {
            interstitialAd?.show(fromRootViewController: self)
        } else {
            print("광고가 아직 로드되지 않았습니다")
            // 광고 재로드
            loadInterstitialAd()
        }
    }
}

extension ViewController: AdropInterstitialAdDelegate {
    func onAdReceived(_ ad: AdropInterstitialAd) {
        print("전면 광고 로드 성공: \\(ad.unitId)")
    }
    
    func onAdFailedToReceive(_ ad: AdropInterstitialAd, _ error: AdropErrorCode) {
        print("전면 광고 로드 실패: \\(error)")
    }
    
    func onAdDidPresentFullScreen(_ ad: AdropInterstitialAd) {
        print("전면 광고 표시됨")
    }
    
    func onAdDidDismissFullScreen(_ ad: AdropInterstitialAd) {
        print("전면 광고 닫힘")
        // 새 광고 미리 로드
        loadInterstitialAd()
    }
    
    func onAdClicked(_ ad: AdropInterstitialAd) {
        print("전면 광고 클릭됨")
    }
    
    func onAdImpression(_ ad: AdropInterstitialAd) {
        print("전면 광고 노출 확인됨")
    }
    
    func onAdFailedToShowFullScreen(_ ad: AdropInterstitialAd, _ error: AdropErrorCode) {
        print("전면 광고 표시 실패: \\(error)")
    }
}

유의사항

  • 에러 처리

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