Unity3d集成Firebase統(tǒng)計和Admob廣告最新中文教程,unity3d2019粒子系統(tǒng)詳解Unity3d集成Firebase統(tǒng)計和Admob廣告最新中文教程Firebase Admob Unity3d插件是一個Unity用戶更方便使用Firebase 統(tǒng)計和Firebase admob廣告的插件,接口非常的......
Firebase Admob Unity3d插件是一個Unity用戶更方便使用Firebase 統(tǒng)計和Firebase admob廣告的插件,接口非常的簡潔簡單,使用c#,無需另外編寫java和oc代碼
一、2種方式安裝Firebase Admob Unity3d插件
1.直接下載https://github.com/unityplugins/FirebaseAdmobUnity/ ,然后把Plugins文件夾復(fù)制到你Unity3d項目的Plugins目錄中
2.下載Firebase Admob Unity3d 插件包admobunityplugin.unitypackage,然后通過unity編輯器的菜單Assets Import Package Custom Package.
導(dǎo)入unitypackage包中的文件
二、修改Unity3d Firebase Admob插件要求的配置信息
把插件導(dǎo)入到項目后有幾個地方需要修改
針對unity3d android項目的修改
1.修改Assets\Plugins\Android\AndroidManifest.xml,替換里面的com.google.android.gms.ads.APPLICATIONID值為你的admob app id值,
這個值在admob后臺創(chuàng)建創(chuàng)建admob app后會生成,格式類似于caapppub3940256099942544~3347511713
配置例子
metadata android:name=com.google.android.gms.ads.APPLICATIONID android:value=caapppub3940256099942544~3347511713/
這是admob 17開始要求的必須的配置信息,不配置app會奔潰
2.修改\Assets\Plugins\Android\res\values\strings.xml,替換里面的googleappid的值為你的firebase app id,
這個值在firebase控制臺創(chuàng)建app后生成,格式類似于1:263495946164:android:ab988918fd3cee93
配置例子
string name=googleappid1:263495946164:android:ab988918fd3cee93/string
這是firebase analysis要求的必須配置的內(nèi)容,不配置無法統(tǒng)計
針對Unity3d IOS項目的修改
1.解壓Assets\Plugins\iOS\GoogleMobileAds.framework.zip為Assets\Plugins\iOS\GoogleMobileAds.framework
2.修改替換Assets\Plugins\iOS\GoogleServiceInfo.plist,導(dǎo)出Xcode項目后把GoogleServiceInfo.plist添加到XCode項目
3.導(dǎo)出XCode項目后修改xcode項目的other link flags,添加 ObjC 標(biāo)記
三、Unity3D游戲集成Firebase統(tǒng)計功能
1.UNity3d中集成google firebase統(tǒng)計的基本統(tǒng)計功能
FirebaseAnalytic firebase=FirebaseAnalytic.Instance();//init and start basic analysis
創(chuàng)建firebase統(tǒng)計實例,并開始基礎(chǔ)統(tǒng)計功能?;A(chǔ)統(tǒng)計包括啟動,活躍,新增,留存等信息。
2.通過Firebase 在Unity3d中統(tǒng)計自定義事件
FirebaseAnalytic.Instance().logEvent(startevent, {\player\:\haaa\});
firebase統(tǒng)計支持自定義事件的統(tǒng)計,從而可以自己統(tǒng)計哪個按鈕被點擊了之類的事件。第一個參數(shù)是事件名稱,第二個參數(shù)是事件的內(nèi)容,是一個json對象字符串
3.Firebase 統(tǒng)計更多用戶屬性
FirebaseAnalytic.Instance().setUserProperty(age, 20);
firebase core還可以統(tǒng)計一些用戶屬性,第一個參數(shù)是屬性,第二個參數(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啟動的時候初始化一次。
初始化sdk包括倆個參數(shù),第一個是admob id,在admob官方網(wǎng)站創(chuàng)建app時會生成,格式類似于caapppub3940256099942544~1458002511,
第二個參數(shù)是對admob進行的一些設(shè)置的AdProperties對象,可以進行例如是否是測試模式,是否是針對兒童的應(yīng)用,是否停用個性化廣告,以及視頻是否默認(rèn)靜音等等的設(shè)置
四、Unity3d集成Firebase橫幅廣告功能
Admob.Instance().showBannerRelative(Your Admob Banner ID,AdSize.BANNER, AdPosition.BOTTOMCENTER);
通過相對定位的方式展示廣告,第一個參數(shù)是橫幅廣告的廣告id,第二個是橫幅廣告的尺寸,第三個是廣告顯示的位置,第四個參數(shù)是廣告的名稱,
如果想在同一個Unity app界面上顯示多個橫幅,可以通過設(shè)置第四個參數(shù)實現(xiàn)。類似的還有絕對定位展示廣告
Admob.Instance().showBannerAbsolute(admob banner id,AdSize.BANNER, 0, 120);
如果想移除橫幅廣告,則可以通過removeBanner接口實現(xiàn),如果顯示廣告的時候設(shè)置了名稱,則移除時需要輸入橫幅的名稱
Admob.Instance().removeBanner();
五、Unity3d使用Firebase原生廣告功能
Admob.Instance().showNativeBannerRelative(Your Admob Native ID,new AdSize(300,300), AdPosition.BOTTOMCENTER);
顯示原生廣告有點類似橫幅廣告,可以通過相對定位和絕對定位的方式展示廣告,
第一個參數(shù)是原生廣告的廣告id,第二個是原生廣告的尺寸,第三個是廣告顯示的位置,第四個參數(shù)是廣告的名稱,
如果想在同一個界面上顯示多個橫幅,可以通過設(shè)置第四個參數(shù)實現(xiàn)。類似的還有絕對定位展示廣告
Admob.Instance().showNativeBannerAbsolute(admob Native id,new AdSize(300,300), 0, 120);
如果想移除原生廣告,則可以通過removeNativeBanner接口實現(xiàn),如果顯示admob廣告的時候設(shè)置了名稱,則移除時需要輸入名稱
Admob.Instance().removeNativeBanner();
六、Unity3d使用Firebase Admob插屏廣告功能
Admob.Instance().loadInterstitial(Your Interstitial ID);
firebase admob全屏廣告加載展示分2步,第一步是加載廣告,加載的時候傳入?yún)?shù);第二步是等加載完后,在合適的時機調(diào)用showInterstitial
Admob.Instance().showInterstitial();
全屏廣告是每次顯示后都需要重新加載廣告,展示前最好是都對廣告是否已經(jīng)加載完畢進行檢測,所以比較推薦的代碼是
if (Admob.Instance().isInterstitialReady())
{
Admob.Instance().showInterstitial();
}
七、Unity使用Firebase視頻廣告功能
Admob.Instance().loadRewardedVideo(Your Reward Video ID);
通過firebase admob unity3d集成admob 視頻獎勵廣告分2步,第一步是加載廣告,加載的時候傳入?yún)?shù)廣告id;第二步是等加載完后,在合適的時機調(diào)用showRewardedVideo
Admob.Instance().showRewardedVideo();
獎勵視頻廣告是每次顯示后都需要重新加載廣告,展示前最好是都對廣告是否已經(jīng)加載完畢進行檢測,所以比較推薦的代碼是
if (Admob.Instance().isRewardedVideoReady())
{
Admob.Instance().showRewardedVideo();
}
八、Unity3d處理Firebase Admob廣告事件
Firebase Unity3d插件支持廣告的各種事件,你可以根據(jù)自己的需要進行處理。例如獎勵視頻廣告獲得獎勵的物品數(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 插件的功能功能基本講解完畢,希望大家能更加順利
附效果圖
特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部