배너 광고
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. 인터페이스 빌더(스토리 보드)를 통한 생성
ViewController
에AdPie
라이브러리를 임포트하고,APAdViewDelegate
프로토콜을 도입(adopt)한다.
// ViewController.swift
import UIKit
import AdPieSDK
class ViewController: UIViewController, APAdViewDelegate {
}
스토리 보드 파일에서 배너 광고를 표시할 UIView를 추가하고, Custom Class을
APAdView
로 변경한다.
광고 뷰의 제약(Constraints)을 설정한다.
Ad View Width = Superview.Width
Ad View Height = 50,
Ad View Center X = Superview.Center X
Ad View Bottom = Bottom Layout Top
광고 뷰(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