原創:officemaster.cn
下載Unity Admob Demo,插件裏面包含
Admob_Unity_Demo.unitypackage 插件文件
AdmobPluginRes 是Admob 的ios sdk和插件使用樣例代碼
打開樣例代碼可以看到代碼裏面如何使用Unity Admob插件
把Admob Unity插件添加進unity工程
1. 打開Unity工程
2. 從菜單打開,Assets -> Import Package -> Custom Package.
3. 選中Unity插件文件Admob_Unity_Demo.unitypackage
4. 選擇導入所有內容,把admob unity插件內全部內容導入導unity工程
5. 修改admobdemo.cs裏面的admob的參數
6. 把addmobdemo.cs 添加到main camera或者其他在場景中一直存在物體上
7. 打開file build and run選擇android或者ios平臺然後進行設置平臺設置
8. 點擊build或者build and run編譯項目獲得xcode工程或者apk,把apk安裝到設備上查看下過
如果是ios項目,編譯後得到的是xcode工程,爲了能正常工作需要進行如下處理
1.把admobpluginres目錄下的GoogleMobileAds.framework直接拖拽(一定要拖,不要添加,否則報錯)添加到項目根目錄下2.給工程添加framework 引用,包括下面的
AdSupport.framework,EventKit.framework,EventKitUI.framework,CoreTelephony.framework,StoreKit.framework,MessageUI.framework
3.編譯xcode工程爲ipa,安裝到設備後運行查看效果
注意:需要設置【Build Settings】 - 【Build Options】 - 【Enable Bitcode】爲 “No”, 否則有可能報錯
怎麼在Unity應用裏面集成Admob全屏廣告?下面的Unity3d裏面添加admob廣告的代碼
using admob;
...
Admob.Instance().initAdmob("admob banner id", "admob interstitial id");//initAdmob just need call once,if you called when create banner ,you not need call any more
Admob.Instance().loadInterstitial();
和橫幅廣告不同,全屏廣告需要先加載,等加載完成後在合適的時間點展示廣告
if (Admob.Instance().isInterstitialReady()) {
Admob.Instance().showInterstitial();
}
下面分享Unity 集成admob橫幅 廣告的代碼
using admob;
...
Admob.Instance().initAdmob("admob banner id", "admob interstitial id");//admob id with format ca-app-pub-2796046890663330/756767388//初始化設置廣告
Admob.Instance().showBannerRelative(AdSize.Banner, AdPosition.BOTTOM_CENTER, 0);//在應用底部居中相對位置展示橫幅廣告
AdSize.Banner表示展示的廣告尺寸,AdPosition.BOTTOM_CENTER表示橫幅的放置位置,AdPosition裏面包含各個廣告位置常量,AdSize包含各個廣告尺寸常量
自定義橫幅廣告尺寸
In addition to constants on _AdSize_, you can also create a custom size:
除了AdSize裏面的admob橫幅廣告外,你也可以自定義廣告尺寸,當然這些尺寸必須是admob平臺支持的,下面自定義個250x250的廣告並展示
using admob;
...
//Create a 250x250 banner.
AdSize adSize = new AdSize(250, 250);
Admob.Instance().showBannerAbsolute(adSize,0,30);
橫幅廣告相對位置
The following constants list the available ad positions:
下面是所有支持的admob橫幅廣告相對位置常量
AdPosition.TOP_LEFT
AdPosition.TOP_CENTER
AdPosition.TOP_RIGHT
AdPosition.MIDDLE_LEFT
AdPosition.MIDDLE_CENTER
AdPosition.MIDDLE_RIGHT
AdPosition.BOTTOM_LEFT
AdPosition.BOTTOM_CENTER
AdPosition.BOTTOM_RIGHT
默認橫幅廣告展示後就一直是可見的,如果想隱藏廣告那可以通過下面的方式進行
Admob.Instance().removeBanner();
設置admob廣告測試模式和兒童應用設置
可能你會想先測試下admob廣告,那麼你可以使用測試模式,或者你的應用是兒童應用,需要設置兒童應用模式可以通過下面的方法進行
using admob;
...
Admob.Instance().setTesting(true);
Admob.Instance().setForChildren(true);
Admob橫幅廣告和全屏廣告都有差不多的廣告事件,你可以在unity3d裏面監聽並處理所有admob廣告事件
下面是一個處理全屏廣告事件的例子,我們在收到廣告的時候就展示廣告
using admob;
...
Admob.Instance().interstitialEventHandler += onInterstitialEvent;
...
void onInterstitialEvent(string eventName, string msg)
{
Debug.Log("handler onAdmobEvent---" + eventName + " " + msg);
if (eventName == AdmobEvent.onAdLoaded)
{
Admob.Instance().showInterstitial();
}
}