iOS
Hive AdKit for ADOP: iOS¶
設定¶
Warning
從 AdKit 1.5.1 版本開始,之前使用的 AppKey 已更改為 AppDomain。AppDomain 與舊的 AppKey 不兼容,因此要初始化 Hive AdKit,您需要重新獲取 AppDomain。 有關 AppDomain 的信息,請聯繫 TechLabs 平台業務部運營團隊。
-
修改 Xcode 项目的 Info.plist 文件如下:
- 添加
GADApplicationIdentifier
键 - 输入 AdMobId 值(ca-app-pub-XXXXX~YYYYY 格式)作为键值
- 输入
BidmadAppDomain
键的值为 ADOP APP_DOMAIN
- 添加
-
在 iOS 14 以上版本中,请参考Preparing for iOS 14 指南,将ADOP 的 SKAdNetwork 列表添加到Info.plist文件中。
-
專案應用的 CocoaPods 設定中,請添加以下內容。
-
應用CocoaPod設置。
Note
要獲取在應用程序發布時填寫個人信息調查表所需的信息,請參考隱私調查指南。
應用指南¶
ADOP 測試廣告鍵¶
必須使用ADOP發出的廣告密鑰而非AdMob。
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 初始化¶
要初始化 ADOP 广告,必须发放 adopAppDomain
。发放的 adopAppDomain
必须作为 ADOP 广告初始化方法的参数使用。
Warning
從 AdKit 1.5.1 版本開始,之前使用的 AppKey 已更改為 AppDomain。AppKey 與舊的 AppDomain 不兼容,因此需要重新獲取 AppDomain 以進行初始化。 有關 AppDomain 的信息,請聯繫 TechLabs 平台業務部運營團隊。
Note
執行初始化時,如果是歐洲及英國(EEA & UK)地區,GDPR 同意彈出窗口將自動顯示。在其他地區將直接執行初始化。
Warning
如果使用Hive SDK,則必須在完成Hive AdKit的初始化後執行AuthV4.setup
。如果在顯示ATT(應用程序追蹤透明度)同意通知後出現GDPR同意畫面,則應用程序可能會在Apple應用審核中被拒絕。
- 如果遊戲針對歐洲及英國(EEA & UK)地區,請確保GDPR同意彈出窗口符合GDPR消息撰寫指南。
import AdKit
// 상용
AdKit.InitializeWithShowGDPRConsent(appDomain: appDomain, vc: self, bLog: false, gdprTestDeviceId: nil) { consentState in
/*
동의 = 1, 비동의 = 0, 알수없음 = -1, 필요없음 = -2
초기화 완료 콜백으로 GDPR 동의 상태 결과 값 consentState가 전달됩니다. 결과값에 따른 별도 처리가 필요하지 않습니다.
*/
print("InitializeWithShowGDPRConsent consentState : \(consentState)")
}
// GDPR EEA 테스트모드
AdKit.InitializeWithShowGDPRConsent(appDomain: appDomain, vc: self, bLog: true, gdprTestDeviceId: gdprTestDeviceId) { consentState in
/*
동의 = 1, 비동의 = 0, 알수없음 = -1, 필요없음 = -2
초기화 완료 콜백으로 GDPR 동의 상태 결과 값 consentState가 전달됩니다. 결과값에 따른 별도 처리가 필요하지 않습니다.
*/
print("InitializeWithShowGDPRConsent consentState : \(consentState)")
}
RewardVideo 類型廣告¶
這是一種在觀看超過一定時間後會給予獎勵的獎勵型廣告。一次只能加載一個廣告。
// 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 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
设置的字符串传递曝光时刻。
自適應橫幅類型廣告¶
這是一個佔據屏幕部分的滾動橫幅廣告。您可以通過輸入BannerPosition值或特定的yPos值來調整橫幅的位置。 當輸入yPos值以調整橫幅位置時,橫幅的位置會在底部對齊狀態下向上移動指定的yPos值。
// 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()
// 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 類型廣告¶
當應用程序狀態從背景切換到前景時顯示的應用開啟廣告。
// 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 开发者网站上查看。