Android エミュレータに AdMob 広告を表示させてみた



AdMob はモバイル広告に必要なソリューションを提供している会社です
詳しくはこちら
http://jp.admob.com/home/about


アカウント作成はすでに出来ていること前提です

このサイトとダウンロードできる PDF を参考に進みます
http://itpro.nikkeibp.co.jp/article/COLUMN/20100409/346903/?ST=android-dev
http://itpro.nikkeibp.co.jp/article/COLUMN/20100601/348727/?ST=android-dev

使用している環境は Eclipse 3.5.1、Java 1.6、Android 2.2 になります



まずは SDK をダウンロードします

・サイト及びアプリケーションの追加

Android アプリケーションを選択し、適切なパブリッシャーコードを取得を取得します

Android パッケージ URL は今のところ登録するところがないので
market://http:// に変更します
以下、テスト用

App名:AndroidTest
Android パッケージ URL:http://
ジャンル:ツール
Appの説明:テスト

で、次へ

これでインストール・コード - AndroidTestに進み
AdMob Android SDK をダウンロードします
SDK の説明書が PDF で確認できるので合わせてダウンロードします

サイト及びアプリケーションに移動

これで、AndroidTest が追加されているので名前の部分にカーソルを持っていくと
設定の管理」ボタンが表示されます

設定の管理を押すと設定画面に移動します

設定の管理で細かい設定ができますが必要になるのが
名前の下にあるパブリッシャーIDです

これを覚えておきます


・AdMob SDK を追加

ダウンロードした SDK を解凍し、フォルダ丸ごと Android SDK があるところへ移動します
C:\Program Files\Android\admob-sdk-android

Eclipse に作成されている Android プロジェクトに AdMob SDK を追加します

ワークスペースのプロジェクトを右クリック→
プロパティ」内の「Java のビルド・パス」→ 「ライブラリー」タブ→
外部 JAR の追加」→「admob-sdk-android.jar」を追加
で、OK

追加されました


・XMLを編集・追加

AndroidManifest.xml を編集します

</application>

の前の行に

<meta-data android:value="xxxxxxxxxxxxxxx" android:name="ADMOB_PUBLISHER_ID" />

を追加

xxxxxxxxxxxxxxx はパブリッシャーIDです

<uses-permission android:name="android.permission.INTERNET"></uses-permission>



<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

に変更

attrs.xml を追加します

res/values 以下に attrs.xml を追加

新規ウィザードから XML を選択、作成するフォルダに追加するファイル名を指定し、
XML テンプレートから XML ファイルを作成してください

以下を追加

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <declare-styleable name="com.admob.android.ads.AdView">
        <attr name="backgroundColor" format="color" />
        <attr
name="primaryTextColor" format="color" />
        <attr
name="secondaryTextColor" format="color" />
        <attr
name="keywords" format="string" />
        <attr
name="refreshInterval" format="integer" />
    </declare-styleable>
</resources>

main.xml を編集します

res/layout/main.xml  に追加

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:myapp="http://schemas.android.com/apk/res/jp.Android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <com.admob.android.ads.AdView
        android:id="@+id/ad"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        myapp:backgroundColor="#000000"
        myapp:primaryTextColor="#FFFFFF"
        myapp:secondaryTextColor="#CCCCCC"
    />
</LinearLayout>

xmlns:myapp="http://schemas.android.com/apk/res/jp.Android"
の jp.Android は、パッケージの名前 です


・コード追加

onCreate() の中に

setContentView( R.layout.main );
AdManager.setTestDevices(
    new String[]
    {
        AdManager.TEST_EMULATOR,
    } );
を追加します

setContentView() でレイアウトを指定
AdManager.setTestDevices() で広告を表示しているようです

PDF には
AdManager.setTestDevices( new String[] {
    AdManager.TEST_EMULATOR, // Android emulator
    "E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone
    } );
}
と書かれていて
AdManager.TEST_EMULATOR がエミュレータの指定なのはなんとなく分かるのですが
My T-Mobile G1 Test Phone がよく分かりませんでした

・とりあえず、ビルドして実行

エミュレータの画面上に広告が表示されます



分からないところがまだ多いです

Android パッケージ URL:market:// は、どこを指定すればいいのかとか
ACCESS_COARSE_LOCATION で位置情報から特定の地域に特化した広告が流せるらしいとか
広告を表示する場所は多分 res/layout/main.xml を書き換えればいいんじゃないかとか
後、"E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone は何よとか
ちゃんと実機で動くのかとか

詳しく分かったらそのうち追加していきますが
知っている方がいたら情報求む


以下、参考サイト
http://itpro.nikkeibp.co.jp/article/COLUMN/20100601/348727/?ST=android-dev
http://d.hatena.ne.jp/mokkouyou/20100324/1269431910
http://www.e68club.com/2010/06/android-admob.html
http://groups.google.co.jp/group/android-group-japan/browse_thread/thread/92619cf8a8c6c507


以下、関連書籍
関連記事



テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

当サイトを利用する前に
プロフィール

ぼっちな在宅プログラマー
人生に挫折しちゃってます

最新記事
カテゴリ
倉庫
スポンサードリンク
開発支援(アフィリエイト)
アマゾン
検索フォーム
一言(Twitter)
オススメ書籍
オススメゲーム
ブロとも申請フォーム

この人とブロともになる

Powered By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ