LoginSignup
24
22

More than 5 years have passed since last update.

AndroidにAdMob広告(メディエーション)を入れる手順

Posted at

(nendとi-mobileを導入する)

2013年8月5日作成

AdMobSDKの組み込み

バージョン6.4.1の場合

  • AdMobにてサイト登録する(パブリッシャーIDを得る)
  • AdMobの最新SDKを入手(https://developers.google.com/mobile-ads-sdk/download?hl=ja)
  • コンパイルのtargetがAPI level 12以下の場合は、プロジェクトのプロパティ→Android→プロジェクト・ビルド・ターゲットをAPI level 13以上にする
  • プロジェクトプロパティからJavaビルド・パス→Jar追加→GoogleAdMobAdsSdk-6.4.1.jarを追加する
  • AndroidManifest.xmlにAdActivityを追加する
AndroidManifest.xml
 <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
  • 以下のパーミッションを追加する
AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  • 表示したいレイアウトの一番上のレイアウト要素に以下のネームスペースを作成する
<RelativeLayout hoge...
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    hoge ></RelativeLayout>
  • 以下のコードを表示したいところへ挿入することで、Adが挿入される
<com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    ads:adUnitId="パブリッシャーID"
    ads:adSize="BANNER"
    ads:loadAdOnCreate="true" />

広告を下に表示する

kobito.1375688493.139088.png

こんな感じを目指します。

基本的には既に有料版を作っていて、それの無料版を作る場合は極力画像リソースやレイアウトの構成を変えたくないので、レイアウト構成を変えずに、下にAdを追加する方法のメモを書きます。

  • ルートのレイアウト要素をRelativeLayoutにする
  • 広告(com.google.ads.AdView)にandroid:layout_alignParentBottom="true"を追加する
  • 広告の要素にIDをつける(ここでは「adView」)
  • コンテンツ(広告以外の領域)にandroid:layout_above="@+id/adView"を追加する

まとめると以下になります。

layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="1" 
    android:background="#00000000">

    <com.google.ads.AdView
         android:id="@+id/adView"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
         ads:adUnitId="パブリッシャーID"
         ads:adSize="BANNER"
         ads:loadAdOnCreate="true"
     />

    <LinearLayout android:id="@+id/linearLayout1"
        android:layout_width="fill_parent" 
        android:orientation="vertical" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:layout_above="@+id/adView">

        メインのコンテンツ

    </LinearLayout>
<RelativeLayout>

AdMob上でメディエーションのセットアップをする

AdMob上でメディエーションの設定をする。

プロジェクトにnendとi-mobileのメディエーションアダプターを導入する

各ページから広告のSDKとメディエーション用のアダプターをダウンロードする。
今回だったら以下のファイルが必要です。

  • nendSDK-2.2.0.jar
  • nendAdapter-1.0.0.jar
  • i-mobileSDK.jar
  • i-mobileSDKMediationAdapter.jar

これらをAdMobのSDKを導入した時と同じ手順でプロジェクトに追加してください。
最終的に読み込むライブラリは以下のようになります。

kobito.1375772586.225417.png

アプリ側でメディエーションを反映させる

ここが若干ハマリポイントです。
AdMobの広告を配信する場合はads:adUnitIdにパブリッシャーIDをセットしましたが、メディエーションを使用する場合はメディエーションIDをセットします。

<com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    ads:adUnitId="メディエーションID"
    ads:adSize="BANNER"
    ads:loadAdOnCreate="true" />

以上が手順になります。

まとめ

メディエーションを使って、広告収益を最大化しましょう!!

24
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
22