前幾天由於項目需要,要搞定在游戲中添加廣告的方法,在U吧中搜到了這篇文章,
unity3d開發的android應用中加入AD系統的具體步驟進而獲得首發出處
http://tank2308635.iteye.com/blog/1126047
從該文中找到AdMob插件的出處
AdMob plugin that works in Unity 3.2首先嘗試了同胞的方法,折騰了大概一天時間吧,未果,老是報錯,最后沒辦法,就想,從根上解決吧,於是開始看老外的帖子,說實話英文技術貼比小說什么的好理解多了。而且官方論壇上的討論氛圍真的很好,很多人都把自己的經驗和步驟共享給了大家。借助翻譯工具,大體上明白了怎么弄,但是其中關鍵的重新打jar包卻說的並不是很清楚,雖然有幾個人共享了步驟,但是是基於mac系統的,很win系統又有些區別,於是,又從幫助文檔中查找了關於Plugins的說明。下面是聖典翻譯后的
http://game.ceeger.com/Manual/Plugins.html#AndroidPlugins
終於明白了plugin是個怎么回事了。又根據前面說的論壇里的回帖,連蒙帶猜終於搞定,其中還和論壇上的一個老外通了幾次信,別說,咱的不地道的英語人家還是懂了。
廢話少說,下面就說下我的步驟。
使用AdMob,必須要把最終發布的游戲的包名改成unitypackage里的包名,但unitypackage里的包名是可以修改的。另外unitypackage里Unity中用到的只有AndroidManifest.xml,res,libs,bin是必須的,上面那篇文里也說了。
1、下載上面的unitypackage並導入Unity中,其實就是將其解壓;
2、用eclipse新建工程,取名UnityAd,這個無所謂,需要注意的是package name,必須要和你最終發布的游戲一致。為后邊方便activity的名字取和unitypackage中的一致,在解壓后的Plugins\Android\src\org\example\AdMobTest下。
3、在工程名上右鍵,選擇屬性,導入兩個包,一個是上面unitypackage目錄下Android/libs里的admob-sdk-android.jar,也可以從AdMob網站上下載最新的包,另一個是Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar
4、用unitypackage中的AdMobTestActivity.java和AndroidManifest.xml覆蓋android工程中的相應文件,用unitypackage中的res文件夾替換android工程的相應文件夾,最好是刪了原來的拷過來,覆蓋沒試,為了保險吧。
5、打開AdMobTestActivity.java,找到“AdManager.setTestDevices( new String[] { "ABCDEF1234578901234567890123456" } );”改為:
1
2
|
final
String androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
//get Android Device Id.
AdManager.setTestDevices(
new
String[] { androidId } );
//Add Android ID to Admob.
|
打開AndroidManifest.xml,找到”<meta-data android:value="YOUR_ID_HERE" android:name="ADMOB_PUBLISHER_ID" />”,用自己的AdMobId替換YOUR_ID_HERE。
6、運行,run as android application。
7、運行cmd,利用cd命令轉到工程bin目錄下,但我的win7下的這個命令竟然無法轉過去,只能轉到c盤根目錄,所以只能把工程目錄下bin文件夾中的com文件夾拷貝到c盤,把com文件夾打為jar包。具體命令如下
將這個jar包拷貝到unity工程目錄下的Assets\Plugins\Android\bin中
8、把android工程下的xml文件拷到unity工程目錄下的Assets\Plugins\Android\中。如果剛才新建android工程導入的是從admob上下載的jar包,那還要將其拷到Assets\Plugins\Android\libs下,替換原來的。
最終unity工程plugins文件夾下只有AndroidManifest.xml,res\,libs\,bin\
9、和你的工程一起運行就ok了,模擬器和真機測試全部通過,最好真機,效果好。
http://www.cnblogs.com/zhiweifire/archive/2011/10/18/2216892.html