Admob - Google广告接入
现在免费小游戏及应用的主要收入渠道就是通过接入广告。而Google的Admob适用于全球范围内的广告接入,文档方面及后台管理也是较为完善,接入还是比较便捷的。
不过Google目前还在墙外,虽然接入后广告不需要vpn就可以显示访问,但是官网设置及文档还是需要梯子的。
1、在admob网站注册帐号等。 https://apps.admob.com/
2、在登录后点击 通过新的应用获利 按钮即可创建新的平台广告位。
3、添加完对应广告位后即可在 管理您的应用 按钮中找到添加的项目, 点击后可以查看应用广告具体的信息。
申请后可以得到一个 adUnitID,这在后面代码中需要用到。即下图的广告单元ID。

官方文档:https://developers.google.com/admob/android/existing-app
项目环境配置:
1、Android Jdk必须升级到1.7.0以上,Android sdk要升级到Android5.0以上。
2、从SDK Manager中下载安装Google Play services并且在我们应用项目添加引用。
3、AndroidManifest.xml文件中添加清单如下,
<!-- Include required permissions for Google Mobile Ads to run-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <!--This meta-data tag is required to use Google Play Services.-->
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" /> <!--Include the AdActivity configChanges and theme. -->
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
实现代码官网上都有: https://developers.google.com/admob/android/interstitial
这里不在重复说明,说一个注意事项:测试手机需要装有Google Play 商店,否则会提示 Google Play services is missing,并且应用直接崩溃。
补充: 后来发现接入了Google 排行榜后,没有装Google Play商店也可以正常运行显示了。
官方文档: https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start?hl=zh-cn
实现步骤及代码同样都在官网上,这里只讲下如果不是直接在游戏的 UIViewController中调用广告显示的情况处理。
此时显示需要如下:
if ([self.interstitial isReady]) {
CCLOG("ready");
UIApplication* clientApp = [UIApplication sharedApplication];
UIWindow* topWindow = [clientApp keyWindow];
if (!topWindow)
{
topWindow = [[clientApp windows] objectAtIndex:];
}
[[topWindow rootViewController] presentViewController:self animated:NO completion:nil];
[self.interstitial presentFromRootViewController:self];
}
else{
CCLOG("not ready");
}
同时关闭广告如下处理:
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {
[self dismissViewControllerAnimated:NO completion:nil];
self.interstitial = [self createAndLoadInterstitial];
}
其他碰到的几个问题:
1、找不到添加的SDK库导致编译不过。
解决:官网下载的SDK包必须在Mac上进行解压。 不然Framework内的引用会不见。
2、[self.interstitial isReady] 返回值一直是false, interstitialDidReceiveAd等回调也收不到消息。
解决: 在info.plist一定要添加以下项.
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
3、显示的广告一直是 you're displaying an interstitial test ad from admob.
解决: 将测试 的 testDevices项内容注释。
Admob - Google广告接入的更多相关文章
- Android Google AdMob 广告接入示例
Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...
- Google Admob移动广告快速集成步骤
Google Admob移动广告快速集成步骤 第一步:引入依赖包 //admob广告 implementation 'com.google.android.gms:play-services-ads: ...
- 谷歌(google)广告尺寸大小列表
在平时做网页模板时,我们需要计算Google AdSense 的尺寸,以确保它能和页面完美的结合,提高AdSense的点击率,进台后看又很麻烦,下面整理了Google 广告的各种尺寸,跟大家分享一下. ...
- android开发步步为营之68:Facebook原生广告接入总结
开发应用的目的是干嘛?一方面当然是提供优质服务给用户,还有一方面最重要的还是须要有盈利.不然谁还有动力花钱花时间去开发app? 我们的应用主攻海外市场,所以主要还是接入国外的广告提供商.本文就今天刚完 ...
- google广告尺寸
谷歌AdMob广告支持三种tablet-only旗帜大小除了320×50显示在手机: 大小(WxH) 描述 可用性 AdSize常数 320×50 标准的旗帜 手机和平板电脑 横幅 300 x250 ...
- Google广告屏蔽插件adBlock
今天在博客园写博客的时候发现莫名其妙的在右侧被植入了广告,询问了管理员得知存在以下几种可能: 1.电信网络供应商劫持网页,植入广告 2.ADSafe(是一款去除广告的软件,效果很不错) 但经过最终排除 ...
- Google广告批量投放脚本
该脚本文件是一个转化文件,将编辑的Google投广告模板转化成Google批量投放广告的脚本文件,实现批量投放广告,节省投广时间.PS:要与相应的模板结合使用,投广告模板在本人博客的文件中,可以下载. ...
- 【Unity与Android】02-在Unity导出的Android工程中接入Google Admob广告
我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在An ...
- Unity3d开发集成Google Admob广告增加收入
在Unity游戏中植入广告是Unity 游戏产品增加收入的一种重要方式,常用的广告有谷歌Admob,百度ssp,腾讯广点通,unity公司的unityads等等,而使用的最多的应该属于谷歌Admob, ...
随机推荐
- 软件工程(GZSD2015)第二次作业小结
第二次作业,从4月7号开始,陆续开始提交作业.根据同学们提交的作业报告,相比第一次作业,已经有了巨大改变,大家开始有了完整的实践,对那些抽象的名词也开始有了直观的感受,这很好.然后有一些普遍存在的问题 ...
- 个人作业3——(Alpha阶段)
一.alpha 过程总结 1.这学期的软件工程作业,由于各种事情冲突和时间安排问题,前期并没有太多时间去好好应对,中途有很多次都想放弃.但最后还是咬咬牙在同学的帮助下完成了一些基本任务,在这门课程开始 ...
- 201521123050 《Java程序设计》第6周学习总结
1. 本周学习总结 2. 书面作业 1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 答:(1)x.clone ...
- 201521123031《java程序设计》第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句 ...
- 201521123076《java程序设计》第三周学习总结
1. 本周学习总结 2.书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...
- 201521123096《Java程序设计》第一周学习总结
1. 本章学习总结: 对JAVA的发展有一定的了解.JAVA是一种高级语言,需要在JVM上执行.初步学会使用eclipse和NOtepad++. 2. 书面作业 Q1:为什么java程序可以跨平台运行 ...
- 201521123080《Java程序设计》第1周学习总结
#1. 本周学习总结 Java开发环境,如何用记事本和eclipse进行编程. #2. 书面作业 Q1.为什么java程序可以跨平台运行?执行java程序的步骤是什么?(请用自己的语言书写) ...
- 如何实现Sublime Text3中vue文件高亮显示的最有效的方法
今天第一次使用Sublime Text3软件,在实现vue文件高亮显示的过程中一直报错,经过了半天时间的不停尝试终于找到了最有效的一种解决方法!错误提示如下: 刚开始尝试了很多方法都不行,只要打开in ...
- SimpleRpc-系统边界以及整体架构
系统边界 什么是系统边界?系统边界就是在系统设计之初,对系统所要实现的功能进行界定,不乱添加,不多添加.这么做的好处就是,系统简单明了,主旨明确,方便开发和用户使用.举个例子,一个自动售货机的本职工作 ...
- vue webuploader 组件开发
最近项目中需要用到百度的webuploader大文件的分片上传,对接后端的fastdfs,于是着手写了这个文件上传的小插件,步骤很简单,但是其中猜到的坑也不少,详细如下: 一.封装组件 引入百度提供的 ...