Lab

Cocos2d-x:AdMobを表示させる(Android)

 Tag :  Published : 2014-3-15

Pocket

Cocos2d-xでAdMobを表示させます。(Android)
> Ver3.x : 『AdMobを表示させる(Android)』はこちら

1.AdMobに申し込む

AdMobに登録して、広告ユニットID(ca-app-pub-から始まる番号)を控えておきます。

2.Google Mobile Ads SDKのインストール

Eclipseメニューから、Window > Android SDK Managerを選択します。
Extrasフォルダの中にある、Google Play services SDKをインストールします。

cocos2d-x Google Mobile Ads SDKのインストール

3.Google Play servicesをプロジェクトに追加

インストールしたファイルは、
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
に入っています。

これをプロジェクトに追加します。
Eclipseメニューから、File > New > Projectを選択します。
Android Project from Existing Codeを選択して、Google Play servicesを追加します。

cocos2d-x Google Play servicesをプロジェクトに追加

4.Google Play servicesをCocos2d-xのプロジェクトに紐付け

あらかじめ作成してあるCocos2d-xのプロジェクト(今回はSampleという名前にしてあります)を右クリックして、Propertiesを選択します。
Androidの項目を選んで、Library内のAddボタンを押します。

cocos2d-x Google Play servicesをプロジェクトに追加

google-play-services_libを追加します。

cocos2d-x google-play-services_libを追加

5.広告を表示する準備

AndroidManifest.xmlに以下を追加します。

cocos2d-x AndroidManifest.xml
AndroidManifest.xml:applicationタグの中

        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
        <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
    
AndroidManifest.xml:manifestタグの中

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

つづいてプロジェクト名.javaファイルです。

cocos2d-x プロジェクト名.java
プロジェクト名.java

public class Sample extends Cocos2dxActivity{
	private static AdView adView;
	private final int lp = LinearLayout.LayoutParams.WRAP_CONTENT; 
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);	

		adView = new AdView(this);
        adView.setAdSize(AdSize.BANNER);
        adView.setAdUnitId("ca-app-pub-から始まる広告ユニットIDをここに");
        
        FrameLayout.LayoutParams adParams = new FrameLayout.LayoutParams(lp,lp);
        adParams.gravity = (Gravity.BOTTOM|Gravity.CENTER); 
        addContentView(adView, adParams);
		
        AdRequest adRequest = new AdRequest.Builder().build();
		
		adView.loadAd(adRequest);
	}
    //途中省略 
}
    

6.広告を表示させる

それでは実行してみます。

cocos2d-x cocos2d-x AdMob表示されたー

ほーっ。できたー。
表示されるまでにちょっと時間がかかります。
初め気づかず、失敗しているのだと思い何度もリトライしてしまいました。。。っていうくらい待たされる時があるので、注意が必要です。

pageTop