adMobをandroid2.3.3 に設定する。

jp.admob

Androidアプリへadmobの設定をするため、SDK(GoogleAdMobAdsSdkAndroid.zip)をダウンロードしてビルドパスに追加しました。

 

今回ダウンロードしたSDKバージョンはのは、GoogleAdMobAdsSdk-6.1.0.jar になります。Activityで設定する方法とレイアウトのxmlで設定する方法があるそうですが、今回はxml設定を行いました。実装内容は以下になります。しかし、このあと問題が…

AndroidManifest.xml

<activity android:name="com.google.ads.AdActivity" 
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

 

home.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:id="@+id/topLayout">           

   <!-- Ad Placeholder -->
   <com.google.ads.AdView      
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adUnitId="パブリーシャーID"
   ads:testDevices="デバイスID"
        ads:adSize="BANNER"
        ads:loadAdOnCreate="true"
        android:layout_gravity="top"
        android:layout_alignParentBottom="true"
        android:gravity="center_horizontal" />

</LinearLayout>

HomeActivity

// AdViewルックアップしてリクエストを読み込む。
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest();

// 一般的なリクエストで広告を読み込む
 adView.loadAd(adRequest);

 

ます、AndroidManifest.xmlで保存してビルドがされるとエラーになります。screenSizeとsmallestScreenSizeがAndroid2.3.3に対応していないとこのです。Android3.2移行を検討しましたが、ダウンロード数を増やすためにもAndroid2.3.3から使えるアプリにしたいし、admobも使いたい。検索して調査しているとAndroidのSDKを3.2に設定し、なおかつ2.3から使えるようにする設定がありました。

 

まず、eclipseでプロジェクトの設定を変更する。パッケージ・エクスプローラーのプロジェクトを選択して右クリックし、プロパティを選択する。その後Androidを選択し、Android SDKのバージョンを3.2へ変更する。

sdksetting

次に、AndroidManifest.xmlを修正します。

 

<uses-sdk android:minSdkVersion="10" />
<uses-sdk android:targetSdkVersion="10" />

 

uses-sdk の設定では、minSdkVersion、targetSdkVersionがあります。今回admobを設定する前は、minSdkVersionだけが宣言されいました。そこで試しにminSdkVersionをtargetSdkVersionに変更していましたが、Google Playへアップロードする際にminSdkVersionが宣言されていないと怒られてしまいアプリをアップロードすることができませんでした。minSdkVersionとtargetSdkVersionの両方を宣言してください。

 

修正をする必要はないですが、

default.properties

target=android-13

 

になっていることを確認、APIのバージョン番号が記載してあります。先ほどSDKを3.2へ変更した際にこちらも10→13に変更されています。

 

【参考サイト】