Unity游戏接入百度移动广告教程android篇
Unity 游戏里面接入百度,admob之类的广告来增加游戏的赢利是常用的增加收入的方法之一。
下面是我通过c#的方式在unity游戏里面接入百度移动广告的过程
先下载百度移动广告SDK插件
http://github.com/unity-plugins/BaiDu-Unity-Plugin
BaiduUnityPlugin.unitypackage 是Baidu Unity 插件主文件,直接通过Unity的asset import进项目导入导unity项目中
把Baidu Unity插件添加进unity步骤如下
1. 打开Unity工程
2. 从菜单打开,Assets -> Import Package -> Custom Package.
3. 选中Unity插件文件BaiduUnityPlugin.unitypackage
4. 选择导入所有内容,把baidu unity插件内全部内容导入导unity工程
5. 确认baidudemo.cs 已经导入到项目中,如果没有,请先从上面插件中复制baidudemo.cs 到工程,并修改baidudemo.cs中的百度广告ID
6. 把baidudemo.cs 拖到main camera 或者其他常在场景中的物件上
编译运行工程项目
选择菜单File -> Build Settings 选择Android平台,选择player settings设置平台属性,然后点击build
等待一会时间后应用将被安装到链接到电脑的android设备上,点开设备就能看到广告效果
Unity 集成baidu 广告代码注解说明
复制内容到剪贴板
代码:
using baidu;
...
Baidu.Instance().initBaidu("app id", "banner id", "institial id", "video id");//id is got from ssp.baidu.com
Baidu.Instance().showBannerRelative(AdSize.Banner, AdPosition.BOTTOM_CENTER, 0);
上面是在Unity android和Unity iOS游戏里面集成baidu横幅广告
AdSize.Banner表示展示的广告尺寸,AdPosition.BOTTOM_CENTER表示横幅的放置位置,AdPosition里面包含各个广告位置常量,AdSize包含各个广告尺寸常量
横幅广告相对位置
下面是所有支持的baidu横幅广告相对位置常量
复制内容到剪贴板
代码:
AdPosition.TOP_LEFT
AdPosition.TOP_CENTER
AdPosition.TOP_RIGHT
AdPosition.MIDDLE_LEFT
AdPosition.MIDDLE_CENTER
AdPosition.MIDDLE_RIGHT
AdPosition.BOTTOM_LEFT
AdPosition.BOTTOM_CENTER
AdPosition.BOTTOM_RIGHT
下面是在Unity应用里面集成百度广告插屏广告
下面的Unity3d里面添加baidu广告的代码
复制内容到剪贴板
代码:
using baidu;
...
Baidu.Instance().initBaidu("app id", "banner id", "institial id", "video id");//id is got from ssp.baidu.com
Baidu.Instance().loadInterstitial();
和横幅广告不同,全屏广告需要先加载,等加载完成后在合适的时间点展示广告
复制内容到剪贴板
代码:
if (Baidu.Instance().isInterstitialReady()) {
Baidu.Instance().showInterstitial();
}
百度移动广告广告事件处理
百度横幅广告和全屏广告都有差不多的广告事件,你可以在unity3d里面监听并处理所有百度移动广告事件
下面是一个处理全屏广告事件的例子,我们在收到广告的时候就展示广告
复制内容到剪贴板
代码:
using baidu;
...
Baidu.Instance().interstitialEventHandler += onInterstitialEvent;
...
void onInterstitialEvent(string eventName, string msg)
{
Debug.Log("handler onBaiduEvent---" + eventName + " " + msg);
if (eventName == BaiduEvent.onAdLoaded)
{
Baidu.Instance().showInterstitial();
}
}