前言

  现在免费小游戏及应用的主要收入渠道就是通过接入广告。而Google的Admob适用于全球范围内的广告接入,文档方面及后台管理也是较为完善,接入还是比较便捷的。

不过Google目前还在墙外,虽然接入后广告不需要vpn就可以显示访问,但是官网设置及文档还是需要梯子的。

Admob应用广告申请设置

   1、在admob网站注册帐号等。  https://apps.admob.com/

  2、在登录后点击   通过新的应用获利  按钮即可创建新的平台广告位。

  3、添加完对应广告位后即可在   管理您的应用   按钮中找到添加的项目, 点击后可以查看应用广告具体的信息。

申请后可以得到一个 adUnitID,这在后面代码中需要用到。即下图的广告单元ID。

    

Android接入

  官方文档: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文件中添加清单如下,

  1. <!-- Include required permissions for Google Mobile Ads to run-->
  2. <uses-permission android:name="android.permission.INTERNET"/>
  3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  4.  
  5. <!--This meta-data tag is required to use Google Play Services.-->
  6. <meta-data android:name="com.google.android.gms.version"
  7. android:value="@integer/google_play_services_version" />
  8.  
  9. <!--Include the AdActivity configChanges and theme. -->
  10. <activity android:name="com.google.android.gms.ads.AdActivity"
  11. android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
  12. android:theme="@android:style/Theme.Translucent" />

实现代码官网上都有: https://developers.google.com/admob/android/interstitial

这里不在重复说明,说一个注意事项:测试手机需要装有Google Play 商店,否则会提示  Google Play services is missing,并且应用直接崩溃。

补充: 后来发现接入了Google 排行榜后,没有装Google Play商店也可以正常运行显示了。

IOS接入

       官方文档: https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start?hl=zh-cn

实现步骤及代码同样都在官网上,这里只讲下如果不是直接在游戏的 UIViewController中调用广告显示的情况处理。

此时显示需要如下:

  1. if ([self.interstitial isReady]) {
  2. CCLOG("ready");
  3. UIApplication* clientApp = [UIApplication sharedApplication];
  4. UIWindow* topWindow = [clientApp keyWindow];
  5. if (!topWindow)
  6. {
  7. topWindow = [[clientApp windows] objectAtIndex:];
  8. }
  9. [[topWindow rootViewController] presentViewController:self animated:NO completion:nil];
  10.  
  11. [self.interstitial presentFromRootViewController:self];
  12. }
  13. else{
  14. CCLOG("not ready");
  15. }

同时关闭广告如下处理:

  1. - (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {
  2. [self dismissViewControllerAnimated:NO completion:nil];
  3. self.interstitial = [self createAndLoadInterstitial];
  4. }

其他碰到的几个问题:

  1、找不到添加的SDK库导致编译不过。

解决:官网下载的SDK包必须在Mac上进行解压。 不然Framework内的引用会不见。

  2、[self.interstitial isReady] 返回值一直是false, interstitialDidReceiveAd等回调也收不到消息。

解决: 在info.plist一定要添加以下项.

  1. <key>UIBackgroundModes</key>
  2. <array>
  3. <string>remote-notification</string>
  4. </array>

  3、显示的广告一直是 you're displaying an interstitial test ad from admob.

解决: 将测试 的 testDevices项内容注释。

Admob - Google广告接入的更多相关文章

  1. Android Google AdMob 广告接入示例

    Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...

  2. Google Admob移动广告快速集成步骤

    Google Admob移动广告快速集成步骤 第一步:引入依赖包 //admob广告 implementation 'com.google.android.gms:play-services-ads: ...

  3. 谷歌(google)广告尺寸大小列表

    在平时做网页模板时,我们需要计算Google AdSense 的尺寸,以确保它能和页面完美的结合,提高AdSense的点击率,进台后看又很麻烦,下面整理了Google 广告的各种尺寸,跟大家分享一下. ...

  4. android开发步步为营之68:Facebook原生广告接入总结

    开发应用的目的是干嘛?一方面当然是提供优质服务给用户,还有一方面最重要的还是须要有盈利.不然谁还有动力花钱花时间去开发app? 我们的应用主攻海外市场,所以主要还是接入国外的广告提供商.本文就今天刚完 ...

  5. google广告尺寸

    谷歌AdMob广告支持三种tablet-only旗帜大小除了320×50显示在手机: 大小(WxH) 描述 可用性 AdSize常数 320×50 标准的旗帜 手机和平板电脑 横幅 300 x250 ...

  6. Google广告屏蔽插件adBlock

    今天在博客园写博客的时候发现莫名其妙的在右侧被植入了广告,询问了管理员得知存在以下几种可能: 1.电信网络供应商劫持网页,植入广告 2.ADSafe(是一款去除广告的软件,效果很不错) 但经过最终排除 ...

  7. Google广告批量投放脚本

    该脚本文件是一个转化文件,将编辑的Google投广告模板转化成Google批量投放广告的脚本文件,实现批量投放广告,节省投广时间.PS:要与相应的模板结合使用,投广告模板在本人博客的文件中,可以下载. ...

  8. 【Unity与Android】02-在Unity导出的Android工程中接入Google Admob广告

    我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在An ...

  9. Unity3d开发集成Google Admob广告增加收入

    在Unity游戏中植入广告是Unity 游戏产品增加收入的一种重要方式,常用的广告有谷歌Admob,百度ssp,腾讯广点通,unity公司的unityads等等,而使用的最多的应该属于谷歌Admob, ...

随机推荐

  1. pip install python 如何快速安装模块

    之前python安装模块要在网络上下载,从python2.7.9之后,以及python3,python就自带pip 这个命令,能够快速的安装模块 1,  首先打开python的主文件夹 2.在主文件夹 ...

  2. oop 第三次作业 文件读写

    oop第三次作业 GitHub 对于迟交我感到很抱歉 031602510 体会 这次的用到了之前的文件读写,传参 定义函数有返回值,使代码更加简洁.面向对象的程序设计,在面对函数多元的情况下,编程更加 ...

  3. 201521123034 《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前 ...

  4. iOS启动图-从网络获取的gif图,在本地一直是没有动画,还模糊的

    背景介绍:APP启动页,常有静态图加链接,gif加链接,短视频等几种形式.我们APP前期只有静态图这一种,功能已经实现.之后,有了添加gif的需求,按理说,只要添加一个类型判断,按照数据类型,通过不同 ...

  5. 快速搭建一个Fabric 1.0的环境

    之前笔者写了一篇Fabric1.0 Beta的部署和Fabric 1.0的多机部署.但是很多人在部署Fabric的时候还是很容易出问题,所以我就再把Fabric 1.0的单机环境搭建讲一下.其实很多内 ...

  6. PHP 动态调整内存限制

    最近公司的一个PHP项目在操作大文件的时候总是抛出这个异常 Fixing PHP Fatal Error: Allowed Memory Size Exhausted 经过一番调试后发现是达到了PHP ...

  7. Linux服务器硬盘状态查看

    首先执行fdisk -l最底下 Device Start End Sectors Size Type /dev/vda1 2048 6143 4096 2M BIOS boot /dev/vda2 6 ...

  8. nodejs 初次链接 mongodb 的详细细节

    时间  2016-06-2613:05:16 在前端的学习也有一段时间了,学习了html,css,javascript,jqery,ajax,php,mysql,学习了这些,了解了一些皮毛,也没有什么 ...

  9. 如何用kaldi做孤立词识别-初版

    ---------------------------------------------------------------------------------------------------- ...

  10. js中+号的另外一种用法

    JavaScript中可以在某个元素前使用 ‘+’ 号,这个操作是将该元素转换成Number类型,如果转换失败,那么将得到 NaN. 所以 +new Date 将会调用 Date.prototype ...