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 ...
随机推荐
- Splay讲解
Splay讲解 Splay是平衡树的一种,是一种二叉搜索树,我们先讲解一下它的核心部分. Splay的核心部分就是splay,可能有些人会说什么鬼?这样讲解是不是太不认真了?两个字回答:不是.第一个S ...
- 在java中String类为什么要设计成final
在java中String类为什么要设计成final? - 胖胖的回答 - 知乎 https://www.zhihu.com/question/31345592/answer/114126087
- js error
0x800a0259 - JavaScript 运行时错误: 未知的运行时错误 <p id="navigatorInfo"></p> var txt = & ...
- intellij配置hibernate自动生成hbm.xml文件
1.首先创建一个Java web项目,这里因为已经在整个项目中配置好tomcat了,所以我是直接创建module的,其实和创建project的配置方法一样,创建的时候选择Web Application ...
- git报错:'fatal:remote origin already exists
git报错:'fatal:remote origin already exists'怎么处理?附上git常用操作以及说明. git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1 ...
- C# 制作屏保(图片位置随机变化)
最近无所事事,闲着无聊,在网上翻看资料时碰巧看到了屏保制作,根据大神的思路也理解到屏保也不是很难.因此根据我自己的理解,动手谢了一个屏保. 首先,打开VS2010创建一个Windows窗体应用程序,名 ...
- 酷伯伯实时免费HTTP代理ip爬取(端口图片显示+document.write)
分析 打开页面http://www.coobobo.com/free-http-proxy/,端口数字一看就不对劲,老规律ctrl+shift+c选一下: 这就很悲剧了,端口数字都是用图片显示的: 不 ...
- Linux中MySQL忽略表中字段大小写
linux 下,mysql 的表面默认是区分大小写的,windows 下默认不区分大小写,我们大多数在windows 下开发,之后迁移到linux(特别是带有Hibernate的工程),可以修改配置是 ...
- mysql 数据类型别名参考
To facilitate the use of code written for SQL implementations from other vendors, MySQL maps data ty ...
- Android Topeka介绍
概述 当你已经做Android开发一段时间,并苦于进入瓶颈,这个时候阅读一些优秀App的源码是最好的学习进阶方式,前几天,邀请去参加一个Android大会,我作为其中一个演讲者,专门讲解了Androi ...