最近我一直專注于利用Unity3D手機游戲開發(fā),并認為有必要增加一些插件來監(jiān)控用戶操作和貨幣化。在網(wǎng)上搜索了一段時間后,我決定利用谷歌分析和谷歌Admob。然而,確實需要一些時間將他們整合到Unity3D項目中,因此,列出以下我所做的事情,希望能有所幫助。
將Google AdMob融入到Unity3D項目為iOS
1.注冊谷歌Admob(https://apps.admob.com/),并得到發(fā)行商ID。
2.下載最新的Admob插件Unity3D開發(fā)的網(wǎng)站(github.com/unity-plugins/Unity-Admob)。
3.導(dǎo)入AdMob插件到Unity3D項目。
4.添加C#代碼展示廣告,記得在代碼中修改publisherID。
5.在Unity3D項目中建立一個Xcode項目。
6.按照自述文件中列出的說明才能編譯:
(1)添加SDK文件到Xcode項目
(2)在構(gòu)建設(shè)置的其它鏈接器標記上添加“-ObjC”標記
(3)導(dǎo)入庫和框架所需的SDK,包括:AdSupport,AudioToolbox,AVFoundation,CoreGraphics,Coretelephony,MessageUI,StoreKit,SystemConfiguration
7.在你的設(shè)備上生成項目并測試你的應(yīng)用程序。
在完成這些步驟的時候,會出現(xiàn)一些問題
問題1:
構(gòu)建項目時,鏈接器輸出“庫中沒有找到-liphone-lib”,并終止了建設(shè)進程。
原因:從Admob SDK將文件添加到Xcode時,在構(gòu)建設(shè)置庫搜索路徑參數(shù)不是以正確的的方式修改。
解決方案:
修改庫搜索路徑參數(shù)構(gòu)建設(shè)置,刪除”字符的開頭和結(jié)束位置,所以它是完全的$(SRCROOT)/Libraries
問題2:
代碼調(diào)用的方法AdMobPlugin.CreateBannerView和設(shè)置參數(shù)positionAtTop為false,希望廣告橫幅將顯示在屏幕的底部。失望的是這個參數(shù)根本不工作,廣告一直顯示在頂部。
愿意:
在實現(xiàn)CreateBannerView時候SDK是不完整的,該標記不能正常工作。
解決方案:
在Xcode項目開放AdMobPlugin.mm文件并修改createGADBannerViewWithPubId,方法是這樣的:
activity android:name="com.millennialmedia.android.MMActivity"
android:theme=" android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|keyboard|screenSize"></activity>
<!--Keymob-->
<activity android:name="com.keymob.sdk.core.KeymobActivity"android:theme=" android:style/Theme.Dialog"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
現(xiàn)在一切正常工作
不過還有一點要注意,當我們創(chuàng)建一個新的AdBannerView將不會被破壞,這肯定會導(dǎo)致內(nèi)存不足。