Firebase Unity Plugin提供一种在unity3d游戏里面集成Firebase的接口。你可以方便的在Unity IOS和Unity Android应用里面使用相同的c#或者js接口来添加firebase。
Firebase Unity Plugin的特性
1.基于firebase 10.0编译
2.同时支持ios和android
3.支持所有的原生事件
4.支持设置关键字,是否是测试模式,是否是儿童应用等
5.不限定android的包名称
6.接口非常简单
firebase unity plugin支持的admob广告类型:
1.admob横幅
2.admob插屏
3.激励视频广告
4.原生广告
## 下载firebase Unity 插件
Assets/Plugins 包含插件内容
admob_unity_plugin.unitypackage 包含插件的全部assets/plugins下的全部内容
Unity admob plugin 下载地址 https://github.com/unity-plugins/Firebase-Admob-Unity/
初始化Firebase Unity Plugin
创建一个 C# script ,把脚本拖到常在场景上的物件上,在脚本里面添加下面代码
```
using admob;
Admob.Instance().initAdmob("admob banner id", "admob interstitial id");//admob id with format ca-app-pub-279xxxxxxxx/xxxxxxxx
```
#### 2.显示firebase admob 横幅广告
```
Admob.Instance().showBannerRelative(AdSize.Banner, AdPosition.BOTTOM_CENTER, 0);
```
第一个参数设置横幅尺寸,第二个参数设置横幅的相对位置,第三个参数设置相对位置的偏移位置
#### 3.移除firebase admob横幅广告
```
Admob.Instance().removeBanner();
```
#### 4.怎么集成firebase admob插屏到u3d应用中呢?
```
Admob.Instance().loadInterstitial();
```
和横幅略有区别,插屏广告需要预先加载好,等加载成功了再在合适的时机显示
```
if (Admob.Instance().isInterstitialReady()) {
Admob.Instance().showInterstitial();
}
```
#### 7.firebase unity广告中的事件
横幅 和 插屏都包含广告事件,你可以添加相关处理关注的事件
下面是给插屏广告添加加载成功事件处理,当加载成功时展示广告
```
Admob.Instance().interstitialEventHandler += onInterstitialEvent;
void onInterstitialEvent(string eventName, string msg)
{
Debug.Log("handler onAdmobEvent---" + eventName + " " + msg);
if (eventName == AdmobEvent.onAdLoaded)
{
Admob.Instance().showInterstitial();
}
}
```
#### 8.怎么添加firebase激励视频广告到u3d游戏中?
```
Admob.Instance().loadRewardedVideo("ca-app-pub-312xxxxxxxxxxxx/xxxxxxxx");
```
视频广告和插屏类似,需要预先加载,展示前检测是否已经加载完成
```
if (Admob.Instance().isRewardedVideoReady()) {
Admob.Instance().showRewardedVideo();
}
```
#### 9.展示firebase原生广告
```
Admob.Instance().showNativeBannerRelative(new AdSize(360,100), AdPosition.BOTTOM_CENTER, 0,"ca-app-pub-3940256099942544/2562852117","defaultNativeBanner");
```
AdPosition设置横幅位置,AdSize设置广告位置,第三参数设置偏移,第四参数设置广告id,第五个参数设置横幅的名称,当通屏幕上展示多个横幅时可以通过设置名称来展示
#### 10.移除原生广告
```
Admob.Instance().removeBanner("defaultNativeBanner");
```
## 重要提示
1. 移除 **GoogleMobileAds.framework** 然后手动添加 **GoogleMobileAds.framework**. 到xcode
2. 添加下面的库到xcode的framework中
```
AdSupport.framework,EventKit.framework,EventKitUI.framework,CoreTelephony.framework,StoreKit.framework,MessageUI.framework
```