Unity3d集成Firebase统计和Admob广告最新中文教程,unity3d2019粒子系统详解Unity3d集成Firebase统计和Admob广告最新中文教程Firebase Admob Unity3d插件是一个Unity用户更方便使用Firebase 统计和Firebase admob广告的插件,接口非常的......
Firebase Admob Unity3d插件是一个Unity用户更方便使用Firebase 统计和Firebase admob广告的插件,接口非常的简洁简单,使用c#,无需另外编写java和oc代码
一、2种方式安装Firebase Admob Unity3d插件
1.直接下载https://github.com/unityplugins/FirebaseAdmobUnity/ ,然后把Plugins文件夹复制到你Unity3d项目的Plugins目录中
2.下载Firebase Admob Unity3d 插件包admobunityplugin.unitypackage,然后通过unity编辑器的菜单Assets Import Package Custom Package.
导入unitypackage包中的文件
二、修改Unity3d Firebase Admob插件要求的配置信息
把插件导入到项目后有几个地方需要修改
针对unity3d android项目的修改
1.修改Assets\Plugins\Android\AndroidManifest.xml,替换里面的com.google.android.gms.ads.APPLICATIONID值为你的admob app id值,
这个值在admob后台创建创建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控制台创建app后生成,格式类似于1:263495946164:android:ab988918fd3cee93
配置例子
string name=googleappid1:263495946164:android:ab988918fd3cee93/string
这是firebase analysis要求的必须配置的内容,不配置无法统计
针对Unity3d IOS项目的修改
1.解压Assets\Plugins\iOS\GoogleMobileAds.framework.zip为Assets\Plugins\iOS\GoogleMobileAds.framework
2.修改替换Assets\Plugins\iOS\GoogleServiceInfo.plist,导出Xcode项目后把GoogleServiceInfo.plist添加到XCode项目
3.导出XCode项目后修改xcode项目的other link flags,添加 ObjC 标记
三、Unity3D游戏集成Firebase统计功能
1.UNity3d中集成google firebase统计的基本统计功能
FirebaseAnalytic firebase=FirebaseAnalytic.Instance();//init and start basic analysis
创建firebase统计实例,并开始基础统计功能。基础统计包括启动,活跃,新增,留存等信息。
2.通过Firebase 在Unity3d中统计自定义事件
FirebaseAnalytic.Instance().logEvent(startevent, {\player\:\haaa\});
firebase统计支持自定义事件的统计,从而可以自己统计哪个按钮被点击了之类的事件。第一个参数是事件名称,第二个参数是事件的内容,是一个json对象字符串
3.Firebase 统计更多用户属性
FirebaseAnalytic.Instance().setUserProperty(age, 20);
firebase core还可以统计一些用户属性,第一个参数是属性,第二个参数是属性值。
更多的功能接口可以查看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包括俩个参数,第一个是admob id,在admob官方网站创建app时会生成,格式类似于caapppub3940256099942544~1458002511,
第二个参数是对admob进行的一些设置的AdProperties对象,可以进行例如是否是测试模式,是否是针对儿童的应用,是否停用个性化广告,以及视频是否默认静音等等的设置
四、Unity3d集成Firebase横幅广告功能
Admob.Instance().showBannerRelative(Your Admob Banner ID,AdSize.BANNER, AdPosition.BOTTOMCENTER);
通过相对定位的方式展示广告,第一个参数是横幅广告的广告id,第二个是横幅广告的尺寸,第三个是广告显示的位置,第四个参数是广告的名称,
如果想在同一个Unity app界面上显示多个横幅,可以通过设置第四个参数实现。类似的还有绝对定位展示广告
Admob.Instance().showBannerAbsolute(admob banner id,AdSize.BANNER, 0, 120);
如果想移除横幅广告,则可以通过removeBanner接口实现,如果显示广告的时候设置了名称,则移除时需要输入横幅的名称
Admob.Instance().removeBanner();
五、Unity3d使用Firebase原生广告功能
Admob.Instance().showNativeBannerRelative(Your Admob Native ID,new AdSize(300,300), AdPosition.BOTTOMCENTER);
显示原生广告有点类似横幅广告,可以通过相对定位和绝对定位的方式展示广告,
第一个参数是原生广告的广告id,第二个是原生广告的尺寸,第三个是广告显示的位置,第四个参数是广告的名称,
如果想在同一个界面上显示多个横幅,可以通过设置第四个参数实现。类似的还有绝对定位展示广告
Admob.Instance().showNativeBannerAbsolute(admob Native id,new AdSize(300,300), 0, 120);
如果想移除原生广告,则可以通过removeNativeBanner接口实现,如果显示admob广告的时候设置了名称,则移除时需要输入名称
Admob.Instance().removeNativeBanner();
六、Unity3d使用Firebase Admob插屏广告功能
Admob.Instance().loadInterstitial(Your Interstitial ID);
firebase admob全屏广告加载展示分2步,第一步是加载广告,加载的时候传入参数;第二步是等加载完后,在合适的时机调用showInterstitial
Admob.Instance().showInterstitial();
全屏广告是每次显示后都需要重新加载广告,展示前最好是都对广告是否已经加载完毕进行检测,所以比较推荐的代码是
if (Admob.Instance().isInterstitialReady())
{
Admob.Instance().showInterstitial();
}
七、Unity使用Firebase视频广告功能
Admob.Instance().loadRewardedVideo(Your Reward Video ID);
通过firebase admob unity3d集成admob 视频奖励广告分2步,第一步是加载广告,加载的时候传入参数广告id;第二步是等加载完后,在合适的时机调用showRewardedVideo
Admob.Instance().showRewardedVideo();
奖励视频广告是每次显示后都需要重新加载广告,展示前最好是都对广告是否已经加载完毕进行检测,所以比较推荐的代码是
if (Admob.Instance().isRewardedVideoReady())
{
Admob.Instance().showRewardedVideo();
}
八、Unity3d处理Firebase Admob广告事件
Firebase Unity3d插件支持广告的各种事件,你可以根据自己的需要进行处理。例如奖励视频广告获得奖励的物品数量,例如在全屏广告加载完毕的时候展示全屏广告
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 插件的功能功能基本讲解完毕,希望大家能更加顺利
附效果图
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部