谷歌移动广告Unity插件帮助谷歌移动广告提供了一种方法在Unity项目部署为原生的Android和iOS应用程序。插件功能包括:
•
一个包和交叉平台(Android / iOS)支持
•
模拟广告调用运行时内部Unity编辑
•
支持横幅广告
•
支持插播式广告
•
自定义横幅尺寸
•
横幅广告事件监听器
•
AdRequest定位方法
•
一个示例项目演示插件集成
该插件包含乐一个能够轻松导入插件的.unitypackage文件,以及那些想要迭代的源代码。
下载地址:https:
要求
•Unity
4.5
•一个广告单元ID
•部署在Android:
•Android的SDK3.
2
或更高版本
•谷歌播放服务器
4.0
或更高版本
•
部署在iOS:
•XCode5.
1
或以上
•谷歌移动广告SDK7.
0.0
或更高版本
集成的插件安装到你的游戏
1
.在Unity编辑器中打开你的项目。
2
.导航到资源 - >导入包 - >自定义套餐。
3
.选择GoogleMobileAdsPlugin.unitypackage文件。
4
.导入的所有的文件插件通过选择导入,确保检查任何冲突文件。
Android的设置
1
.添加google-play-services_lib文件夹,位于
ANDROID_SDK_LOCATION/extras/google/google_play_services/libproject,到你的项目插件/Android的文件夹中。
2
.[为用户运行一个早于
5.0
版本的Unity]导航到你的项目目录Temp/StagingArea,并复制AndroidManifest.xml到Assets/Plugins/Android. 以下<meta-data>标签添加到AndroidManifest.xml文件:
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
ios的设置
没有预先建立的设置要求。
运行项目
如果你正在运行的Hello
World示例项目,你应该能够立即运行项目。
在Android上构建并运行,单击文件
- >生成设置,选择Android平台,切换平台,然后生成并运行。
在ios上构建并运行,单击文件
- >生成设置,选择ios平台,切换平台,然后生成。这将导出一个XCode项目。你需要做到以下几点才可以运行它:
1
.从Xcode的项目导航器,在项目上单击右键,然后选择文件添加到
""
。
2
.浏览并选择GoogleMobileAds.framework。
3
.设置启用模块(C和objective - C)在构建是的设置。
如果这些步骤不起作用,开发文档总是有最先进的最新信息关于如何引用谷歌移动广告的iOS库。
谷歌移动广告统一Unity
API
本指南的其余部分假定你现在正在尝试编写自己的代码来集成谷歌移动广告到游戏中。
基本横幅流程
下面是创建一个横幅所需的最少的代码。
<activity
android:name=
"com.keymob.sdk.core.KeymobActivity"
android:theme=
"@android:style/Theme.Dialog"
android:configChanges=
"keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
/>
activity
android:name=
"com.millennialmedia.android.MMActivity"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar"
android:configChanges=
"keyboardHidden|orientation|keyboard|screenSize"
></activity>
AdPosition枚举指定在何处放置横幅。
基本插播式流程
这里是最小横幅代码来创建一个插播广告。
import
com.keymob.networks.AdManager;
import
com.keymob.networks.core.*;
import
com.keymob.sdk.core.AdTypes;
AdManager.getInstance().showRelationBanner(BannerSizeType.BANNER,
BannerPositions.BOTTOM_CENTER,
0
);
不像横幅,插播需要明确显示。在你的应用程序适当的停止点,准备展示它之前检查插播广告:
keymob.isInterstitialReady(function
(isReady) {
if
(isReady) {
alert(
"Interstitial is load success,you can show it now"
);
}
});
自定义广告尺寸
除了常数的广告尺寸,还可以创建自定义尺寸:
keymob.isInterstitialReady(function
(isReady) {
if
(isReady) {
keymob.showInterstitial();
}
});
横幅放置位置
以下常量列出可用的广告位置:
AdPosition.Top
AdPosition.Bottom
AdPosition.TopLeft
AdPosition.TopRight
AdPosition.BottomLeft
AdPosition.BottomRight
广告请求定位
如果你想提供自定义定位到广告请求,构建请求时添加定位选项。此示例广告请求表明您是否有什么选择目标,你只需要使用有意义的应用程序的选项。
function
onAdReceive(message) {
if
(message.adtype==keymob.AdTypes.INTERSTITIAL){
alert(message.adtype + message.adapter+
" ,you can show it now"
);
}
}
document.addEventListener(keymob.AdEvent.ON_LOADED_SUCCESS,
onAdReceive,
false
);
测试广告
要求测试广告,
构建广告请求时添加你的加密设备ID。这个ID只能在Android和iOS应用程序运行并发出请求时在日志中找到。一旦你得到你的设备ID,将它传递给AddTestDevice。
让我们假设我的蹩脚设备ID是0123456789ABCDEF0123456789ABCDEF,我也想在模拟器上测试广告。下面是如何设置的要求:
class
AdEventListener
implements
IAdEventListener {
@Override
public
void
onLoadedSuccess(
int
arg0, Object arg1,
PlatformAdapter arg2) {
Log.d(TAG, arg2+
" onLoadedSuccess for type "
+arg0 +
" withdata "
+arg1);
if
(arg0==AdTypes.INTERSTITIAL)
广告活动
BannerView和InterstitialAd包含相同的广告活动,您可以注册。这些事件类型的事件,这里我们将演示设置广告活动横幅:
@Override
public
void
onLoadedFail(
int
arg0, Object arg1, PlatformAdapter arg2) {
Log.d(TAG,
arg2+
" onLoadedFail for type "
+arg0 +
" withdata "
+arg1);}
@Override
public
void
onAdOpened(
int
arg0, Object arg1, PlatformAdapter arg2) {
Log.d(TAG,
arg2+
" onAdOpened for type "
+arg0 +
" withdata "
+arg1);}
@Override
public
void
onAdClosed(
int
arg0, Object arg1, PlatformAdapter arg2) {
Log.d(TAG,
arg2+
" onAdClosed for type "
+arg0 +
" withdata "
+arg1);}
唯一的事件有特殊事件参数是AdFailedToLoad。它通过AdFailedToLoadEventArgs的事例描述错误信息。
public
void
onOtherEvent(String eventName,
int
adtype, Object data,
PlatformAdapter adapter) {
Log.d(TAG, adapter+
" onLoadedSuccess for type"
+adtype +
" withEvent "
+eventName);
}
你只需要注册为你所关心的事件。
横幅生命周期
默认情况下,横幅是可见的。暂时隐藏一个横幅:
bannerView.Hide();
再次显示:
bannerView.Show();
当你完成了一条横幅,请确保你的下降参照之前摧毁它:
bannerView.Destroy();
这让插件知道你不再需要的对象,并能代表你做任何必要的清理。
插播广告生命周期
类似的横幅,插播也有破坏方法:
interstitial.Destroy();
重要的是要明确破坏范围的插播之前让它出去,这样就可以将正确发布插件。