-
Notifications
You must be signed in to change notification settings - Fork 16
AdMobAdapter_iOS_Manual
Ad Generationの「カスタムタグ」設定にて、Ad Generation SDKからAdMobのSDKを呼び出し、AdMobの広告を表示することができます。
- Xcode 12系(※Ad Generation SDK 〜v2.20.1 までのバージョンをご利用の方はXcode 13へのアップデートを行わないでください)
- iOS 9.0以降
- GoogleMobileAds.framework v8.5.0で検証しています。
- Ad Generation SDKをプロジェクトに追加します。
- AdMob SDKをプロジェクトに追加します。
- Info.plistの設定を行います。
- Ad Generationの広告表示の実装をします。
- SDK連携にあたっての共通作業を行います。
-
Ad Generation SDK (ADG.framework) 追加方法は、Getting Started / バナー広告 をご参照ください。
-
Ad Generation AdMob Adapter (ADGAdMob.framework) AdMob Adapter ダウンロードよりダウンロードし、プロジェクトに追加してください。
AdMob SDK (GoogleMobileAds.framework) をプロジェクトに追加してください。 Google Mobile Ads SDKのv7.42.0以降は下記もあわせて追加が必要となります。
- GoogleAppMeasurement.framework
- GoogleUtilities.framework
- nanopb.framework
追加方法は、AdMobドキュメントをご参照ください。
手動で追加する場合は、以下のframeworkの参照追加が必要になります。
- AudioToolbox
- AVFoundation
- MessageUI
- StoreKit
- SafariServices
- GLKit
- OpenGLES
- CoreMotion
- CoreVideo
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/>詳細はこちらを確認してください。
アドネットワークのSDKと連携するための注意事項や共通して行って頂く必要がある作業がございます。各アドネットワークのSDKを導入する前に以下をご確認ください。
AdMob SDK version 7.69.0以前のフォーマット
AdMobの公式リファレンスは以下になります。 AdMob iOS ネイティブ アドバンス広告
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など表示処理を適宜おこなってください。
- (void)ADGManagerViewControllerReceiveAd:(ADGManagerViewController *)adgManagerViewController mediationNativeAd:(id)mediationNativeAd {
UIView *nativeAdView;
if ([mediationNativeAd isKindOfClass:[GADNativeContentAd class]]) {
GADNativeContentAd *nativeContentAd = (GADNativeContentAd *)mediationNativeAd;
// コンテンツ広告の処理
nativeAdView = [self createGADNativeContentAd:nativeAppInstallAd];
} else if ([mediationNativeAd isKindOfClass:[GADNativeAppInstallAd class]]) {
GADNativeAppInstallAd *nativeAppInstallAd = (GADNativeAppInstallAd *)mediationNativeAd;
// アプリインストール広告の処理
nativeAdView = [self createGADNativeAppInstallAd:nativeAppInstallAd];
} else if ([mediationNativeAd isKindOfClass:[GADUnifiedNativeAd class]]) {
GADUnifiedNativeAd *nativeUnifiedNativeAd = (GADUnifiedNativeAd *)mediationNativeAd;
// UnifiedNative広告の処理
nativeAdView = [self createGADUnifiedNativeAd:nativeAppInstallAd];
}
if (nativeAdView) {
// Ad Generation SDKにViewをセットして登録する
nativeAdView = [self.adg getNativeMediationView:nativeAdView];
}
}※UnifiedNative広告をご利用の場合は、GADUnifiedNativeAdクラス以外の返却はございませんので、コンテンツ広告の処理、アプリインストール広告の処理は省略いただいてかまいません。
GADUnifiedNativeAdを受け取るために以下をご確認いただき、実装をしてください。
- Google Mobile Ads SDK(GoogleMobileAds.framework)がv7.28.0以降であること
- Ad Generation AdMob Adapter (ADGAdMob.framework)がv1.0.2以降であること
- 広告リクエスト(
loadRequest())コール前にsetIsUnifiedNativeAdフラグにYESを設定していること
スマートバナーとは、AdMobで提供されているバナー広告の幅を端末幅まで自動で拡大する機能です。
Ad Generation SDKからスマートバナーを有効にするには以下のようにexpandframeをYESに指定してください。
また、 広告を表示するadViewにしているViewは、水平方向が中央に配置されるよう実装してください。
self.adg.expandFrame = YES;ネイティブ広告オブジェクトはGADNativeAd クラスです。
参照するために、該当クラスに GoogleMobileAds のimportを追加してください。
ネイティブ広告オブジェクト取得後、お客様側でレイアウトを構築していただき、
Ad Generation SDKに対してネイティブ広告のViewを登録するために [ADGManagerViewController getNativeMediationView:] を実行してください。
[ADGManagerViewController getNativeMediationView:] にて返却されたViewを、画面へaddいただき、広告の表示をおこなってください。
弊社広告枠のカスタム配信設定にて、AdMobのネイティブ広告を設定済みの広告枠IDをセットしてリクエストしていることを前提とし、 AdMobのネイティブ広告が正常に受信した場合、下記デリゲートに通知されます。
- (void)ADGManagerViewControllerReceiveAd:(ADGManagerViewController *)adgManagerViewController mediationNativeAd:(id)mediationNativeAd {
UIView *nativeAdView = nil;
if ([mediationNativeAd isKindOfClass:[GADNativeAd class]]) {
GADNativeAd *nativeAd = (GADNativeAd *)mediationNativeAd;
// ネイティブ広告のレイアウト作成処理
nativeAdView = [self createGADNativeAd:nativeAd];
}
if (nativeAdView) {
// Ad Generation SDKにViewをセットして登録する
nativeAdView = [self.adg getNativeMediationView:nativeAdView];
}
}広告のレイアウト構築時につきまして、AdMobのレギュレーションがございます。 公式のネイティブ広告のポリシーとガイドラインにて、 広告レイアウトやタップ領域についての記述がございますので、ご確認ください。
コンテンツ マッピングを導入すると、コンテンツに基づくターゲティングを実施できます。 詳細はこちらを確認してください。
Ad Generation SDKからコンテンツマッピングを有効にするには以下のように setContentUrlからURLを指定して下さい。
[self.adg setcontentUrl:@"URL"];テスト広告の表示に使用するAd Genrationの広告枠IDです。 このIDをセットしたままアプリをリリースしないようご注意ください。
| サイズ | テストID | 配信広告1 | 配信広告2 |
|---|---|---|---|
| バナー | 43468 | AdMob | テスト広告 |
| インタースティシャル | 43249 | AdMob | テスト広告 |