iOS 배너 광고
Last updated
Last updated
광고 크기를 적용한 광고 유닛 ID로 AdropBanner
를 초기화하고, 광고를 로드하세요.
로컬 환경에서 배너 노출을 확인하고 싶다면, 하단의 TEST_UNIT_ID를 사용해주세요. 자세한 예시는 서 확인하실 수 있습니다. 테스트 유닛 아이디는 프로덕션 배포시 반드시 실제 광고 유닛으로 교체해 주셔야 합니다.
Banner (375X80)
PUBLIC_TEST_UNIT_ID_375_80
Banner (320X50)
PUBLIC_TEST_UNIT_ID_320_50
Banner (320X100)
PUBLIC_TEST_UNIT_ID_320_100
class ViewController: UIViewController {
@IBOutlet weak var adContainer: UIView!
override func viewDidLoad() {
super.viewDidLoad()
// 추가 설정은 먼저 view를 로드한 후 진행하세요.
let bannerView = AdropBanner(unitId: "ADROP_PUBLIC_TEST_UNIT_ID")
bannerView.delegate = self
bannerView.load()
adContainer.addSubview(bannerView)
bannerView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
bannerView.translatesAutoresizingMaskIntoConstraints = false
bannerView.frame = adContainer.bounds
}
}
extension ViewController: AdropBannerDelegate {
func onAdReceived(_ banner: AdropAds.AdropBanner) {
print("onAdReceived \(banner.creativeId)")
}
func onAdClicked(_ banner: AdropAds.AdropBanner) {
print("onAdClickced")
}
func onAdFailedToReceive(_ banner: AdropAds.AdropBanner, _ error: AdropAds.AdropErrorCode) {
print("onAdFailedToReceive \(AdropErrorCodeToString(code: error))")
}
}
@interface ViewController (AdropAds) <AdropBannerDelegate>
@end
@implementation ViewController (AdropAds)
- (void)onAdReceived:(AdropBanner * _Nonnull)banner {
NSLog(@"onAdReceived");
}
- (void)onAdClicked:(AdropBanner * _Nonnull)banner {
NSLog(@"onAdClicked");
}
- (void)onAdFailedToReceive:(AdropBanner * _Nonnull)banner :(enum AdropErrorCode)error {
NSLog(@"onAdFailedToReceive");
}
@end
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *adContainerView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
AdropBanner* banner = [[AdropBanner alloc] initWithUnitId:@"ADROP_PUBLIC_TEST_UNIT_ID"];
banner.delegate = self;
[banner load];
[_adContainerView addSubview:banner];
banner.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
banner.translatesAutoresizingMaskIntoConstraints = false;
banner.frame = _adContainerView.bounds;
}
@end
class AdropBannerWrapper: AdropBannerDelegate {
let bannerRep: AdropBannerRepresented
init(){
bannerRep = AdropBannerRepresented(unitId: "ADROP_PUBLIC_TEST_UNIT_ID")
bannerRep.banner.delegate = self
}
func onAdReceived(_ banner: AdropAds.AdropBanner) {
print("onAdReceived")
}
func onAdClicked(_ banner: AdropAds.AdropBanner) {
print("onAdClicked")
}
func onAdFailedToReceive(_ banner: AdropAds.AdropBanner, _ error: AdropAds.AdropErrorCode) {
print("onAdFailedToReceive \(AdropErrorCodeToString(code: error))")
}
}
struct ContentView: View {
var adropBannerWrapper = AdropBannerWrapper()
var body: some View {
ZStack{
VStack {
Spacer()
Image(systemName: "globe")
.imageScale(.large)
.foregroundColor(.accentColor)
Text("Adrop Ads")
Button {
adropBannerWrapper.bannerRep.banner.load()
} label: {
Text("requestAd")
}
.padding(.all)
Spacer()
}
VStack {
Spacer()
adropBannerWrapper.bannerRep.frame(height: 80)
}
}
}
}
console에서 발급받은 unitId가 한 번이라도 request 가 들어가면 성공적으로 연결됩니다.
광고 유닛에 연결된 광고가 없다면, 배너가 랜더링 되지 않습니다. 따라서 배너가 정상적으로 랜더링 되는지 확인하고 싶으면, TEST_UNIT_ID 를 사용해 주세요.
TEST_UNIT_ID 를 사용하면 배너 랜더링 확인은 할 수 있지만, console과 연결되지는 않습니다. 따라서 성공적인 연결을 확인하려면 콘솔에 등록한 광고 유닛의 아이디를 적용해 주시고, 하단 이미지 처럼 콘솔을 확인해 주세요.