Skip to content

AdMobAdapter_Android_Manual

Ad Generation edited this page Mar 17, 2020 · 18 revisions

カスタムSDK連携 AdMob Android

はじめに

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

前提条件

  • Android Studio 2.0以降
  • Android API Level 16以降

Google Play Servicesは9.4.0で検証しています。

実装の流れ

  1. Ad Generation SDKをプロジェクトに追加します。
  2. Gradleを設定し、Google Play Servicesを導入します。
  3. AndroidManifest.xmlの設定を行います。
  4. Ad Generationの広告表示の実装をします。
  5. SDK連携にあたっての共通作業を行います。

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

2. Gradleを設定する

Ad Generation SDKがアプリケーションモジュール内のlibsディレクトリに配置されている場合、以下のようにAd Generation SDKとGoogle Play Servicesが参照されるように設定します。

アプリレベルのbuild.gradle(抜粋)

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:xx.x.x'
    implementation 'com.google.android.gms:play-services:+'
}

3. AndroidManifest.xmlの設定をする

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"/>

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

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

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

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

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

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

onReceiveAd(Object nativeAd)のListenerのメソッドにて、ネイティブ広告オブジェクトが取得できます。

ネイティブ広告オブジェクトのクラスは下記3パターンです。

  • コンテンツ広告(NativeContentAd) com.google.android.gms.ads.formats.NativeAppInstallAd
  • アプリインストール広告(NativeAppInstallAd) com.google.android.gms.ads.formats.NativeContentAd
  • 統合広告(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構築処理は省略いただいてかまいません。

コンテンツ広告(NativeContentAd)、アプリインストール広告(NativeAppInstallAd)の実装方法

AdMobの公式リファレンスをご参照ください。 AdMob Android ネイティブ広告

統合広告(UnifiedNativeAd)の実装方法

AdMobの公式リファレンスをご参照ください。 AdMob Android ネイティブ広告 (統合)

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

  • Google Mobile Ads SDKがv15.0.0以降であること
  • 広告リクエスト(start())コール前にsetEnableUnifiedNativeAdフラグにtrueを設定していること

広告View構築時の注意

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

スマートバナーについて

スマートバナーとは、AdMobで提供されているバナー広告の幅を端末幅まで自動で拡大する機能です。
Ad Generation SDKからスマートバナーを有効にするには以下のようにsetExpandframe()trueに指定してください。

ADG adg = new ADG(MyActivity.this);
adg.setExpandFrame(true);

proguardの設定

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 *;
}

テスト用ID

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

サイズ テストID 配信広告1 配信広告2
バナー 43469 AdMob テスト広告
インタースティシャル 43250 AdMob テスト広告
ネイティブ(Advanced/Content/Unified ※1) 46155 AdMob テスト広告
ネイティブ(Advanced/AppInstall/Unified ※1) 46156 AdMob テスト広告
ネイティブ(Advanced/Contents/AppInstall/Unified ※1) 46471 AdMob テスト広告

※1:setEnableUnifiedNativeAdフラグをtrueにしていれば統合広告が返却されます

Home

導入マニュアルのドキュメントはコチラに移行しました。

お手数ですがリンクから遷移してください。 https://docs.sdk.ad-generation.jp/

Clone this wiki locally