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 ...
随机推荐
- React Native 系列(三) -- 项目结构介绍
前言 本系列是基于React Native版本号0.44.3写的,相信大家看了本系列前面两篇文章之后,对于React Native的代码应该能看懂一点点了吧.本篇文章将带着大家来认识一下React N ...
- vmware迁移到openstack的一些坑
title: 安全平台迁移 tags: 新建,模板,小书匠 grammar_cjkRuby: true --- 前言 主要有三个坑: 一是如果原先虚拟机没有安装virtio驱动,要设置设备驱动为ide ...
- Rabbitmq集群
分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 Rabbitmq集群高 ...
- file的基本操作;file的修改
file的基本操作 # Author:nadech # 文件读写/修改/ #data = open("yesterday",encoding="utf-8"). ...
- 04_Struts2标签
1.通用标签: property标签: 用来输出值栈属性的值 如果value属性没有给出,ValueStack值栈栈顶对象的值被输出 许多情况下,EL表达式可以提供更简洁的语法 url标签: url方 ...
- Go 错误处理
Go 语言通过内置的错误接口提供了非常简单的错误处理机制. error类型是一个接口类型,这是它的定义: type error interface { Error() string } 我们可以在编码 ...
- 0428-css样式
一.CSS样式表 引入的三种方式1.内联样式:标签内部 style2.内嵌样式:<head></head>标签内部(<style></sty ...
- Webpack 2 设置为从当前文件夹逐级向上查找模块
比较实用, 当你在cd到子文件夹运行webpack时,你可能想要require文件夹js里面的一些模块, 但你又想将祖先的js文件夹作为fallback.这样设置即可: module.exports ...
- 安全框架Shiro
原文地址:https://www.cnblogs.com/learnhow/p/5694876.html 一.架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精 ...
- iOS开源加密相册Agony的实现(六)
简介 虽然目前市面上有一些不错的加密相册App,但不是内置广告,就是对上传的张数有所限制.本文介绍了一个加密相册的制作过程,该加密相册将包括多密码(输入不同的密码即可访问不同的空间,可掩人耳目).Wi ...