1. 네이티브 광고를 스토리보드 또는 nib 파일에 레이아웃 만들기
네이티브 광고에서는 다음과 같은 view의 종류들이 포함될 수 있습니다.
예를 들어, 소셜 피드 형식의 네이티브 광고를 구성한다면 다음과 같은 레이아웃을 만들 수 있습니다.
AdContainerView - superview ()
⌞ Icon (UIImageView)
⌞ Advertiser (UILabel)
⌞ Media (UIView)
⌞ Body (UILabel)
import UIKit
import AdropAds
class FeedContentTableViewCell: UITableViewCell {
@IBOutlet weak var adContainerView: AdropNativeAdView!
@IBOutlet weak var iconImageView: UIImageView!
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var mediaView: UIView!
@IBOutlet weak var bodyLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
reset()
}
override func prepareForReuse() {
super.prepareForReuse()
reset()
}
private func reset() {
iconImageView.image = nil
nameLabel.text = ""
bodyLabel.text = ""
}
}
2. 네이티브 광고 불러오기
PUBLIC_TEST_UNIT_ID_NATIVE
class NativeAdViewController: UIViewController {
private var ad: AdropNativeAd!
override func viewDidLoad() {
super.viewDidLoad()
ad = AdropNativeAd(unitId: "YOUR_UNIT_ID OR TEST_UNIT_ID")
ad.delegate = self
ad.load()
}
}
extension NativeAdViewController: AdropNativeAdDelegate {
func onAdReceived(_ ad: AdropAds.AdropNativeAd) {
self.ad = ad
print("onAdReceived \(ad.creativeId)")
}
func onAdFailedToReceive(_ ad: AdropAds.AdropNativeAd, _ errorCode: AdropAds.AdropErrorCode) {
print("onAdFailedToReceive")
}
func onAdClicked(_ ad: AdropAds.AdropNativeAd) {
print("onAdClicked")
}
}
3. 네이티브 광고 연결 후 조회하기
extension NativeAdFeedViewController: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "FeedAdTableViewCell", for: indexPath) as! FeedContentTableViewCell
cell.adContainerView.setProfileLogoView(cell.iconImageView)
cell.nameLabel.text = ad.profile.displayName
cell.adContainerView.setProfileNameView(cell.nameLabel)
cell.adContainerView.setMediaView(cell.mediaView)
cell.bodyLabel.text = ad.body
cell.adContainerView.setBodyView(cell.bodyLabel)
...
cell.adContainerView.setNativeAd(ad)
return cell
}
}
4. 커스텀 필드 데이터 추가 및 자유로운 이미지 소재 사용하기
예를 들어, t1, t2, t3 라는 커스텀 필드가 추가 되었을 경우에 대해 알아보겠습니다.
* 텍스트 라벨은 광고주 콘솔에 입력되는 라벨입니다.
view.t1Label.text = ad.extra["t1"]
view.t2Label.text = ad.extra["t2"]
view.t3Label.text = ad.extra["t3"]
적용 확인하기