Interstitial Ad
1. 기본 요건
ADX iOS SDK를 프로젝트에 추가합니다.
Interstitial Ad용으로 발급받은 Ad Unit ID를 사용합니다.
광고를 요청하기 전에 SDK 초기화를 먼저 진행합니다.
SDK 초기화는 앱 실행 시 한 번만 호출하여 주시고, 광고 요청은 초기화가 완료된 후에 이뤄져야 합니다.
iOS 14 이상 지원하는 경우, ATT(App Tracking Transparency) 권한 요청 완료 후 광고를 요청해주세요.
2. 구현
initWithAdUnitId:
메서드를 사용하여ADXInterstitialAd
를 인스턴스화하고ADXInterstitialAdDelegate
callback을 등록합니다.loadAd
를 호출하여 광고를 로드합니다.isLoaded
로 표시할 광고가 있는지 확인 후,showAdFromRootViewController:
로 광고를 표시합니다.
#import <ADXLibrary/ADXInterstitialAd.h>
@interface InterstitialViewController () <ADXInterstitialAdDelegate>
@property (nonatomic, strong) ADXInterstitialAd *interstitialAd;
@end
@implementation InterstitialViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.interstitialAd = [[ADXInterstitialAd alloc] initWithAdUnitId:@"<ADX_INTERSTITIAL_AD_UNIT_ID>"];
self.interstitialAd.delegate = self;
}
- (IBAction)loadAd:(id)sender {
[self.interstitialAd loadAd];
}
- (IBAction)showAd:(id)sender {
if (self.interstitialAd.isLoaded) {
[self.interstitialAd showAdFromRootViewController:self];
}
}
#pragma mark - ADXInterstitialAdDelegate
- (void)interstitialAdDidLoad:(ADXInterstitialAd *)interstitial {
NSLog(@"interstitialAdDidLoad");
}
- (void)interstitialAd:(ADXInterstitialAd *)interstitialAd didFailToLoadWithError:(NSError *)error {
NSLog(@"interstitialAd:didFailToLoadWithError: %@", error);
}
- (void)interstitialAd:(ADXInterstitialAd *)interstitialAd didFailToShowWithError:(NSError *)error {
NSLog(@"interstitialAd:didFailToShowWithError: %@", error);
}
- (void)interstitialAdWillPresentScreen:(ADXInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdWillPresentScreen");
}
- (void)interstitialAdWillDismissScreen:(ADXInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdWillDismissScreen");
}
- (void)interstitialAdDidDismissScreen:(ADXInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidDismissScreen");
}
- (void)interstitialAdDidClick:(ADXInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidClick");
}
@end
import UIKit
import ADXLibrary
class InterstitialViewController: UIViewController {
fileprivate var interstitialAd: ADXInterstitialAd!
override func viewDidLoad() {
super.viewDidLoad()
interstitialAd = ADXInterstitialAd(adUnitId: "<ADX_INTERSTITIAL_AD_UNIT_ID>");
interstitialAd.delegate = self
}
@IBAction func loadAd(_ sender: Any) {
interstitialAd.load()
}
@IBAction func showAd(_ sender: Any) {
if interstitialAd.isLoaded {
interstitialAd.show(fromRootViewController: self)
}
}
}
extension InterstitialViewController: ADXInterstitialAdDelegate {
func interstitialAdDidLoad(_ interstitialAd: ADXInterstitialAd) {
print("interstitialAdDidLoad")
}
func interstitialAd(_ interstitialAd: ADXInterstitialAd, didFailToLoadWithError error: Error) {
print("interstitialAd didFailToLoadWithError")
}
func interstitialAd(_ interstitialAd: ADXInterstitialAd, didFailToShowWithError error: Error) {
print("interstitialAd didFailToShowWithError")
}
func interstitialAdWillPresentScreen(_ interstitialAd: ADXInterstitialAd) {
print("interstitialAdWillPresentScreen")
}
func interstitialAdWillDismissScreen(_ interstitialAd: ADXInterstitialAd) {
print("interstitialAdWillDismissScreen")
}
func interstitialAdDidDismissScreen(_ interstitialAd: ADXInterstitialAd) {
print("interstitialAdDidDismissScreen")
}
func interstitialAdDidClick(_ interstitialAd: ADXInterstitialAd) {
print("interstitialAdDidClick")
}
}
3. Callback
ADXInterstitialAdDelegate
를 설정하여 특정 이벤트를 수신할 수 있습니다. 필요에 따라 구현해주세요.
#pragma mark - ADXInterstitialAdDelegate
- (void)interstitialAdDidLoad:(ADXInterstitialAd *)interstitialAd;
- (void)interstitialAd:(ADXInterstitialAd *)interstitialAd didFailToLoadWithError:(NSError *)errorr;
- (void)interstitialAd:(ADXInterstitialAd *)interstitialAd didFailToShowWithError:(NSError *)error;
- (void)interstitialAdWillPresentScreen:(ADXInterstitialAd *)interstitialAd;
- (void)interstitialAdWillDismissScreen:(ADXInterstitialAd *)interstitialAd;
- (void)interstitialAdDidDismissScreen:(ADXInterstitialAd *)interstitialAd;
- (void)interstitialAdDidClick:(ADXInterstitialAd *)interstitialAd;
Last updated