1. 程式人生 > >unity3d 5.2 新增廣點通廣告

unity3d 5.2 新增廣點通廣告

今天向專案中新增插屏廣告。之前找了一圈,看評論說騰訊的廣點通還可以,於是決定放棄有米,試試。

回到正題,之前還沒試過用unity3d和java互動。於是先找了一圈的資料。這裡先BS下騰訊,你妹的有的是錢,就不能多請幾個人把SDK的使用說明寫寫嗎?我是按有米的unity3d新增教程加的廣點通的廣告。以下列出遇到的坑。花了我一天的時間。。NND.

坑1.首先的問題是傳說中的classes.jar在哪? 因為網上大部分資料可能是4.X的。據說在 Editor\Data\PlaybackEngines\androidplayer\bin (Editor\Data\PlaybackEngines\androidplayer\release\bin) 中有一個classes.jar .而我翻山越嶺到那裡,發現,木有!!

於是想辦法,首先想到的是使用的繼承類是UnityPlayerActivity,那我就在 Editor\Data\PlaybackEngines\androidplayer\Source\ 目錄下找到了。於是試著引入到android工程中。一試發現不中。。報了其它錯。看來不是這麼玩的。。(後來事實也證明確實不是這樣玩的)。於是再找,那就搜尋classes.jar。 一搜發現還真有!只是。。。怎麼多了一個!Editor\Data\PlaybackEngines\androidplayer\Variations\il2cpp\Release\Classes 和Editor\Data\PlaybackEngines\androidplayer\Variations\mono\Release\Classes裡分別有一個。那麼哪個是呢?!最終我試了Editor\Data\PlaybackEngines\androidplayer\Variations\mono\Release\Classes是可以的。但另一個我只是沒試,可能是一樣,懶得試了。引入JAR包後,順利執行通過。

坑2. res目錄。網上都說要複製 

  • Android工程目錄/res
  • Android工程目錄/AndroidManifest.xml
  • Android工程目錄/bin/youmiu3ddemo.jar
     我開始照做後,發現編譯不過,看錯誤顯示的是資源重複,因為我其實不需要res裡的任何東西。於是我將res刪除,但還是通不過。因為在配置檔案中有引用 android:icon="@drawable/ic_launcher" 和     android:theme="@style/AppTheme"。編譯時正是這倆報錯,編譯不過。對   android:theme="@style/AppTheme",我是直接刪除了之。而android:icon="@drawable/ic_launcher"不能刪除,刪除了編譯不過。於是再找資料,終於,到了官方文件上看到這樣一句 android:icon="@drawable/app_icon" 我立即明白了,這應該是u3d配置檔案裡的,那就共用一個吧。從E文文件中連蒙帶猜的,我發現官方是不建議把res複製過來到\Assets\Plugins\Android下的。 刪除並替換 android:icon="@drawable/app_icon"。終於編譯不再報錯了。
坑3. 加了平臺呼叫後直接執行是跑不起來的。這算是小坑。沒花多少時間就爬出來了。但連線手機執行是可以的。蛋疼的是並沒有除錯功能。而意外的發現是我一直沒關的eclips(之前跑過APP測試過廣告功能)的控制檯一直在輸出手機上列印。而裡面抓到的錯誤會顯示出來。 坑4.這算勉強加的坑,只能算不平路而已。在eclips裡如果繼承了UnityPlayerActivity是不能再直接執行的。所以在高度廣告的邏輯程式部分時,我是直接先不改繼承。調通後再直接換上再輸出打包。對於走過這個流程後這很容易,不過沒走過一次時,會有各種不確定。感覺像是在黑夜裡摸著石頭走。。 坑5.記得要把廣告SDK 的jar包也一併放到\Assets\Plugins\Android下。剛剛就因為這個沒放直接點下按鈕就閃退了。好在發現了eclips裡的錯誤輸出。很快找到原因。( 這說明只要放到\Assets\Plugins\Android下的jar包,unity都會編譯進來) 慶幸的是今天總算是調通了廣告的呼叫。幸好是先用測試工程試的。開始還想直接放正式工程裡調,那還不得調到明年去。。還是不偷懶的好! 有驚無險的一天過去了,晚安世界!