コンテンツにスキップ

iOS

Hive AdKit for ADOP: iOS

設定

Warning

AdKit 1.5.1バージョンからは、従来使用していたAppKeyがAppDomainに変更されました。AppDomainは従来のAppKeyと互換性がないため、Hive AdKitの初期化には新しいAppDomainを発行していただく必要があります。 AppDomainに関する情報はテックラボプラットフォーム事業部運営チームにお問い合わせください。

  1. XcodeプロジェクトのInfo.plistファイルを以下のように修正します。

    • GADApplicationIdentifierキーを追加
    • AdMobId値(ca-app-pub-XXXXX~YYYYY形式)をキー値として入力
    • BidmadAppDomainキー値としてADOP APP_DOMAINを入力
    <key>GADApplicationIdentifier</key>
    <string>ca-app-pub-XXXXX~YYYYY</string>
    <key>BidmadAppDomain</key>
    <string>common-serving-bidmad.adop.co.kr</string>
    
  2. iOS 14 以上では Preparing for iOS 14 ガイドを参考にして ADOPの SKAdNetwork リストInfo.plist ファイルに追加します。

  3. プロジェクトアプリの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.5.1'
    end
    

  4. CocoaPodの設定を適用します。

    $pod install
    
Note

アプリ配布時に個人情報アンケートフォームを作成するための情報を得るには、プライバシー調査ガイドを参照してください。

適用ガイド

ADOP テスト広告キー

AdMobではなくADOPが発行した広告キーを使用する必要があります。

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に関する情報はテックラボプラットフォーム事業部運営チームにお問い合わせください。

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 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値を入力してバナー位置を調整する際、バナー位置はBottom整列状態で指定した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 開発者サイトで確認できます。