배너 광고

1 : 준비

2 : SDK 초기화

  • 최초 SDK 를 초기화 완료 후, 광고 요청이 가능하다.

  • 사이트에서 발급받은 Media ID를 입력한다.

import UIKit
import AdPieSDK

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
    func application(_ application: UIApplication, 
        didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 
    {
        // SDK 초기화
        AdPieSDK.sharedInstance().initWithMediaId("YOUR_MEDIA_ID")        
        return true
    }
}

3 : 광고뷰 생성

  • 띠배너 생성시 가로의 크기는 320 이상, 세로의 크기는 50으로 생성한다. (가로는 디바이스 전체 너비를 추천한다.)

  • 띠배너의 경우 320 사이즈의 이미지로 가운데에 채워지고 나머지는 배경색으로 채워진다.

1. 프로그램 코드를 통한 생성

// ViewController.swift
import UIKit
import AdPieSDK

class BannerAdViewContoller: UIViewController, APAdViewDelegate {

    var adView: APAdView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // 세로는 50으로 고정
        adView.rootViewController = self
        adView.delegate = self
        view.addSubview(adView)
        adView.translatesAutoresizingMaskIntoConstraints = false
        let safeAreaGuide = view.safeAreaLayoutGuide
        NSLayoutConstraint.activate([
            adView.bottomAnchor.constraint(equalTo: safeAreaGuide.bottomAnchor),
            adView.leadingAnchor.constraint(equalTo: safeAreaGuide.leadingAnchor),
            adView.trailingAnchor.constraint(equalTo: safeAreaGuide.trailingAnchor),
            adView.heightAnchor.constraint(equalToConstant: 50)
        ])
    }
}

2. 인터페이스 빌더(스토리 보드)를 통한 생성

  1. ViewControllerAdPie 라이브러리를 임포트하고, APAdViewDelegate프로토콜을 도입(adopt)한다.

// ViewController.swift
import UIKit
import AdPieSDK

class ViewController: UIViewController, APAdViewDelegate {

}
  1. 스토리 보드 파일에서 배너 광고를 표시할 UIView를 추가하고, Custom Class을 APAdView로 변경한다.

  1. 광고 뷰의 제약(Constraints)을 설정한다.

  • Ad View Width = Superview.Width

  • Ad View Height = 50,

  • Ad View Center X = Superview.Center X

  • Ad View Bottom = Bottom Layout Top

  1. 광고 뷰(UIView)를 노출 될 ViewController에 드래그하여 프로퍼티(IBOutlet)로 연결한다.

// ViewController.swift
import UIKit
import AdPieSDK

class ViewController: UIViewController, APAdViewDelegate {
    @IBOutlet weak var adView: APAdView!
}

4 : 광고 요청과 표출

  • 사이트에서 발급받은 Slot ID를 입력한다.

  • 광고뷰의 RootViewController 를 등록해야 주기별로 광고 재요청을 한다. (Refresh)

  • 광고 호출에 대한 콜백이 필요한 경우 델리게이트를 등록하며, 자세한 사항은 하단을 참고한다.

  • 타겟팅 적용으로 보다 높은 수익을 얻을 수 있다.

// ViewController.swift
override func viewDidLoad() {
    super.viewDidLoad()
        
    // 광고뷰에 Slot ID 입력
    adView.slotId = "YOUR_SLOT_ID"
    // 광고뷰의 RootViewController 등록 (Refresh를 위해 필요)
    adView.rootViewController = self
    // 델리게이트 등록
    adView.delegate = self
    // 광고 요청
    adView.load()
}

5 : 광고 이벤트

  • 광고 호출에 대한 콜백(이벤트)을 받을 수 있다.

  • ViewController에서 APAdViewDelegate 프로토콜을 도입(adopt)한다.

  • 광고 뷰의 delegate 프로퍼티에 콜백(이벤트)를 수신받을 객체를 설정한다.

  • 델리게이트의 메소드 중 성공, 실패에 대한 메소드는 필수사항으로 반드시 구현해야 하며, 나머지 메소드는 필요에 따라서 구현한다.

  • 에러코드를 통해 광고 실패에 대한 이유를 알 수 있다.

// ViewController.swift
import UIKit
import AdPieSDK

class ViewContorller: UIViewController, APAdViewDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        ...
        // 델리게이트 등록
        adView.delegate = self
    }

    // MARK: - APAdView delegates
    func adViewDidLoadAd(_ view: APAdView!) {
        // 광고 표출 성공 후 이벤트 발생
    }
    
    func adViewDidFail(toLoadAd view: APAdView!, withError error: Error!) {
        // 광고 요청 또는 표출 실패 후 이벤트 발생
        // error code : error._code
        // error message : error.localizedDescription
    }
    
    func adViewWillLeaveApplication(_ view: APAdView!) {
        // 광고 클릭 후 이벤트 발생
    }

Last updated