(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" />
広告を下に表示する
こんな感じを目指します。
基本的には既に有料版を作っていて、それの無料版を作る場合は極力画像リソースやレイアウトの構成を変えたくないので、レイアウト構成を変えずに、下に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を導入した時と同じ手順でプロジェクトに追加してください。
最終的に読み込むライブラリは以下のようになります。
アプリ側でメディエーションを反映させる
ここが若干ハマリポイントです。
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" />
以上が手順になります。
まとめ
メディエーションを使って、広告収益を最大化しましょう!!