Admob Unity Package在Unity3.2上工作

来源:互联网 发布:韩国布料软件md 编辑:程序博客网 时间:2024/06/05 18:18
版本历史
• 版本3.1.2
从插件修正不正确的回调函数
固定化的高级Show() & Hide() 功能则是相反的。
新增IsLoaded为InterstitialAd,检查是否InterstitialAd加载(调用负载())。

• 版本3.1
修正:随机崩溃,而接收广告。

• 版本3.0
新增插播式广告,重新编写的大多数模块。

• 版本2.0
已更新为Admob SDK:6.3.0
修正NoAnimation bug
传统的Admob UnityPackge(不支持):下载地址:https://github.com/unity-plugins/Unity-Admob(推荐下载最新版本)。

功能:
• 支撑横幅&插播广告。
• 在同一屏幕上支持多个广告。
• 支持多种广告单元的ID,设置不同的AdUnitID针对不同的AD Containers。
• 在广告容器上支持4个动画,使他们在接受新的广告时出现或消失。
• 在运行时更改广告容器的位置。
• 控制广告容器的可视性。
• 无需手动维护AdmobPlugin场景资源,其插件本身自动化。

即将推出的功能:
1.编辑器UI创建广告及分配属性,将减少5分钟编写代码。
2.你告诉我你需要更多。
这是基本的AdMob包实施,适用于几乎所有的Unity版本或更高版本(我测试了3.2,3.3,3.4,3.5,4.0)
老方法,我在Unity论坛上发现,没有更多的工作与设置环境有关,ANT Android SDK版本Eclipse。

你需要什么来实现?
只需要Unity和Android SDK。

升级前:
从v2.x到3.x:AdmobPlugin V3.0不是2.0的扩展版本,我再次编码它。v2.0的函数调用不会与新的AdmobPlugin v3.0工作产生冲突。但是,新的版本有很多新的功能&更好地控制广告。

集成步骤:
下载&导入Admob UnityPackage,完成。

导入后首先设置:设置Admob属性:
在项目层次,到资源文件夹,你应该看到“AdmobSettings.asset”。 其设置在1.Admob插件读取值:
AdUnitID:在此格式指定你常见的Admob单元ID:ca-app-pub-41924874559xxxxx/61314xxxxxx。AdUnitID会使用每一个广告在游戏/应用程序。

4.LevelOfDebug:使用AdmobPlugin获取日志。推荐使用"Low" 或 "None",而航运游戏/应用程序防止很多日志从游戏/应用程序。
• None:你不会得到来自任何AdmobPlugin的日志
• LOW:你将获得所需的最小日志
• HIGH:你会得到更多的日志
• FLOOD:你将在你的logcat设备中获得flood日志。请在此值测试Admob的内容
注意:如果AdmobSettings.asset丢失/损坏,那么你就可以生成一个新的Windows->Create Admob设置

你可以从你的代码的任何地方使用/调用下面的函数。
<Ad_Identifier>可以是不同于其他任意广告ID的字符串。

横幅广告:
创建简单的横幅广告:
using admob;
Admob.Instance().initAdmob("admob banner id", "admob interstitial id");//admob id with format ca-app-pub-2796046890663330/756767388
Admob.Instance().showBannerRelative(AdSize.Banner, AdPosition.BOTTOM_CENTER, 0);

开始请求广告:
using admob;
Admob.Instance().initAdmob("admob banner id", "admob interstitial id");//initAdmob just need call once,if you called when create banner ,you not need call any more
Admob.Instance().loadInterstitial();


if (Admob.Instance().isInterstitialReady()) {
  Admob.Instance().showInterstitial();
}

删除广告:
1、删除广告(即将发布):
2、立即删除广告:
Admob.Instance().removeBanner();
3、隐藏/显示横幅广告:
Admob.Instance().removeBanner();

4、在运行时更改广告位置:
using admob;
//Create a 250x250 banner.
AdSize adSize = new AdSize(250, 250);
Admob.Instance().showBannerAbsolute(adSize,0,30);

插播式广告:
创建广告:
using admob;
Admob.Instance().initAdmob("admob banner id", "admob interstitial id");//initAdmob just need call once,if you called when create banner ,you not need call any more
Admob.Instance().loadInterstitial();

显示广告:
if (Admob.Instance().isInterstitialReady()) {
  Admob.Instance().showInterstitial();
}

对于高级用户:
高级:从Admob插件得到回调事件:
Admob插件支持BannerAd和InterstitialAd以下5个事件:
1. OnAdOpened,
2. OnAdLeftApplication,
3. OnAdClosed,
4. OnAdLoaded,
5. OnAdFailedToLoad//返回错误码作为参数
所有上述事件返回标识,它引起的事件。你可以接收和处理你的游戏事件基础上的Admob回调事件。我用代表给回调函数:
BannerAd&InterstitialAd:都能注册:
using admob;
Admob.Instance().interstitialEventHandler += onInterstitialEvent;
void onInterstitialEvent(string eventName, string msg)
{
   Debug.Log("handler onAdmobEvent---" + eventName + "   " + msg);
    if (eventName == AdmobEvent.onAdLoaded)
    {
    Admob.Instance().showInterstitial();
    }
}

回调函数:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
当你创建和加载广告后,每当Admob插件接收广告,MyCustom_OnAdLoadedEvent()将被调用,你可以注册为所有5个事件。


注意:
1.AdUnitID分配给个人BannerAd / InterstitialAd只能创建广告。
2.不要使用'^'插入符登录广告标识名称。
3.不要从资源位置更改"AdmobSettings.asset",否则,Admob的插件将无法初始化设置。

对于如何控制Admob插件更多详情详见“Admob的测试”。

我也上传APK,请首先测试使用该APK设备上的广告,检查你的设备是否可以接收广告。
0 0