Unity3d集成Firebase統(tǒng)計(jì)和Admob廣告最新中文教程

來(lái)源:簡(jiǎn)書(shū)
作者:stopunity3d
時(shí)間:2020-07-27
3190
Firebase Admob Unity3d插件是一個(gè)Unity用戶更方便使用Firebase 統(tǒng)計(jì)和Firebase admob廣告的插件,接口非常的簡(jiǎn)潔簡(jiǎn)單,使用c#,無(wú)需另外編寫(xiě)java和oc代碼

Firebase Admob Unity3d插件是一個(gè)Unity用戶更方便使用Firebase 統(tǒng)計(jì)和Firebase admob廣告的插件,接口非常的簡(jiǎn)潔簡(jiǎn)單,使用c#,無(wú)需另外編寫(xiě)java和oc代碼

一、2種方式安裝Firebase Admob Unity3d插件

1.直接下載https://github.com/unity-plugins/Firebase-Admob-Unity/ ,然后把Plugins文件夾復(fù)制到你Unity3d項(xiàng)目的Plugins目錄中

2.下載Firebase Admob Unity3d 插件包admob_unity_plugin.unitypackage,然后通過(guò)unity編輯器的菜單Assets -> Import Package -> Custom Package.

導(dǎo)入unitypackage包中的文件

二、修改Unity3d Firebase Admob插件要求的配置信息

把插件導(dǎo)入到項(xiàng)目后有幾個(gè)地方需要修改

針對(duì)unity3d android項(xiàng)目的修改

1.修改Assets\Plugins\Android\AndroidManifest.xml,替換里面的com.google.android.gms.ads.APPLICATION_ID值為你的admob app id值,

這個(gè)值在admob后臺(tái)創(chuàng)建創(chuàng)建admob app后會(huì)生成,格式類似于ca-app-pub-3940256099942544~3347511713

配置例子

<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713"/>

這是admob 17開(kāi)始要求的必須的配置信息,不配置app會(huì)奔潰

2.修改\Assets\Plugins\Android\res\values\strings.xml,替換里面的google_app_id的值為你的firebase app id,

這個(gè)值在firebase控制臺(tái)創(chuàng)建app后生成,格式類似于1:263495946164:android:ab988918fd3cee93

配置例子

<string name="google_app_id">1:263495946164:android:ab988918fd3cee93</string>

這是firebase analysis要求的必須配置的內(nèi)容,不配置無(wú)法統(tǒng)計(jì)

針對(duì)Unity3d IOS項(xiàng)目的修改

1.解壓Assets\Plugins\iOS\GoogleMobileAds.framework.zip為Assets\Plugins\iOS\GoogleMobileAds.framework

2.修改替換Assets\Plugins\iOS\GoogleService-Info.plist,導(dǎo)出Xcode項(xiàng)目后把GoogleService-Info.plist添加到XCode項(xiàng)目

3.導(dǎo)出XCode項(xiàng)目后修改xcode項(xiàng)目的other link flags,添加 -ObjC  標(biāo)記

三、Unity3D游戲集成Firebase統(tǒng)計(jì)功能

1.UNity3d中集成google firebase統(tǒng)計(jì)的基本統(tǒng)計(jì)功能

    FirebaseAnalytic firebase=FirebaseAnalytic.Instance();//init and start basic analysis

創(chuàng)建firebase統(tǒng)計(jì)實(shí)例,并開(kāi)始基礎(chǔ)統(tǒng)計(jì)功能?;A(chǔ)統(tǒng)計(jì)包括啟動(dòng),活躍,新增,留存等信息。

2.通過(guò)Firebase 在Unity3d中統(tǒng)計(jì)自定義事件

    FirebaseAnalytic.Instance().logEvent("startevent", "{\"player\":\"haaa\"}");

firebase統(tǒng)計(jì)支持自定義事件的統(tǒng)計(jì),從而可以自己統(tǒng)計(jì)哪個(gè)按鈕被點(diǎn)擊了之類的事件。第一個(gè)參數(shù)是事件名稱,第二個(gè)參數(shù)是事件的內(nèi)容,是一個(gè)json對(duì)象字符串

3.Firebase 統(tǒng)計(jì)更多用戶屬性

    FirebaseAnalytic.Instance().setUserProperty("age", "20");

firebase core還可以統(tǒng)計(jì)一些用戶屬性,第一個(gè)參數(shù)是屬性,第二個(gè)參數(shù)是屬性值。

更多的功能接口可以查看Unity3d firebase plugin 中的FirebaseAnalytic.cs文件

四、Unity使用Firebase 廣告功能

    AdProperties properties=new AdProperties();

    properties.isTesting=true;

    //properties.isForChildDirectedTreatment=true;

    //properties.isUnderAgeOfConsent=true;

    //properties.isAppMuted=true;

    //properties.nonPersonalizedAdsOnly=true;

    Admob.Instance().initSDK("Your Admob App ID",properties);

Unity使用Firebase Admob廣告第一步是初始化SDK,初始化只需要在app啟動(dòng)的時(shí)候初始化一次。

初始化sdk包括倆個(gè)參數(shù),第一個(gè)是admob id,在admob官方網(wǎng)站創(chuàng)建app時(shí)會(huì)生成,格式類似于ca-app-pub-3940256099942544~1458002511,

第二個(gè)參數(shù)是對(duì)admob進(jìn)行的一些設(shè)置的AdProperties對(duì)象,可以進(jìn)行例如是否是測(cè)試模式,是否是針對(duì)兒童的應(yīng)用,是否停用個(gè)性化廣告,以及視頻是否默認(rèn)靜音等等的設(shè)置

四、Unity3d集成Firebase橫幅廣告功能

    Admob.Instance().showBannerRelative("Your Admob Banner ID",AdSize.BANNER, AdPosition.BOTTOM_CENTER);

通過(guò)相對(duì)定位的方式展示廣告,第一個(gè)參數(shù)是橫幅廣告的廣告id,第二個(gè)是橫幅廣告的尺寸,第三個(gè)是廣告顯示的位置,第四個(gè)參數(shù)是廣告的名稱,

如果想在同一個(gè)Unity app界面上顯示多個(gè)橫幅,可以通過(guò)設(shè)置第四個(gè)參數(shù)實(shí)現(xiàn)。類似的還有絕對(duì)定位展示廣告

    Admob.Instance().showBannerAbsolute("admob banner id",AdSize.BANNER, 0, 120);

如果想移除橫幅廣告,則可以通過(guò)removeBanner接口實(shí)現(xiàn),如果顯示廣告的時(shí)候設(shè)置了名稱,則移除時(shí)需要輸入橫幅的名稱

    Admob.Instance().removeBanner();

五、Unity3d使用Firebase原生廣告功能

    Admob.Instance().showNativeBannerRelative("Your Admob Native ID",new AdSize(300,300), AdPosition.BOTTOM_CENTER);

顯示原生廣告有點(diǎn)類似橫幅廣告,可以通過(guò)相對(duì)定位和絕對(duì)定位的方式展示廣告,

第一個(gè)參數(shù)是原生廣告的廣告id,第二個(gè)是原生廣告的尺寸,第三個(gè)是廣告顯示的位置,第四個(gè)參數(shù)是廣告的名稱,

如果想在同一個(gè)界面上顯示多個(gè)橫幅,可以通過(guò)設(shè)置第四個(gè)參數(shù)實(shí)現(xiàn)。類似的還有絕對(duì)定位展示廣告

    Admob.Instance().showNativeBannerAbsolute("admob Native id",new AdSize(300,300), 0, 120);

如果想移除原生廣告,則可以通過(guò)removeNativeBanner接口實(shí)現(xiàn),如果顯示admob廣告的時(shí)候設(shè)置了名稱,則移除時(shí)需要輸入名稱

    Admob.Instance().removeNativeBanner();

六、Unity3d使用Firebase Admob插屏廣告功能

    Admob.Instance().loadInterstitial("Your Interstitial ID");

firebase admob全屏廣告加載展示分2步,第一步是加載廣告,加載的時(shí)候傳入?yún)?shù);第二步是等加載完后,在合適的時(shí)機(jī)調(diào)用showInterstitial

    Admob.Instance().showInterstitial();

全屏廣告是每次顯示后都需要重新加載廣告,展示前最好是都對(duì)廣告是否已經(jīng)加載完畢進(jìn)行檢測(cè),所以比較推薦的代碼是

    if (Admob.Instance().isInterstitialReady())

    {

        Admob.Instance().showInterstitial();

    }

七、Unity使用Firebase視頻廣告功能

    Admob.Instance().loadRewardedVideo("Your Reward Video ID");

通過(guò)firebase admob unity3d集成admob 視頻獎(jiǎng)勵(lì)廣告分2步,第一步是加載廣告,加載的時(shí)候傳入?yún)?shù)廣告id;第二步是等加載完后,在合適的時(shí)機(jī)調(diào)用showRewardedVideo

    Admob.Instance().showRewardedVideo();

獎(jiǎng)勵(lì)視頻廣告是每次顯示后都需要重新加載廣告,展示前最好是都對(duì)廣告是否已經(jīng)加載完畢進(jìn)行檢測(cè),所以比較推薦的代碼是

    if (Admob.Instance().isRewardedVideoReady())

    {

        Admob.Instance().showRewardedVideo();

    }

八、Unity3d處理Firebase Admob廣告事件

Firebase Unity3d插件支持廣告的各種事件,你可以根據(jù)自己的需要進(jìn)行處理。例如獎(jiǎng)勵(lì)視頻廣告獲得獎(jiǎng)勵(lì)的物品數(shù)量,例如在全屏廣告加載完畢的時(shí)候展示全屏廣告

        Admob.Instance().bannerEventHandler += onBannerEvent;

        Admob.Instance().interstitialEventHandler += onInterstitialEvent;

        Admob.Instance().rewardedVideoEventHandler += onRewardedVideoEvent;

        Admob.Instance().nativeBannerEventHandler += onNativeBannerEvent;

    void onInterstitialEvent(string eventName, string msg)

    {

        Debug.Log("handler onAdmobEvent---" + eventName + "  " + msg);

        // you can add display ad code here

    }

    void onBannerEvent(string eventName, string msg)

    {

        Debug.Log("handler onAdmobBannerEvent---" + eventName + "  " + msg);

    }

    void onRewardedVideoEvent(string eventName, string msg)

    {

        Debug.Log("handler onRewardedVideoEvent---" + eventName + "  rewarded: " + msg);

    }

    void onNativeBannerEvent(string eventName, string msg)

    {

        Debug.Log("handler onAdmobNativeBannerEvent---" + eventName + "  " + msg);

    }


Firebase Admob Unity3d 插件的功能功能基本講解完畢,希望大家能更加順利


附效果圖

6912406-22d807b3a8a76313.webp.jpg

原文鏈接:點(diǎn)擊前往 >
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于簡(jiǎn)書(shū),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Admob平臺(tái)注冊(cè)及收款
Admob平臺(tái)注冊(cè)及收款
Admob最大的優(yōu)勢(shì)是全球范圍內(nèi)填充率相對(duì)較高;且有流量即可變現(xiàn),線下APP也可支持變現(xiàn)。但2021年政策逐步收緊,5月份起,新APP需要過(guò)審,且只有上架Google play、Appstore、Amazon、OPPO、VIVO、XIAOMI、Galaxy Store應(yīng)用商店,才可審核過(guò)進(jìn)行變現(xiàn),但不妨礙Admob依然是全球最大的廣告聯(lián)盟平臺(tái)。
Admob
廣告變現(xiàn)
2023-01-12
Google Admob碰到無(wú)效流量問(wèn)題的解決思路
Google Admob碰到無(wú)效流量問(wèn)題的解決思路
做Google Admob的廣告變現(xiàn),新賬號(hào)很容易遇到無(wú)效流量問(wèn)題,這里提供一下解決思路。
Google Admob
流量
2022-03-15
歡迎AdMob用戶使用全新“廣告活動(dòng)”報(bào)告
歡迎AdMob用戶使用全新“廣告活動(dòng)”報(bào)告
近期所有AdMob用戶的報(bào)告后臺(tái)將看到全新的“廣告活動(dòng)”報(bào)告。此報(bào)告集中顯示您的廣告效果,將AdMob廣告聯(lián)盟報(bào)告、中介報(bào)告和出價(jià)報(bào)告中的數(shù)據(jù)、指標(biāo)和維度整合到一個(gè)報(bào)告中。
Admob
Google Admob
2021-12-28
解讀AdMob廣告單元技術(shù)接入指南
解讀AdMob廣告單元技術(shù)接入指南
本期文章內(nèi)容來(lái)源于AdMob技術(shù)專員的信息分享,向您介紹關(guān)于AdMob技術(shù)接入時(shí)需要注意的以下3條黃金準(zhǔn)則。
Google Admob
2021-12-28
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家