Unity3d 游戏中集成Firebase 统计和Admob广告最新中文教程

Firebase Admob Unity3d插件是一个Unity用户更方便使用Firebase 统计和Firebase admob广告的插件,接口非常的简洁简单,使用c#,无需另外编写java和oc代码
一、2种方式安装Firebase Admob Unity3d插件
1.直接下载https://github.com/unity-plugins/Firebase-Admob-Unity/ ,然后把Plugins文件夹复制到你Unity3d项目的Plugins目录中
2.下载Firebase Admob Unity3d 插件包admob_unity_plugin.unitypackage,然后通过unity编辑器的菜单Assets -> Import Package -> Custom Package.
导入unitypackage包中的文件
二、修改Unity3d Firebase Admob插件要求的配置信息
把插件导入到项目后有几个地方需要修改
针对unity3d android项目的修改
1.修改Assets\Plugins\Android\AndroidManifest.xml,替换里面的com.google.android.gms.ads.APPLICATION_ID值为你的admob app id值,
这个值在admob后台创建创建admob app后会生成,格式类似于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开始要求的必须的配置信息,不配置app会奔溃

2.修改\Assets\Plugins\Android\res\values\strings.xml,替换里面的google_app_id的值为你的firebase app id,
这个值在firebase控制台创建app后生成,格式类似于1:263495946164:android:ab988918fd3cee93
配置例子
<string name="google_app_id">1:263495946164:android:ab988918fd3cee93</string>
这是firebase analysis要求的必须配置的内容,不配置无法统计

针对Unity3d IOS项目的修改
1.解压Assets\Plugins\iOS\GoogleMobileAds.framework.zip为Assets\Plugins\iOS\GoogleMobileAds.framework
2.修改替换Assets\Plugins\iOS\GoogleService-Info.plist,导出Xcode项目后把GoogleService-Info.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\":\"yingke\"}");

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时会生成,格式类似于ca-app-pub-3940256099942544~1458002511,
第二个参数是对admob进行的一些设置的AdProperties对象,可以进行例如是否是测试模式,是否是针对儿童的应用,是否停用个性化广告,以及视频是否默认静音等等的设置

四、Unity3d集成Firebase横幅广告功能

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

通过相对定位的方式展示广告,第一个参数是横幅广告的广告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.BOTTOM_CENTER);

显示原生广告有点类似横幅广告,可以通过相对定位和绝对定位的方式展示广告,
第一个参数是原生广告的广告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 插件的功能功能基本讲解完毕,希望大家能更加顺利

原文地址:http://blog.51cto.com/12611548/2318498

时间: 2024-11-09 02:11:21

Unity3d 游戏中集成Firebase 统计和Admob广告最新中文教程的相关文章

在APP中集成iAd Banner展示广告盈利

如果你已经做了一款超牛X的APP.你也许还有一件是需要操心.APP够好了,怎么盈利呢?你可以对下载你的APP的用户收费.也可以完全的免费,然后在APP里放广告来实现盈利.现在来说,除非一款APP真的是非用不可的,或者很有名,在要不就是很好玩的游戏.否则,用户一般是不会付费的.明智的选择是免费,集成广告.广告的收益是由苹果和开发这共同分成.一般来说开发者占七成,apple占三成.毕竟苹果建立了广告分发的网络. 当然也有很多的开发者选择了在免费版的APP里插播广告的同时,还开发了一个收费但是没有广告

Unity3d游戏中添加移动MM支付SDK问题处理

原地址:http://www.tuicool.com/articles/I73QFb 由于移动mm的SDK将部分资源文件放在jar包中,导致Unity无法识别,提示failed to find resource file(mmiap.xml}错误 需要做以下几步操作: -- 解压mmbilling.2.3.0.jar,提取CopyrightDeclaration.xml.mmiap.xml.VERSION文件,和mmiap文件夹 -- 拷贝mmiap文件夹到Unity项目Assets/Plugi

Unity3d游戏中实现阿拉伯语文字正常显示

Unity3d游戏中实现阿拉伯语文字正常显示 由于项目需求要把游戏文字显示为维语版本(维语属于阿拉伯语系),我先把维语替换进去,之后发现文字是错的(每个字符都分开了,而且显示方向也不对)后来在网上查了一下发现阿拉伯语是从右往左读的,并且阿拉伯语的32个字符单说写法就有126种(同一个字符有多种写法)如下图: 部分维语字符的不同书写形式 首先我们来了解一下维语: ① 维文是以阿拉伯字母为基层的因素文字,由32个字母构成.分为元音.辅音两大类.② 8个元音又分三类:3个前元音.3个后元音.2个央元音

Unity3d 游戏中的实时降噪-对Square Enix文档的研究与实现

看到SE的技术文档关于降噪的决定研究一下,本次试验场景: 文章中提到了3中主要滤波方法,最后一种方法又有三种方式分别为Conventional geometry-aware ?ltering,Distribution-Aware Filtering,Specular Lobe-Aware Filtering and Upsampling根据公式做了一些,自己弄得除噪方法不知道是否正确,虽然有效果=  =: 博主的步骤:1.    找出噪波(包括噪波与贴图上的细节)2.    算出specular

Unity3D游戏开发之从Unity3D项目版本号控制说起

??各位朋友.大家好.欢迎大家关注我的博客,我是秦元培,我的独立博客地址是http://qinyuanpei.com.CSDN博客地址是http://blog.csdn.net/qinyuanpei. 今天我想和大家聊聊Unity3D游戏项目的版本号控制. 1.为什么要进行版本号控制? ??当我一个人写代码的时候,在我的脑海中是不存在版本号控制这个概念的.由于我对整个项目的代码如数家珍. 但是当我和一群人在一起写代码的时候.我可能并不会清楚团队中有谁改动了哪一行代码,即使是一个变量的名称或者是一

Unity3D游戏开发之使用disunity提取Unity3D游戏资源

各位朋友,大家好,我是秦元培.今天博主想和分享的是使用disunity提取Unity3D游戏素材.这个工具呢,博主在Unity3D游戏开发之反编译AssetBundle提取游戏资源这篇文章中其实已经提到过了,不过因为有些朋友对如何使用这个工具依然存在问题,所以博主决定特地写一篇文章来讲解如何使用disunity来提取Unity3D游戏中的素材. 准备工作 disunity:负责对Unity3D的数据文件进行解包 Unity3D:负责将导出的数据文件显示出来 Bleander或者3DsMax:负责

游戏中的三角学——Sprite Kit 和 Swift 教程(1)

原文链接 : Trigonometry for Games – Sprite Kit and Swift Tutorial: Part 1/2 原文作者 : Nick Lockwood 译文出自 : 开发技术前线 www.devtf.cn 译者 : kmyhy 更新 2015/04/20:升级至 Xcode 6.3 和 Swift 1.2 更新说明:这是我们广受欢迎的教程之一的第三个版本--第一个版本是 Cocos2D 的,由 Matthijs Hollemans 缩写,第二个版本由 Tony

如何使用PhoneGap程序将AdMob广告嵌入到你的HTML5 iOS游戏中

如果你没有AdMob账户,先注册一个AdMob账户. 点击“Monetize new app”按钮. 如果它是一个新的应用程序,你仍然要发布,选择“Add your app manually”选项卡,命名你的应用程序,在这种情况下选择platform – iOS,然后点击“Add app”选择广告形式,像你展示如何创建一个插播广告,给它命名并保存,这个过程和横幅是相同的.你应该添加他们. 写下你的广告单元ID,如果你还没有的话,就创建横幅广告类型.你应该结束有两个广告单元的ID,一个为横幅,另一

【iOS开发】在 App 中加入 AdMob 广告 - 入门介绍与编程技巧

前言 虽然在App中加入广告来盈利是比较低级的商业化方式,但对于个人开发者或者小团队开发者来说,做出一个简单易用的免费小工具(举个栗子),在里面加入一些广告,如果用的人多,也是可以带来一些可观的收入的.用户没有掏钱,得到了方便,开发者也得到了回报:) 我个人出于对金钱的考虑和对Google的信任,选择了AdMob这个平台来在App中投放广告(https://apps.admob.com 访问需要搭梯子,梯子为SS的用户最好全局代理,自动代理的话访问起来会很卡). 就目前来看,我果还是不太擅长移动