Hive AdKit for ADOP: iOS
설정
- Xcode 프로젝트의 Info.plist 파일에
GADApplicationIdentifier
키를 추가하고, AdMobId 값(ca-app-pub-XXXXX~YYYYY 형식)을 키 값으로 입력합니다. 또BidmadAppKey
키 값으로 ADOP APP_KEY를 입력합니다. ADOP APP_KEY는 ADOP Insight 로그인 후 계정관리 > 나의 정보 > 상세 정보에서 확인 가능합니다.
123456<key>GADApplicationIdentifier</key><string>ca-app-pub-XXXXX~YYYYY</string><key>BidmadAppKey</key><string>6b097551-7f78-11ed-a117-026864a21938</string> - iOS 14 이상에서는 Preparing for iOS 14 가이드를 참고하여 ADOP의 SKAdNetwork 목록을 Info.plist 파일에 추가합니다.
- 프로젝트 앱의 CocoaPods의 설정으로 다음의 내용을 추가합니다.
12345678910source 'https://github.com/CocoaPods/Specs.git'source 'https://github.com/Com2uSPlatformCorp/HiveAdKit-iOS.git'platform :ios, '12.0'use_frameworks!inhibit_all_warnings!target 'MyGame-mobile' dopod 'HiveAdKit_ADOP', '1.4.6'end - CocoaPod 설정을 적용합니다.
1$pod install
적용가이드
ADOP 테스트 광고 키
AdMob이 아닌 ADOP에서 발급한 광고 키를 사용해야 합니다.
1 2 3 4 5 6 |
let rewardVideoUnitId: String = "29e1ef67-98d2-47b3-9fa2-9192327dd75d" let InterstitialAdUnitId: String = "228b95a9-6f42-46d8-a40d-60f17f751eb1" let AdaptiveBannerAdUnitId: String = "1c3e3085-333f-45af-8427-2810c26a72fc" let AppOpenAdUnitId: String = "0ddd6401-0f19-49ee-b1f9-63e910f92e77" |
Hive AdKit 초기화
Hive AdKit 초기화를 수행합니다.
초기화 수행시 유럽 및 영국(EEA & UK) 지역인 경우, GDPR 동의 팝업이 자동으로 노출됩니다. 그 외 지역에서는 초기화를 바로 수행합니다.
- 게임이 유럽 및 영국(EEA & UK) 지역을 타겟팅 하는 경우, GDPR 동의 팝업이 GDPR 메시지 작성 가이드에 따라 설정이 되어 있는지 확인하세요.
1 2 3 4 5 6 7 8 9 |
import AdKit // 상용 AdKit.InitializeWithShowGDPRConsent(appKey: appKey, vc: self, bLog: false, gdprTestDeviceId: nil) // GDPR EEA 테스트모드 AdKit.InitializeWithShowGDPRConsent(appKey: appKey, vc: self, bLog: true, gdprTestDeviceId: gdprTestDeviceId) |
RewardVideo 타입 광고
일정 시간 이상 시청 시 보상이 주어지는 보상형 광고입니다. 한 번에 하나의 광고만 로드할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 |
// RewardVideo Instance Create var rewardVideo:RewardVideo? = nil rewardVideo = RewardVideo.initialize(vc: self, adUnitId: rewardVideoUnitId, eventHandler: self) // RewardVideo Load rewardVideo?.LoadAd(adPlacementInfo: "Native-RewardVideo-Load") // RewardVideo Show rewardVideo?.Show(adPlacementInfo: "Native-RewardVideo-Show") |
광고 위치 데이터를 포함하여 전달할 수 있습니다. Load
성공 시점과 Show
를 통해 노출될 시점에 설정된 문자열을 전달합니다.
Interstitial 타입 광고
화면 전체를 차지하는 전면 광고입니다.
1 2 3 4 5 6 7 8 9 10 |
// Interstitial Instance Create var interstitialAd:Interstitial? = nil interstitialAd = Interstitial.initialize(vc: self, adUnitId: InterstitialAdUnitId, eventHandler: self) // Interstitial Load interstitialAd?.LoadAd(adPlacementInfo: "Native-Interstitial-Load") // Interstitial Show interstitialAd?.Show(adPlacementInfo: "Native-Interstitial-Show") |
광고 위치 데이터를 포함하여 전달할 수 있습니다. Load
성공 시점과 Show
를 통해 노출될 시점에 설정된 문자열을 전달합니다.
Adaptive Banner 타입 광고
화면의 일부를 차지하는 롤링 배너입니다. BannerPosition값 또는 특정 yPos값을 입력하여 배너 위치를 조정할 수 있습니다.
yPos값을 입력해 배너 위치를 조정할 때, 배너 위치는 Bottom 정렬 상태에서 지정한 yPos 값만큼 위로 이동합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// Create AdaptiveBanner Instance var adaptiveBanner:AdaptiveBanner? = nil // Initialize AdaptiveBanner Instance at the Top of View adaptiveBanner = AdaptiveBanner.initialize(vc: self, adUnitId: AdaptiveBannerAdUnitId, bannerPosition: BannerPosition.Top, eventHandler: self) // Initialize AdaptiveBanner Instance at the Bottom of View adaptiveBanner = AdaptiveBanner.initialize(vc: self, adUnitId: AdaptiveBannerAdUnitId, bannerPosition: BannerPosition.Bottom, eventHandler: self) // Load AdaptiveBanner adaptiveBanner?.LoadAd(adPlacementInfo: "Native-AdaptiveBanner-Load") // Destroy AdaptiveBanner adaptiveBanner?.Destroy() |
1 2 3 4 5 6 7 8 9 10 11 12 |
// yPos 값을 지정하여 사용하는 예제입니다. // Banner Instance Create var adaptiveBanner: AdaptiveBanner? = null adaptiveBanner = AdaptiveBanner.initialize(vc: self, adUnitId: AdaptiveBannerAdUnitId, yPos: yPos, eventHandler: self) // Load AdaptiveBanner adaptiveBanner?.LoadAd(adPlacementInfo: "Native-AdaptiveBanner-Load") // yPos값에 따라 위치 변경 adaptiveBanner?.setPosition(yPosition:yPos) |
광고 위치 데이터를 포함하여 전달할 수 있습니다. Load
성공 시점과 Show
를 통해 노출될 시점에 설정된 문자열을 전달합니다.
AppOpen 타입 광고
앱 상태가 백그라운드에서 포그라운드로 변경될 때 광고를 노출하는 앱 오픈 광고입니다.
1 2 3 4 5 6 7 8 9 10 11 |
// Create AppOpenAd Instance var appOpen: AppOpen? = nil appOpen = AppOpen.initialize(vc: self, adUnitId: AppOpenAdUnitId, eventHandler: self, adPlacementInfo: "Native-AppOpen-LoadInfo") // Automatically load & show AppOpenAd when the app comes to the foreground appOpen?.LoadAd(adPlacementInfo: "Native-AppOpen-LoadInfo") // Destroy AppOpenAd appOpen?.Destroy() |
테스트 광고
개발 중에는 테스트 광고를 클릭해도 광고주에게 비용이 청구되지 않도록 설정하는 것이 중요합니다. 테스트 모드가 아닌 상태로 광고를 지나치게 많이 클릭하면 무효 활동으로 계정이 신고되어 광고 수신이 차단될 수 있습니다. 테스트 광고 이용 방법은 Google 개발자 사이트에서 확인할 수 있습니다.