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 ...
随机推荐
- JsonArray转List,list转json字符串
JsonArray data = object.getAsJsonArray("data"); Gson gson =new Gson(); List<Object> ...
- node的异常处理
Node是单线程运行环境,一旦抛出的异常没有被捕获,就会引起整个进程的崩溃.所以,Node的异常处理对于保证系统的稳定运行非常重要. node的处理方法: 1.使用throw语句抛出异常 常用的捕获异 ...
- Python小代码_8_今天是今年的第几天
import time date = time.localtime() print(date) #time.struct_time(tm_year=2018, tm_mon=2, tm_mday=24 ...
- 46. Permutations(medium, backtrack, 重要)
Given a collection of distinct numbers, return all possible permutations. For example, [1,2,3] have ...
- Goland 提示 :configuration is still incorrect 的解决
安装好 Goland 后,调试编译的时候提示 goland configuration is still incorrect,百度 和 Google 都没有明确答案 Google 上有一些提示,但是也 ...
- redis的数据持久化方案
Redis的持久化方案有两种 1.Rdb方式:快照形式,定期将内存中的数据持久化到硬盘.是Redis默认的数据持久化的形式. Rdb:缺点是:数据还没有更新到磁盘上,突然断电,造成数据的不完整性. 在 ...
- Android Studio突然不显示logcat日志
参考文章:http://blog.csdn.net/victor_e_n_01185/article/details/52818809 有时候,AS出现没有log的情况.一般您换了模拟器,或者使用真机 ...
- 剑指Offer——关于劳动合同,这6件事毕业生必须知道!
剑指Offer--关于劳动合同,这6件事毕业生必须知道! 求职找工作,不少人拿到劳动合同的那刻,可能连合同内容都没看清,就挥着笔杆子"签签签".别急!劳动合同包含哪些条款你清楚 ...
- Java基本语法-----java二维数组
由于word里的样式在csdn上调太麻烦了,所以我再次贴图了,后面二维数组那里是文字的,大家将就看吧. 二维数组常见的操作: 1.遍历二维数组 2.对二维数组求和 class Demo { // 定义 ...
- Dynamics CRM 非声明验证方式下连接组织服务的两种方式的性能测试
今天看了勇哥的博文"http://luoyong0201.blog.163.com/blog/static/1129305201510153391392/",又认识到了一种新的连接 ...