import UIKit
import AdWhaleSDK
class ViewController: UIViewController {
var nativeAdLoader: AdWhaleNativeAdLoader?
override func viewDidLoad() {
super.viewDidLoad()
// NativeAdLoader Setting
nativeAdLoader = AdWhaleNativeAdLoader()
nativeAdLoader?.initialize(adUnitId: "네이티브 광고 AD_UNIT_ID 입력", rootViewController: self)
nativeAdLoader?.delegate = self
// Native Ad Request
nativeAdLoader?.loadAd()
}
func setNativeAdView() {
let nibView = Bundle.main.loadNibNamed("NativeAdView", owner: nil)?.first
guard let nativeAdView = nibView as? NativeAdView else {
print("NativeAdView is nil")
return
}
nativeAdView.frame = CGRect(x: 10,
y: (Int(UIScreen.main.bounds.height) - 460),
width: (Int(UIScreen.main.bounds.width) - 20),
height: 380)
self.view.addSubview(nativeAdView)
nativeAdLoader?.bind(nativeAdView)
}
}
// MARK: NativeAd Delegate
extension ViewController: AdWhaleNativeAdLoaderDelegate, AdWhaleNativeAdDelegate {
func nativeAdLoaderDidReceiveAd(_ nativeAd: AdWhaleSDK.AdWhaleNativeAd) {
print("Received native ad: \(nativeAd)")
nativeAd.delegate = self
setNativeAdView()
}
func nativeAdLoaderDidFailToReceiveAd(_ nativeAd: AdWhaleSDK.AdWhaleNativeAdLoader, error: Error) {
print("adLoader didFailToAdWithError \(error.localizedDescription)")
}
func nativeAdDidClickAd(_ nativeAd: AdWhaleSDK.AdWhaleNativeAd) {
print("nativeAdDidClickAd")
}
func nativeAdDidImpression(_ nativeAd: AdWhaleSDK.AdWhaleNativeAd) {
print("nativeAdDidImpression")
}
func nativeAdWillPresentScreen(_ nativeAd: AdWhaleSDK.AdWhaleNativeAd) {
print("nativeAdWillPresentScreen")
}
func nativeAdWillDismissScreen(_ nativeAd: AdWhaleSDK.AdWhaleNativeAd) {
print("nativeAdWillDismissScreen")
}
func nativeAdDidDismissScreen(_ nativeAd: AdWhaleSDK.AdWhaleNativeAd) {
print("nativeAdDidDismissScreen")
}
func nativeAdWillLeaveApplication(_ nativeAd: AdWhaleSDK.AdWhaleNativeAd) {
print("nativeAdWillLeaveApplication")
}
}