# カスタムSDK連携 AdMob iOS

# はじめに

Ad Generationの「カスタムタグ」設定にて、Ad Generation SDKからAdMobのSDKを呼び出し、AdMobの広告を表示できます。

# 前提条件

  • Xcode12+
  • iOS 11.0+

# 実装の流れ

  1. Ad Generation SDKをプロジェクトに追加します。
  2. AdMob SDKをプロジェクトに追加します。
  3. Info.plistの設定を行います。
  4. Ad Generationの広告表示の実装をします。
  5. SDK連携にあたっての共通作業を行います。

# 1. Ad Generation SDKをプロジェクトに追加する

# CocoaPodsを使用する

  1. 次の行をプロジェクトのPodfileに追加します。
pod 'Google-Mobile-Ads-SDK', '~> 10.12.0'
pod 'AdGeneration'
pod 'AdGeneration-Adapter-AdMob'
  1. pod install を実行します。
手動でインストールする場合

# 手動でインストールする

  • Ad Generation SDK (ADG.xcframework)
    追加方法は、Getting Started / バナー広告 をご参照ください。

  • Ad Generation AdMob Adapter (ADGAdMob.xcframework)
    AdMob Adapter ダウンロード (opens new window)よりダウンロードし、プロジェクトに追加してください。

  • AdMob SDK (GoogleMobileAds.xcframework)
    Google Mobile Ads SDKのv7.42.0以降は下記もあわせて追加が必要となります。

  • GoogleAppMeasurement.xcframework

  • GoogleUtilities.xcframework

  • nanopb.xcframework

追加方法は、AdMobドキュメント (opens new window)をご参照ください。

手動で追加する場合は、以下のframeworkの参照追加が必要になります。

  • AudioToolbox
  • AVFoundation
  • MessageUI
  • StoreKit
  • SafariServices
  • GLKit
  • OpenGLES
  • CoreMotion
  • CoreVideo

# 2. Info.plistの設定を行う

Google Mobile Ads SDKのv7.42.0以降はInfo.plistに以下を追加してください。
この手順はv7.42.0以降必須になります。
下記をInfo.plistに記述していない場合、アプリ起動時にクラッシュが発生いたしますのでご注意ください。

  • GADApplicationIdentifier
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>

※上記の例に表示されているAdMobアプリIDではなく、実際のAdMobアプリIDを使用してください。

  • GADIsAdManagerApp
<key>GADIsAdManagerApp</key>
<true/>

詳細はこちらを確認してください。

# 3. Ad Generationの広告表示の実装をする

# 4. SDK連携にあたっての共通作業を行う

アドネットワークのSDKと連携するための注意事項や共通して対応いただく必要がございます。各アドネットワークのSDKを導入する前に以下をご確認ください。

アドネットワークのSDKと連携する際の注意事項および共通手順

AdMob SDK version 7.69.0以前のフォーマット

# ネイティブ広告(アドバンス)について

AdMobの公式リファレンスは以下になります。
AdMob iOS ネイティブ アドバンス広告 (opens new window)

ADGManagerViewControllerReceiveAd:mediationNativeAd:のDelegateのメソッドのmediationNativeAdから3パターンのネイティブ広告オブジェクトが取得できます。

  • コンテンツ広告(GADNativeContentAd) ※v7.46.0以降は廃止されております
  • アプリインストール広告(GADNativeAppInstallAd) ※v7.46.0以降は廃止されております
  • 統合広告(GADUnifiedNativeAd)

ネイティブ広告オブジェクトはGADNativeContentAd GADNativeAppInstallAd GADUnifiedNativeAd クラスです。
参照するために、該当クラスに GoogleMobileAds のimportを追加してください。

ネイティブ広告オブジェクト取得後、お客様側でレイアウトを構築していただき、
Ad Generation SDKに対して構築したネイティブ広告のViewを登録するために [ADGManagerViewController getNativeMediationView:] を実行してください。

その後、画面へのaddなど表示処理を適宜おこなってください。

# 実装例

※UnifiedNative広告をご利用の場合は、GADUnifiedNativeAdクラス以外の返却はございませんので、コンテンツ広告の処理、アプリインストール広告の処理は省略いただいてかまいません。

# 統合広告(GADUnifiedNativeAd)の実装方法

GADUnifiedNativeAdを受け取るために以下をご確認いただき、実装をしてください。

  • Google Mobile Ads SDK(GoogleMobileAds.xcframework)がv7.28.0以降であること
  • Ad Generation AdMob Adapter (ADGAdMob.xcframework)がv1.0.2以降であること
  • 広告リクエスト(loadRequest())コール前にsetIsUnifiedNativeAdフラグにYESを設定していること

# スマートバナーについて

スマートバナーとは、AdMobで提供されているバナー広告の幅を端末幅まで自動で拡大する機能です。
Ad Generation SDKからスマートバナーを有効にするには以下のようにexpandframeYESに指定してください。
また、 広告を表示するadViewにしているViewは、水平方向が中央に配置されるよう実装してください。

# Google Mobile Ads SDK version 8.0.0以降のネイティブ広告について

ネイティブ広告オブジェクトはGADNativeAd クラスです。
参照するために、該当クラスに GoogleMobileAds のimportを追加してください。

ネイティブ広告オブジェクト取得後、お客様側でレイアウトを構築していただき、
Ad Generation SDKに対してネイティブ広告のViewを登録するために [ADGManagerViewController getNativeMediationView:] を実行してください。
[ADGManagerViewController getNativeMediationView:] にて返却されたViewを、画面へaddいただき、広告の表示をおこなってください。

# 実装例

弊社広告枠のカスタム配信設定にて、AdMobのネイティブ広告を設定済みの広告枠IDをセットしてリクエストしていることを前提とし、
AdMobのネイティブ広告が正常に受信した場合、下記デリゲートに通知されます。

# 広告View構築時のご注意

広告のレイアウト構築時につきまして、AdMobのレギュレーションがございます。
公式のネイティブ広告のポリシーとガイドライン (opens new window)にて、
広告レイアウトやタップ領域についての記述がございますので、ご確認ください。

# コンテンツ マッピングの設定

コンテンツ マッピングを導入すると、コンテンツに基づくターゲティングを実施できます。
詳細はこちらを確認してください。

アプリ向けコンテンツ マッピング (opens new window)

Ad Generation SDKからコンテンツマッピングを有効にするには以下のように setContentUrlからURLを指定してください。

# テスト用ID

テスト広告の表示に使用するAd Genrationの広告枠IDです。
このIDをセットしたままアプリをリリースしないようご注意ください。

サイズ テストID 配信広告1 配信広告2
バナー 43468 AdMob テスト広告
インタースティシャル 43249 AdMob テスト広告
ネイティブ(Advanced/Content/Unified ※1) 46153 AdMob テスト広告
ネイティブ(Advanced/AppInstall/Unified ※1) 46154 AdMob テスト広告
ネイティブ(Advanced/Contents/AppInstall/Unified ※1) 46470 AdMob テスト広告
Last Updated: 10/24/2023, 8:43:46 AM