Admob 加入 Cocos2D-X 中

Admob 為 google 旗下的一個廣告平台(首頁),在 Android 或是 Ios 都有支援,可以直接和 google 帳號連結,使用方式在官網也有詳細解說,是相當方便的廣告平台

1.
首先你必須申請 Admob 帳號, 如果你有 google 帳號那就更方便了,可以直接連結

2.
在 Admob網站中建立應用程式廣告並取得發佈商 id ,這個發佈商 id 是一組15個英文數字組合,,正常情況是一個應用程式使用一組,也可以在多個應用程式中使用同一組

3.
下載 Admob SDK並解壓縮(目前版本為6.1.0),解壓縮之後為.jar檔,下個步驟我們會開始實作廣告


4.
我們以 HelloWorld 為範例( 注意: 這裡的範例為 Android 版本 )加入 admob,首先將 Admob SDK解壓縮後的.jar 檔加入專案中,加入方式為複製 GoogleAdMobAdsSdk-6.1.0.jar 並貼到專案目錄下的libs 資料夾中然後

開啟 Eclipse -> 要加入admob的專案點選右鍵 -> Properties -> Java Build Path -> Libraries -> Add External JARs... -> 選擇專案目錄中的libs資料夾的 GoogleAdMobAdsSdk-6.1.0.jar

5.
接著是程式碼實作部分,開啟 MainActivity.java

   1:  import com.google.ads.*;
   2:   
   3:  public class Test_Normal_1 extends Cocos2dxActivity{
   4:      private Cocos2dxGLSurfaceView mGLView;
   5:      
   6:      private AdView adView;
   7:      
   8:      protected void onCreate(Bundle savedInstanceState){
   9:          super.onCreate(savedInstanceState);
  10:          
  11:          // get the packageName,it's used to set the resource path
  12:          String packageName = getApplication().getPackageName();
  13:          super.setPackageName(packageName);
  14:          
  15:          setContentView(R.layout.game_demo);
  16:          mGLView = (Cocos2dxGLSurfaceView) findViewById(R.id.game_gl_surfaceview);
  17:          mGLView.setTextField((EditText)findViewById(R.id.textField));
  18:          
  19:          adView = new AdView(this, AdSize.BANNER, "a150189a3abeb1a");
  20:   
  21:          
  22:          LinearLayout layout = (LinearLayout)findViewById(R.id.AdLayout);
  23:          layout.addView(adView);
  24:   
  25:          adView.loadAd(new AdRequest());
  26:          
  27:      }

第 1 行把需要的套件 import 進來
第 6 行宣告 adview
第 19 行定義 adview ,分別設定廣告尺寸和發佈商 id
第 22 行建立版面設定 layout (R.id.AdLayout)
第 23 行設定 adview 的版面設定(layout)
第 25 行要求播放廣告

R.id.AdLayout

   1:  <LinearLayout 
   2:  android:id="@+id/AdLayout"
   3:  android:layout_width="wrap_content"
   4:  android:layout_height="wrap_content"
   5:  ></LinearLayout>


執行 HelloWorld,應該就會出現廣告囉