iOS平台添加Google Admob -2/2(Unity3D开发之八)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!
原文地址: http://www.cocos2dev.com/?p=572
在上一篇文章中主要是编写了iOS Admob的接口实现。那么现在我们要做的事就是在unity中调用iOS Admob并展示。
一、实现Unity中对外接口,内部负责调用iOS Admob接口。
LHiOSAdmob.cs
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
using System.Linq;
using System.Collections.Generic;
public enum GADAdSize:int
{
// iPhone and iPod Touch ad size. Typically 320x50.
kGADAdSizeBanner = 1,
// Taller version of kGADAdSizeBanner. Typically 320x100.
kGADAdSizeLargeBanner,
// Medium Rectangle size for the iPad (especially in a UISplitView's left pane). Typically 300x250.
kGADAdSizeMediumRectangle,
// Full Banner size for the iPad (especially in a UIPopoverController or in
// UIModalPresentationFormSheet). Typically 468x60.
kGADAdSizeFullBanner,
// Leaderboard size for the iPad. Typically 728x90.
kGADAdSizeLeaderboard,
// Skyscraper size for the iPad. Mediation only. AdMob/Google does not offer this size. Typically
// 120x600.
kGADAdSizeSkyscraper,
// An ad size that spans the full width of the application in portrait orientation. The height is
// typically 50 pixels on an iPhone/iPod UI, and 90 pixels tall on an iPad UI.
kGADAdSizeSmartBannerPortrait,
// An ad size that spans the full width of the application in landscape orientation. The height is
// typically 32 pixels on an iPhone/iPod UI, and 90 pixels tall on an iPad UI.
kGADAdSizeSmartBannerLandscape
}
public class LHiOSAdmob : MonoBehaviour {
[DllImport("__Internal")]
private static extern void startRequestAdmob(string admobId, int adSizeId, float pixelX, float pixelY);
[DllImport("__Internal")]
private static extern void setAdmobHidden(bool isHidden);
public static LHiOSAdmob Instance;
private GADAdSize adSize;
void Awake()
{
// singleton
if (Instance != null)
{
Debug.LogError("Multiple instances of LHiOSAdmob");
}
Instance = this;
}
// Init google admob
// It will request the admob after five seconds.
// It's will auto show admob.
public void InitAdmob(string admobId, GADAdSize size, Vector2 pos)
{
#if UNITY_IPHONE
int adSizeId = (int)size;
startRequestAdmob(admobId, adSizeId, pos.x, pos.y);
#else
Debug.Log("Admob only run on iPhone platform");
#endif
}
// Set Admob BannerView is visible or not
public void SetAdmobVisible(bool isVisible)
{
#if UNITY_IPHONE
setAdmobHidden(!isVisible);
#else
Debug.Log("Admob only run on iPhone platform");
#endif
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
这是一个单例接口类,内部负责调用iOS Admob接口,并开放对外接口。供其他c#文件调用。
注意:你可以制作一个Prefab,并包含该脚本。将该Prefab拖放到场景中。在需要显示admob的地方调用。
二、测试admob显示,也就是在你需要的地方。
TestAdmob.cs
using UnityEngine;
using System.Collections;
public class TestAdmob : MonoBehaviour {
// Use this for initialization
void Start () {
LHiOSAdmob.Instance.InitAdmob("your admob id", GADAdSize.kGADAdSizeSmartBannerLandscape, new Vector2(0, 150));
}
// Update is called once per frame
void Update () {
}
}
ok, 现在可以Build iOS工程了。
注意:
Build的iOS工程,要添加对应的编译选项和iOS框架。
1、Other Linker Flags 添加 -ObjC
2、Xcode->Targets->Build Phases->Link Binary With Libraries 添加以下框架:
AdSupport
AudioToolbox
AVFoundation
CoreGraphics
MessageUI
StoreKit
SystemConfiguration
iOS平台添加Google Admob -2/2(Unity3D开发之八)的更多相关文章
- iOS平台添加Google Admob -1/2(Unity3D开发之七)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=567 Unity调用iOS还是非 ...
- iOS平台加入Google Admob -1/2(Unity3D开发之七)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com.谢谢! 原文地址: http://www.cocos2dev.com/?p=567 Unity调用iOS还是非 ...
- Sprite添加阴影摇摆动画(Unity3D开发之九)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=575 今天看到一个很简单的摇摆动 ...
- uGUI使用代码动态添加Button.OnClick()事件(Unity3D开发之十二)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/42705885 ...
- 《React Native 精解与实战》书籍连载「iOS 平台与 React Native 混合开发」
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...
- XCode教程之 如何在苹果开发者平台添加设备UDID
XCode教程之 如何在苹果开发者平台添加设备UDID.在Xcode开发中,如何在苹果开发者平台添加新的手机设备UDID,进行测试,具体如下 工具/原料 Apple Developer 方法/步骤 1 ...
- Unity3d开发集成Google Admob广告增加收入
在Unity游戏中植入广告是Unity 游戏产品增加收入的一种重要方式,常用的广告有谷歌Admob,百度ssp,腾讯广点通,unity公司的unityads等等,而使用的最多的应该属于谷歌Admob, ...
- Remove Google Play Games libraries on iOS (Unity3D开发之二十一)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/48313653 ...
- 【Unity与Android】02-在Unity导出的Android工程中接入Google Admob广告
我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在An ...
随机推荐
- 关于return的一些了解
写return是一种清晰的风格,可以防止一些意外的错误. 所以书上只说应该写,而不是必须写. 如果符合某个条件要退出的话,可以用return返回,否则可以不写这句代码的,当程序执行到"}&q ...
- Java instanceof 关键字是如何实现的?
作者:RednaxelaFX链接:https://www.zhihu.com/question/21574535/answer/18998914来源:知乎著作权归作者所有.商业转载请联系作者获得授权, ...
- Java finalize方法使用
<JAVA编程思想>: Java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize(). (1).对象不一定会被回收. (2).垃圾回收不是析构函数. ( ...
- Node.js 流
稳定性: 2 - 不稳定 流是一个抽象接口,在 Node 里被不同的对象实现.例如request to an HTTPserver 是流,stdout 是流.流是可读,可写,或者可读写.所有的流是 E ...
- MongoDB 固定集合
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...
- JavaScript Window History
window.history 对象包含浏览器的历史. Window History window.history对象在编写时可不使用 window 这个前缀. 为了保护用户隐私,对 JavaScrip ...
- JavaScripy execCommand函数
execCommand函数命令 execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令.处理Html数据时常用如下格式:document.execCommand(sCommand[ ...
- MySQL命令行SQL脚本的导入导出小结(数据库的备份与还原)
1.设置环境变量 要想在命令行下各处都能执行mysql命令,必须在系统变量Path中添加mysql的命令所在的目录.例如我安装的是集成PHP环境的mysql,在D盘xampps下,则我需要将" ...
- Swift下多个Storyboard的项目结构
我是个比较喜欢用storyboard和xib的人.我个人的习惯就是,能用storyboard的一定不用代码手工撸.当然自己业余个人写的项目,基本上一个storyboard就搞定了.但涉及到多人合作下时 ...
- openresty 备忘
The problem with: apt-get --yes install $something is that it will ask for a manual confirmation if ...