文档章节

谷歌移动广告Unity插件

大街小巷
 大街小巷
发布于 2016/02/24 14:03
字数 1382
阅读 15
收藏 0

谷歌移动广告Unity插件帮助谷歌移动广告提供了一种方法在Unity项目部署为原生的Android和iOS应用程序。插件功能包括:
• 一个包和交叉平台(Android / iOS)支持
• 模拟广告调用运行时内部Unity编辑
• 支持横幅广告
• 支持插播式广告
• 自定义横幅尺寸
• 横幅广告事件监听器
• AdRequest定位方法
• 一个示例项目演示插件集成
该插件包含乐一个能够轻松导入插件的.unitypackage文件,以及那些想要迭代的源代码。
下载地址:https://github.com/

要求
•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");
        }
        //keymob.showInterstitial();//show it when received
    }
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();
重要的是要明确破坏范围的插播之前让它出去,这样就可以将正确发布插件。

© 著作权归作者所有

大街小巷
粉丝 8
博文 208
码字总数 130367
作品 0
长沙
私信 提问
Unity 移动广告投放插件--Admob Unity Plugin

Admob Unity Plugin Admob Unity 插件提供了一种在 Unity3D Game 和 u3d 应用程序中集成 admob 广告的方法。您可以将其用于具有相同 c#或 js 代码的 Unity iOS 和 Android App。 Admob Unit...

匿名
2017/04/20
182
0
iOS 游戏开发之unity5.0(百度贴吧转载收藏)

Unity 发布到IOS的注意事项1.开发环境 MAC环境:Xcode环境 7.2.1 Unity环境:Unity5.3 2.基本说明 首先,我说一下,这是我在对Unity发布到IOS的实际使用中,总结出来的经验!如果你想一次就发...

joyliyan
2018/05/25
0
0
Mozilla 和 Unity 合作将 Unity 引擎带到 Web

Mozilla和Unity宣布Unity 5将包含一个支持WebGL和asm.js的早期预览版本,利用Unity 5引擎开发的游戏可以不需要插件直接在浏览器上运行。Unity 5将 在今年晚些时候发布,该系列引擎在独立开发...

oschina
2014/03/20
3.5K
19
Unity中怎么植入Google Admob原生广告

原生广告是样式和游戏App内容嵌入最贴切的一种广告,可以自己设置广告的样式达到和产品整体协调统一,常见的新闻列表中夹杂的广告,游戏图片中夹杂的广告等 Unity之前包含2中原生广告,一种叫...

unityvrgame
2018/03/10
336
0
福利:unity3d一站式接入渠道SDK插件 abctools

unity3d游戏终于开发完了,到了要接入渠道SDK了(老板让我接入360,小米,当乐,91,50多家渠道SDK)我要疯了,为unity3d游戏接入渠道SDK是一件非常蛋痛的事情! 市面上多达100多家的渠道需要...

liruochu
2014/07/28
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
16分钟前
21
0
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
6
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
7
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部