-
Notifications
You must be signed in to change notification settings - Fork 16
AdMobAdapter_Android_Manual
Ad Generationの「カスタムタグ」設定にて、Ad Generation SDKからAdMobのSDKを呼び出し、AdMobの広告を表示することができます。
- Android Studio 3.2以降
- minSdkVersion 16以降
- compileSdkVersion 28以降
- AndroidX 移行済み
- 'com.google.android.gms:play-services-ads:20.1.0' で検証しています。
- Ad Generation SDKをプロジェクトに追加します。
- Gradleを設定し、Google Play Servicesを導入します。
- AndroidManifest.xmlの設定を行います。
- Ad Generationの広告表示の実装をします。
- SDK連携にあたっての共通作業を行います。
-
Ad Generation SDK
追加方法は、Getting Started / バナー広告をご参照ください。 -
Ad Generation AdMob Adapter (ADG-GoogleAds-Extra-x.x.x.jar)
AdMob Adapter ダウンロードよりダウンロードし、プロジェクトに追加してください。 ※ADG-GoogleAds-Extra-1.1.0.jar
は必ず、play-services-ads:20.1.0
との組み合わせでご利用ください。
Ad Generation SDKがアプリケーションモジュール内のlibsディレクトリに配置されている場合、以下のようにAdMob AdapterとGoogle Play Servicesが参照されるように設定します。
アプリレベルのbuild.gradle(抜粋)
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.android.gms:play-services-base:17.6.0'
implementation 'com.google.android.gms:play-services-ads:20.1.0'
}
Google Mobile Ads SDKのv17.0.0以降はAndroidManifest.xmlに以下を追加してください。
この手順はv17.0.0以降必須になります。
下記をAndroidManifest.xmlに記述していない場合、アプリ起動時にクラッシュが発生いたしますのでご注意ください。
- APPLICATION_ID
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="[YOUR_ADMOB_APP_ID]"/>
- AD_MANAGER_APP
<meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true"/>
詳細はこちらを確認してください。
アドネットワークのSDKと連携するための注意事項や共通して行って頂く必要がある作業がございます。各アドネットワークのSDKを導入する前に以下をご確認ください。
AdMob SDK version 19.8.0以前のフォーマット
AdMobの公式リファレンスは以下になります。 AdMob Android ネイティブ広告
onReceiveAd(Object nativeAd)
のListenerのメソッドにて、ネイティブ広告オブジェクトが取得できます。
ネイティブ広告オブジェクトのクラスは下記3パターンです。
- コンテンツ広告(NativeContentAd)
com.google.android.gms.ads.formats.NativeContentAd
- アプリインストール広告(NativeAppInstallAd)
com.google.android.gms.ads.formats.NativeAppInstallAd
- 統合広告(UnifiedNativeAd)
com.google.android.gms.ads.formats.UnifiedNativeAd
参照するために、該当クラスにimportを追加してください。
ネイティブ広告オブジェクト取得後、お客様側でレイアウトを構築していただいた後、
AD Generation SDKに対して、構築したネイティブ広告のViewを登録するために ADG.getNativeMediationView()
を実行してください。
その後、画面へのaddなど表示処理を適宜おこなってください。
@Override
public void onReceiveAd(Object nativeAd) {
View nativeAdView = null;
if (nativeAd instanceof NativeContentAd) {
NativeContentAd nativeContentAd = (NativeContentAd) nativeAd;
// コンテンツ広告のView構築処理
nativeAdView = createAdView(nativeContentAd);
}
if (nativeAd instanceof NativeAppInstallAd) {
NativeAppInstallAd nativeAppInstallAd = (NativeAppInstallAd) nativeAd;
// アプリインストール広告のView構築処理
nativeAdView = createAdView(nativeAppInstallAd);
}
if (nativeAd instanceof UnifiedNativeAd) {
UnifiedNativeAd unifiedNativeAd = (UnifiedNativeAd) nativeAd;
// 統合広告のView構築処理
nativeAdView = createAdView(unifiedNativeAd);
}
if (nativeAdView != null) {
// AD Generation SDKにViewをセットして登録する
nativeAdView = adg.getNativeMediationView(nativeAdView);
// ローテーション時に自動的にViewを削除します
adg.setAutomaticallyRemoveOnReload(nativeAdView);
}
}
※統合広告をご利用の場合は、UnifiedNativeAdクラス以外の返却はございませんので、コンテンツ広告のView構築処理、アプリインストール広告のView構築処理は省略いただいてかまいません。
UnifiedNativeAd
を受け取るために以下をご確認いただき、実装をしてください。
- Google Mobile Ads SDKがv15.0.0以降であること
- 広告リクエスト(
start()
)コール前にsetEnableUnifiedNativeAd
フラグにtrueを設定していること
スマートバナーとは、AdMobで提供されているバナー広告の幅を端末幅まで自動で拡大する機能です。
Ad Generation SDKからスマートバナーを有効にするには以下のようにsetExpandframe()
でtrue
に指定してください。
ADG adg = new ADG(MyActivity.this);
adg.setExpandFrame(true);
ネイティブ広告オブジェクトはNativeAd
クラスです。
参照するために、該当クラスに com.google.android.gms.ads.nativead
のimportを追加してください。
ネイティブ広告オブジェクト取得後、お客様側でレイアウトを構築していただき、
AD Generation SDKに対してネイティブ広告のViewを登録するために ADG.java#getNativeMediationView(View view)
を実行してください。
ADG.java#getNativeMediationView(View view)
にて返却されたViewを、画面へaddいただき、広告の表示をおこなってください。
弊社広告枠のカスタム配信設定にて、AdMobのネイティブ広告を設定済みの広告枠IDをセットしてリクエストしていることを前提とし、 AdMobのネイティブ広告が正常に受信した場合、下記デリゲートに通知されます。
@Override
public void onReceiveAd(Object nativeAd) {
View nativeAdView = null;
if (nativeAd instanceof UnifiedNativeAd) {
UnifiedNativeAd unifiedNativeAd = (UnifiedNativeAd) nativeAd;
// ネイティブ広告のレイアウト作成処理
nativeAdView = createAdView(unifiedNativeAd);
}
if (nativeAdView != null) {
// AD Generation SDKにViewをセットして登録する
nativeAdView = adg.getNativeMediationView(nativeAdView);
// ローテーション時に自動的にViewを削除します
adg.setAutomaticallyRemoveOnReload(nativeAdView);
}
}
広告のレイアウトにつきまして、AdMobのレギュレーションがございます。 公式のネイティブ広告のポリシーとガイドラインにて、広告レイアウトやタップ領域についての記述がございますので、ご確認ください。
コンテンツ マッピングを導入すると、コンテンツに基づくターゲティングを実施できます。
詳細はこちらを確認してください。
Ad Generation SDKからコンテンツマッピングを有効にするには以下のように setContentUrl()
にURLを指定して下さい。
ADG adg = new ADG(MyActivity.this);
adg.setContentUrl("URL");
proguardを設定する場合は設定ファイルに以下を追加して下さい。
-keep public class com.socdm.d.adgeneration.** { *; }
-keep public interface com.socdm.d.adgeneration.** { *; }
-keep public class com.google.android.gms.ads.** {
public *;
}
-keep public class com.google.ads.** {
public *;
}
テスト広告の表示に使用するAd Genrationの広告枠IDです。
このIDをセットしたままアプリをリリースしないようご注意ください。
サイズ | テストID | 配信広告1 | 配信広告2 |
---|---|---|---|
バナー | 43469 | AdMob | テスト広告 |
インタースティシャル | 43250 | AdMob | テスト広告 |