Unity 通過Unity Admob Plugin插件集成admob教程

原創: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,安裝到設備後運行查看效果

192709a28n0i88bn0ufnfn.png



注意:需要設置【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();
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章