viewDidLoad (AdMob) 上的 Swift 插页式广告

2024-02-24

我正在关注这个tutorial http://www.ios-blog.co.uk/tutorials/swift/display-ads-in-your-application-with-google-admob/

到目前为止,当我单击按钮时,它就可以工作了。但是我似乎无法让它在 viewDidLoad 上显示插页式广告。

这就是我所拥有的:

override func viewDidLoad() {
  super.viewDidLoad()
  self.interstitialAd = GADInterstitial(adUnitID: "ADUnitID")

  let request = GADRequest()

  // Requests test ads on test devices.
  request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"]

  self.interstitialAd.loadRequest(request)
  self.interstitialAd = reloadInterstitialAd()
}

控制台不断向我显示:

2016-02-04 22:27:51.855 GoogleAdMobTutorial[3394:56415] 要在此设备上获取测试广告,请调用: request.testDevices = @[ kGADSimulatorID ];

当我点击按钮时:

@IBAction func showAd(sender: AnyObject) {
    if self.interstitialAd.isReady {
        self.interstitialAd.presentFromRootViewController(self)
    }
}

广告出现了。当我关闭广告时,我会在控制台中看到以下内容:

2016-02-04 22:29:16.661 GoogleAdMobTutorial[3394:56743] 请求错误:不会发送请求,因为已使用插页式对象。

这是我关闭广告时调用的函数:

func interstitialDidDismissScreen(ad: GADInterstitial!) {
    self.interstitialAd = reloadInterstitialAd()
}

Question

为了清楚起见:如何在视图控制器加载时显示插页式广告?


在任何viewController中,添加这个函数。

   override func viewDidLoad() {
    super.viewDidLoad()

    let App = UIApplication.sharedApplication().delegate as! AppDelegate
    App.gViewController = self;
    App.showAdmobInterstitial()

// Try below in iOS 14+ and comment above line
// var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: App, selector: Selector("showAdmobInterstitial"), userInfo: nil, repeats: false)
}

// 在AppDelegate中,声明gViewController为成员变量

  var gViewController: UIViewController?
  var mInterstitial: GADInterstitial!

在 AppDelegate 类中添加这些函数

    func showAdmobInterstitial()
    {
            let kGoogleFullScreenAppUnitID = "ca-app-pub-***";
            self.mInterstitial = GADInterstitial.init(adUnitID:kGoogleFullScreenAppUnitID )
            
            mInterstitial.delegate = self
            let Request  = GADRequest()
            Request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"]
            mInterstitial.loadRequest(Request)
    }
    
    func interstitialDidReceiveAd(ad: GADInterstitial!)
    {
        ad.presentFromRootViewController(self.gViewController)
    }

确保您在 AppDelegate 中添加了 GADInterstitialDelegate。

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, GADInterstitialDelegate {
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

viewDidLoad (AdMob) 上的 Swift 插页式广告 的相关文章

  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项
  • 这个错误是无效上下文0x0吗?

    我在ViewDidLoad中编写了以下代码 Implement viewDidLoad to do additional setup after loading the view typically from a nib void view
  • UITextFieldDelegate 与 UITextField 控件事件

    如果我想处理 UITextField 的更改 例如用户在其中键入 看起来这可以通过将委托分配给该文本字段 然后让委托实现 shouldChangeCharactersInRange 来完成 或者通过将目标添加到文本字段并处理 UIContr
  • iOS 11 安全区域布局指南向后兼容性

    启用安全区域布局指南是否与 iOS 11 以下版本兼容 我设法使用新的安全区域布局指南并保持与 iOS 9 和 iOS 10 的向后兼容性 编辑 正如 NickEntin 的评论所指出的 此实现将假定存在状态栏 但在 iPhone X 的横
  • ITMS-90535 无法使用最新的 Google Signin SDK 发布 iOS 应用程序

    我正在使用 xcode 7 GM 种子并通过 cocoapods 安装了最新的 Google Signin SDKpod Google SignIn 当我尝试将我的应用程序发布到苹果应用程序商店时 我收到附加错误 Help 以下是 Goog
  • 我们可以从 LinkPresentation 框架中的 LPLinkView 中提取图像吗?

    我想在我的应用程序中呈现丰富的链接 并将这些数据发送到我的服务器 我需要访问视图内的图像LPLinkView https developer apple com documentation linkpresentation lplinkvi
  • UICollectionView 未出现

    我正在尝试设置UICollectionView 以编程方式在我的视图控制器中扩展UIViewController 由于某种原因 我的收藏视图根本没有显示 以下是我所拥有的 为什么没有出现 我将它连接到委托和数据源并将其添加为子视图self
  • Swift 3.0 Pin 颜色注释在 MapView 中没有改变

    我有兴趣根据案例场景更改注释的图钉颜色 在一个函数中 我发送了一个数组 用于确定引脚注释的颜色 到目前为止 我已经设置了一个名为 ColorPointAnnotation 的子类 它将确定 pinColor 然后 在 switch 语句中
  • 使用 Google place API 从 lat long 获取附近的地点

    我正在使用 google place API 即 https maps googleapis com maps api place search json location 33 7167 73 0667 radius 500 type f
  • 无法转换“UINavigationController”类型的值

    我正在为我的应用程序实现一个搜索界面 因此基本上我会将搜索关键字从一个 ViewController 传递到另一个 ViewController 我已经多次进行过这种类型的参数传递 但这次似乎有些奇怪 目标 ViewController 嵌
  • 混合静态和动态 UITableViewController 内容会导致 NSRangeException

    我一直在寻找这个错误 并找到了一些具有类似行为的帖子 但没有解决问题的解决方案 我有一个 UITableViewController 在 SB 中声明为静态 它具有以下部分 第 0 部分 配方 是静态的 有 4 个单元格 第 1 部分 口味
  • Objective C UIImagePNGRepresentation内存问题(使用ARC)

    我有一个基于 ARC 的应用程序 它从 Web 服务加载大约 2 000 个相当大 1 4MB 的 Base64 编码图像 它将 Base64 解码后的字符串转换为 png图像文件并将其保存到磁盘 这一切都是在一个循环中完成的 我不应该有任
  • 应用程序传输安全已禁用,但仍然出现 SSL 握手错误

    我在通过 HTTPS SSL 连接到 API 时遇到问题 我已经使用下面的字典完全禁用了应用程序传输安全性 ATS 尽管 SSL 证书通过了 NSCURL 的所有测试
  • Xcode 9 中的“addingPercentEncoding”是否损坏?

    在 Swift 3 x 和 Xcode 9 beta 2 中 使用addingPercentEncoding https developer apple com documentation swift string 1690785 addi
  • 如何更改已上传的 Firebase 存储图像文件名?

    我需要更改已上传到 firebase 存储中的文件名 因为 在 firebase 存储中上传图像后 我将 url 保存在 firebase 数据库中的特定子 文件夹 下 但是 当我将图像移动到另一个子 文件夹 时 我需要根据新名称更改存储中
  • 应用程序未通过协同设计验证?

    我在提交 iPhone 申请时遇到问题 我看到了一些类似的问题 但没有找到答案 当我存档项目并单击 验证 时 收到错误消息 应用程序未通过协同设计验证 签名无效 或者未使用 Apple 提交证书进行签名 我假设我在协同设计部分做错了什么 我
  • 在 iOS 上从 GPS 获取时间

    我正在开发一个跟踪器应用程序 该应用程序需要高精度地了解设备位置 即它使用位置服务并忽略水平精度低于 20 米的位置 CLLocation没有明确声明是否通过 GPS 确定 但是 如果水平精度为 20 米或更好 则可以认为它是来自 GPS
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we

随机推荐

  • 有没有办法在 Azure DevOps 中创建组织仪表板?

    我们的团队目前正在使用 DevOps 并对一切的运行情况感到非常满意 我们在每个项目中设置了仪表板来跟踪工作项和冲刺 并希望在组织级别执行相同的操作 有没有办法创建组织中多个项目的总体概述 不幸的是 我们无法创建组织级别的仪表板 它不受支持
  • 将颜色从 Javascript 传递到片段着色器

    我目前正在学习webgl 有一个问题 我正在尝试制作一个三角形并将颜色信息从 js 文件传递 到片段着色器中 以下是我的js代码 var VSHADER SOURCE attribute vec4 a Position n attribut
  • Python - 通常如何使用递归方法将实例变量作为隐式参数传递给方法

    我在将对象的实例变量传递给实例方法时遇到问题 我在其他地方搜索过这个 但我一直找到的只是有关如何使用对象将对象传递给方法的信息self 我已经知道了 或者只是关于类和实例方法之间的一般差异的教程 但没有具体回答我的问题 我的问题的答案肯定存
  • CMake graphviz 自动生成

    我知道通过 CLI 生成 CMake 项目依赖关系图的常用方法 cmake graphviz file 但是有没有一种方法可以通过在 CMakeList 中设置标志或命令来自动生成它 这个想法是让 CMakeLists txt 本身触发图形
  • PHP递归函数返回值[重复]

    这个问题在这里已经有答案了 我在 PHP 中编写了一个递归函数来裁剪文本 裁剪后的文本将 附加到末尾 未裁剪的文本将以其原始状态返回 如果文本适合最大宽度 则该方法有效 但是 如果它不适合给定的宽度 该函数将不会返回值 但它应该返回 看来整
  • 更改默认拨号器的请求在某些设备上不显示系统对话框

    我们的应用程序需要成为默认拨号器应用程序 也称为 默认电话处理程序 默认呼叫应用程序 以便它能够在 Android 下拨打电话新的权限策略 https support google com googleplay android develo
  • 使用 Spring Hibernate 使用注释编写更少的 DAO

    我的 Spring Hibernate 配置文件很小而且非常紧凑 我使用自动扫描来查找我的模型实体 DAOS 我不想为层次结构中的每个实体编写 DAO DAOImpl 有些可能有资格拥有自己的 例如 如果他们与其他实体有复杂的关系并且需要的
  • ruby中使用数组进行数据库查询

    我正在尝试查找数组中具有值的所有行 这是我的代码 require sqlite3 db SQLite3 Database new test sqlite res db query SELECT w1 synsetid FROM words
  • 左、中、右对齐同一行底部的 div

    我想在同一行显示三个 div 这三个都有不同的宽度和高度 并且它们不是直文本 我想左对齐一个 一直到左边 右对齐另一个 一直到右边 然后将第三个居中 在包含 div 的中间 在本例中是整个页面 此外 我希望这三个 div 与包含的 div
  • 修复错误mysql服务器已经消失[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的 VPS 经常出现故障 MySQL 服务器已消失 错误 2006 并失去连接 我增加了 my cnf 中变量的值 但情况没有改善 这是我的 cnf
  • 静默 /dev/tcp/host/port 重定向错误

    以下脚本将测试从 8079 到 8081 的 tcp 端口是否打开或关闭 for port in 8079 8081 do echo gt dev tcp 127 0 0 1 port echo port port is open echo
  • 对齐双轴刻度时出现问题

    我创建了一个有 2 个 y 轴的 matplotlib 图 y 轴有不同的比例 但我希望刻度线和网格对齐 我从 Excel 文件中提取数据 因此无法事先知道最大限制 creates double y axis ax2 ax1 twinx l
  • .netcore 应用程序 wwwroot 之外的静态文件

    我在用着https github com ebekker ACMESharp https github com ebekker ACMESharp在我的 home 网络服务器上使用 SSL 它是免费的 O 这是相当手动的 但注意到在维基上它
  • bmp宽高比问题

    我一直在尝试了解 bmp 文件的工作原理 以便我可以渲染一些 Mandelbrot 设置图片并将它们输出为 bmp 文件 因为这似乎是最简单的方法之一 但由于某种原因 当我使用不是 1 的纵横比时 1 尽管它是 4 的幂 所以不需要填充 我
  • 创建纯 HTML 的自定义 ExtJS 的最佳方法

    所以我需要创建一个ExtJS组件 版本2 3 0 该组件只是简单的 HTML 样式化 它是一个标题 我当前的方法是创建一个自定义组件 如下所示 A ExtJS component for a header for the applicati
  • 获取设备的 IMEI 代码或/和 Mac 地址

    我正在实施一种唯一标识设备的方法 建筑师向我发送了以下规格 带 Wifi 3G 的设备 IMEI 代码 设备 仅 Wifi MacAddress 两者还需要制造商 型号来完成 ID 我的问题是 如何从设备获取 IMEI 如何从设备获取制造商
  • 仅当导出的符号存在于 insmod 的 Linux 内核模块中时,如何选择性地使用它们?

    我正在修改 Linux 内核以向 Linux 虚拟服务器 LVS 添加一些功能 我开发了一个模块 我称之为net netfilter ipvs ip vs utils c 以及负载平衡时要使用的一些函数 这里的所有函数都是使用导出的EXPO
  • Visual Studio 2012 ExtJS 智能感知

    有没有办法在 Visual Studio 2012 中获取 ExtJS intelliSense 这与新的 JavaScript 支持相结合将使我的 ExtJS 项目更容易编码 在 js 文件中添加 ext all 的引用路径将提供支持 具
  • 如何将网站IE浏览器自动重定向到Chrome浏览器?

    最近 我们迁移到最新版本的应用程序 允许用户在任何浏览器中打开应用程序 早期它仅支持 IE 浏览器 迁移后 许多用户仍然在旧浏览器中打开应用程序 由于应用程序在 IE 浏览器中速度非常慢 我们正在寻找一种解决方案 当用户在 IE 浏览器中打
  • viewDidLoad (AdMob) 上的 Swift 插页式广告

    我正在关注这个tutorial http www ios blog co uk tutorials swift display ads in your application with google admob 到目前为止 当我单击按钮时