跳轉至

iOS

AdKit for ADOP: iOS

設定

  1. 在 Xcode 项目的 Info.plist 文件中添加 GADApplicationIdentifier 键,并将 AdMobId 值(格式为 ca-app-pub-XXXXX~YYYYY)作为该键的值。同时,将 ADOP APP_KEY 作为 BidmadAppKey 键的值。ADOP APP_KEY 可以在登录 ADOP Insight 后的账户管理 > 我的信息 > 详细信息中找到。

            GADApplicationIdentifier
            ca-app-pub-XXXXX~YYYYY
            BidmadAppKey
            6b097551-7f78-11ed-a117-026864a21938        
    

您可以在管理 GDPR 同意時從 UMP 項目中識別設置。

  1. 在 iOS 14 及更高版本上,通过参考 准备 iOS 14 指南,将 SKAdNetwork 列表添加到 Info.plist 文件中。
  2. 将以下内容添加到您项目应用的 CocoaPods 设置中:

    source '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' do
                            pod 'HiveAdKit_ADOP', '1.4.6'
                    end
    
    4. 运行以下命令以应用 CocoaPod 设置。

    $pod install
    
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"

初始化 AdKit

執行 AdKit 初始化。

在執行重置時,如果您位於歐洲和英國(EEA 和英國)地區,將自動顯示 GDPR 同意彈出窗口。在其他地區,重置將立即執行。

  • 如果您的遊戲針對歐洲經濟區和英國地區,請確保您的GDPR同意彈出窗口根據GDPR消息指南進行設置。
import AdKit
// Commercial
AdKit.InitializeWithShowGDPRConsent(appKey: appKey, vc: self, bLog: false, gdprTestDeviceId: nil)
// GDPR EEA test mode
AdKit.InitializeWithShowGDPRConsent(appKey: appKey, vc: self, bLog: true, gdprTestDeviceId: gdprTestDeviceId)

在發生分析日誌時,可以包含用戶的附加信息,並且數據以JSONObject類型傳遞。

let dict = Dictionary<String, Any> (dictionaryLiteral: ("level",1),("gold",100))
AdKit.SetAdditionalInfo(additionalInfo: dict)

獎勵視頻類型

獎勵視頻類型廣告會獎勵觀看視頻一段時間的用戶,並且一次只能加載一個廣告。

// 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")

此外,adPlacementInfo 可以作为字符串传递,该字符串在成功 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")

此外,adPlacementInfo 可以作为字符串传递,该字符串在成功 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()

// This example shows adjusting the banner position with specifiying the yPos value.
// 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")

// The position is adjusted following the yPos value.
adaptiveBanner?.setPosition(yPosition:yPos)

此外,adPlacementInfo 可以作为字符串传递,该字符串在成功 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 開發者以使用測試廣告。