跳转至

iOS 版

AdKit for ADOP: iOS

设置

  1. GADApplicationIdentifier 键添加到 Xcode 项目的 Info.plist 文件中,并将 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 和 UK)地区,将自动显示 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 Developers以使用测试广告。