Unity 加入 Admob 廣告 (Android平台)

這篇介紹如何在 Unity 中加入 Admob 廣告,發佈平台為 Android

1.
首先到這裡下載 AdMobTest.unitypackage ,接著把它 Import 進你的專案, Import的過程和一般 Import package類似,步驟為

點擊畫面上方 Assets (或 Project 視窗叫出選單) -> Import Package -> Custom Package ->選擇下載的 AdMobTest.unitypackage -> Import

Project 視窗出現 Plugins 資料夾代表已匯入 AdMobTest.unitypackage

2.
使用 Eclipse 建立專案,專案名稱自取(UnityAdmob),需要注意 PackageName 必須和 Unity 專案發佈時的 Bundle Identifier 相同,接著匯入2個 jar 檔,1個是 GoogleAdMobAdsSdk-6.0.1.jar , 另1個是 Unity\Contents\PlaybackEngines\AndroidPlayer\bin\classes.jar ,接著修改Activity如下,注意第 26 行的發布商 id 填入自己的 id

   1:  package com.fox.unityad;
   2:   
   3:  import com.google.ads.*;
   4:  import com.unity3d.player.UnityPlayerActivity;
   5:   
   6:  import android.app.Activity;
   7:  import android.os.Bundle;
   8:  import android.view.ViewGroup.LayoutParams;
   9:  import android.widget.LinearLayout;
  10:   
  11:  public class UnityAdmobActivity extends UnityPlayerActivity {
  12:      /** Called when the activity is first created. */
  13:      @Override  
  14:      public void onCreate(Bundle savedInstanceState) {  
  15:          super.onCreate(savedInstanceState);  
  16:          setupAds();  
  17:      }  
  18:    
  19:      private void setupAds() {  
  20:          // And this is the same, but done programmatically  
  21:    
  22:          LinearLayout layout = new LinearLayout(this);  
  23:          layout.setOrientation(LinearLayout.VERTICAL);  
  24:          addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));  
  25:    
  26:          AdView adView = new AdView(this, AdSize.BANNER, "a150189a3abeb1a");  
  27:          layout.addView(adView, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));  
  28:            
  29:    
  30:          adView.loadAd(new AdRequest());  
  31:      }  
  32:  }

修改 AndroidManifest.xml 如下



   1:  <?xml version="1.0" encoding="utf-8"?>
   2:  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   3:      package="com.fox.unityad"
   4:      android:versionCode="1"
   5:      android:versionName="1.0" >
   6:   
   7:      <uses-sdk android:minSdkVersion="15" />
   8:   
   9:      <application
  10:          android:icon="@drawable/ic_launcher"
  11:          android:label="@string/app_name" >
  12:          <activity
  13:              android:name=".UnityAdmobActivity"
  14:              android:label="@string/app_name" >
  15:              <intent-filter>
  16:                  <action android:name="android.intent.action.MAIN" />
  17:   
  18:                  <category android:name="android.intent.category.LAUNCHER" />
  19:              </intent-filter>
  20:          </activity>
  21:          
  22:          <activity android:name="com.google.ads.AdActivity"  
  23:                android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 
  24:          
  25:      </application>
  26:   
  27:      <uses-permission android:name="android.permission.INTERNET"/>  
  28:    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  29:      
  30:  </manifest>

接著 Build 專案會出現錯誤先不必處理

3.
這個步驟要把剛剛的專案名(UnityAdmob)/bin/classes/com中所有檔案打包成 jar 檔,我們使用終端機搭配指令,首先移動到剛剛的專案名(UnityAdmob)/bin/classes 中,指令為

cd xxxxx/UnityAdmob/bin/classes

接著輸入打包指令

jar cvf com.fox.unityad.jar com\

簡單解釋一下打包指令, jar cvf yyy.jar xxx\ , yyy代表產生的jar檔名, xxx代表此目錄下所有檔案,最後在classes資料夾中應該會出現 com.fox.unityad.jar 檔

4.
接下來這個步驟是一連串的複製貼上....
4-1.
將剛剛產生的 jar 檔複製到 Unity 專案/Assets/Plugins/Android/bin 中
4-2.
把 android 專案名(UnityAdmob)中的 res 資料夾和 AndroidManifest.xml 複製到 Unity 專案/Assets/Plugins/Android 中
4-3.
在 Unity 專案/Assets/Plugins/Android 中建立 libs 資料夾,並把 GoogleAdMobAdsSdk-6.0.1.jar 複製到裡面
4-4.
執行吧!!!




標籤: