如何使用swift、spritekit和xcode调用admob插页式广告?

2024-04-15

我一直在寻找这个问题的答案,我在 Objective C 中找到了很多例子(谷歌开发者文档等),并在 swift 中找到了一些答案,但没有使用 spritekit,并且作为一个新手,我只是还没有无法弥补这些教程中的差距,将它们整合到我的项目中。老实说,我并不关心广告是否在应用程序启动时调用,或者游戏结束时调用,我只是很高兴能够调用广告期,尽管我想在游戏启动时调用是首选。

很确定我已经在 gameviewcontroller.swift 中正确设置了所有内容,但我不知道如何实际调用它。这是我的 gameviewcontroller.swift 中的代码:

import UIKit
import SpriteKit
import GoogleMobileAds

class GameViewController: UIViewController {

    var interstitial : GADInterstitial!

 func createAndLoadAd() -> GADInterstitial {

        var ad = GADInterstitial()
        ad.adUnitID = "ca-app-pub-4471013071748494/2980967718"
        var request = GADRequest()
        request.testDevices = [""]

        return ad

    }

除此之外...我还有这个 if 语句来调用广告,但我不知道它应该在哪里...或者它是否完整(在教程中,它在一个按钮中,但我需要它是自动的,自然的:

if (self.interstitial.isReady) {
            self.interstitial.presentFromRootViewController(self)
            self.interstitial = self.createAndLoadAd()
        }

有人对此有经验吗?如果有人可以帮助我完成这个工作,让我知道上面的 if 语句放在哪里,或者是否还有更多事情需要做……我们将非常感谢您的帮助。谢谢。


好的,我开始了一个新项目(Swift 项目),即游戏项目

在游戏视图控制器中:

class GameViewController: UIViewController
{
var interstitial = GADInterstitial()

override func viewDidLoad()
{
    super.viewDidLoad()

    if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene
    {
        // Configure the view.
        let skView = self.view as! SKView
        skView.showsFPS = true
        skView.showsNodeCount = true

        /* Sprite Kit applies additional optimizations to improve rendering performance */
        skView.ignoresSiblingOrder = true

        /* Set the scale mode to scale to fit the window */
        scene.scaleMode = .AspectFill

        skView.presentScene(scene)



        let delayTime = dispatch_time(DISPATCH_TIME_NOW,
            Int64(5 * Double(NSEC_PER_SEC)))

        //Creation of the ad and its request
        self.interstitial = GADInterstitial()
        self.interstitial.adUnitID = "ca-app-pub-4798156420380453/7714267723"
        var request = GADRequest()
        // request.testDevices = [""]
        self.interstitial.loadRequest(GADRequest());//The method u were missing

        dispatch_after(delayTime, dispatch_get_main_queue())
        {
            self.showAd()
        }

    }
}



 func showAd()
 {
    if (self.interstitial.isReady)
    {
        self.interstitial.presentFromRootViewController(self)//Whatever  shows the ad
    }
}

这是我的第一个快速代码,所以如果我做错了什么,请不要评判我 但是当我在大约 5 秒后吃午饭时,我看到了广告 这是你的例子。

我对 Swift 一点也不熟悉, 但您需要做的就是在取消插页式广告时获取插页式代理 -> 并请求下一个插页式广告,因此下次您将获得新的广告

有什么问题就尽管问吧! 附:不要忘记将 admob ID 更改为您的 ID。

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

如何使用swift、spritekit和xcode调用admob插页式广告? 的相关文章

  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • FBFriendPickerViewController 未显示所有好友

    我正在使用 FBFriendPickerViewController 在我的 iOS 应用程序中显示要邀请的朋友列表 它仅显示安装了该应用程序的好友列表 为什么是这样 我还在我的应用程序中直接与 Facebook sdk 交互 以使用 Gr
  • iPhone,如何隐藏标签栏按钮?

    如何隐藏单个标签栏按钮 我已经搜索过 但什么也没找到 只找到了完整的栏 我已经取得了一些进展 但仍然遇到问题 此代码位于我的应用程序委托中 带有选项卡栏的出口 我在其中调用它viewDidLoad选项卡栏中显示的第一个视图的视图 void
  • 设置 TableView setEditing 时无法选择 UITableViewCell

    我希望能够选择多行 如下所示的默认邮件应用程序 我有一个名为编辑的按钮 可以调用 self myTableView setEditing YES animated YES 编辑按钮成功显示单元格左侧的圆圈 如上所示的邮件应用程序 但是 当我
  • 我可以指定泛型是值类型吗?

    我知道我们基本上可以通过使用指定我们的泛型是任何引用类型AnyObject class Foo
  • iOS崩溃核心位置CFBasicHashCreateCopy?

    我已经通过 Crashlytics 报告了这个问题 尽管我无法在本地复制它 所以除了下面的堆栈跟踪之外我没有什么可做的 不确定堆栈跟踪中是否引用了 CoreLocation与它有任何关系 但我不确定可能是什么原因 我的项目使用的是ARC 有
  • 在 cocoa touch 中以编程方式将视图位置设置为右上角

    我需要确保一个视图 A 尺寸 200x200 始终与第二个视图 B 全屏尺寸 内的右上角对齐 我想确保无论设备方向如何 视图 A 都保留在该位置 事实是 当使用界面生成器来定位视图时 我对此没有任何问题 但我需要以编程方式构建它 我想我应该
  • 如何在 box2d 中停止作用在物体上的力

    我正在 iPhone 上使用 box2d 来创建游戏 我的身体受重力影响向下移动 而不是向右或向左移动 它会被另一个物体击中 然后向右或向左移动 然后我有一个重置按钮 可以将身体移回到起点 唯一的问题是它仍在向右或向左移动 如何抵消球已经行
  • xcodebuild 命令工具,无需安装 Xcode 本身

    我需要在不会进行任何开发的机器上以自动化流程构建 Xcode 项目 我还想节省该机器上的磁盘空间 我以为xcodebuild命令行将是完美的 但要安装该工具 您需要安装 Xcode 本身 有没有办法只安装xcodebuild和其他依赖项 我
  • 斯威夫特/iOS。从导航堆栈中删除一些视图控制器

    这是我想做的 但我不确定这是否是正确的方法 所以请给我建议如何去做 我有初始 VC 和导航 VC 我从中推送第一个 VC 从中推送第二个 VC 接下来我介绍 来自第二个 VC 的 NavigationController 第三个 VC 现在
  • 无法读取序列化诊断文件:无效文件:无效诊断签名

    我收到这个奇怪的警告 我不确定是什么原因造成的 A dia https filext com file extension DIA文件扩展名据称表示核心有向图图形文件 我没有添加一个 该应用程序几乎没有用户界面 无法读取序列化诊断文件 错误
  • gdb 声称它不知道如何运行

    我在 Mac Pro 上的 Mac OS X 10 6 6 上使用 Xcode 3 2 3 来构建 GrowlTunes 的修订版 5fd480ef577f咆哮开发存储库 http growl info hg growl developme
  • 准确地从屏幕上的像素获取颜色并转换其颜色空间

    我需要从屏幕上的像素获取颜色并转换其颜色空间 我遇到的问题是 将值与数字色度计应用程序进行比较时 颜色值不相同 create a 1x1 image at the mouse position if let image CGImage CG
  • Swift 中的字典是否应该转换为类或结构?

    我正在开发一个本机 iOS 应用程序 该应用程序从我们也可以控制的 Web 服务接收 JSON 格式的数据 该计划是在大约 18 个月内更换后端数据库 以支持不同的平台 考虑到这一点 我们希望确保 iOS 应用程序能够相对容易地适应新的数据
  • 将 OpenCV Mat 转换为数组(可能是 NSArray)

    我的 C C 技能很生疏 OpenCV 的文档也相当晦涩难懂 有没有办法获得cv Mat data属性转换为数组 NSArray 我想将其序列化为 JSON 我知道我可以使用 FileStorage 实用程序转换为 YAML XML 但这不
  • 我在 NSDateComponentsFormatter 上的 allowedFractionalUnits 上做错了什么?

    基本上我想要的是获取仅以小时表示的时间间隔的值 而不将其四舍五入为完整小时 使用NSDateComponentFormatter https developer apple com library ios documentation Fou
  • AudioPlayer 和锁屏/控制中心控制 Swift [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我是斯威夫特的新手 我写信是因为我想问一个问题 我和我的朋友正在开发一个音频播放器 但我们遇到了问题 播放器还可以在后台
  • 将文本拆分为数组,同时保留 Swift 中的标点符号

    我想将文本拆分为一个数组 保持标点符号与其余单词分隔开 因此字符串如下 Hello I am Albert Einstein 应该变成这样的数组 Hello I am Albert Einstein 我尝试过sting components
  • 如何判断handleOpenURL是在应用程序启动时调用还是在应用程序运行时调用?

    由于事件的顺序略有不同 具体取决于这两个场景中的哪一个正在进行 我希望能够区分出区别 有什么建议么 你不应该使用handleOpenURL因为它已被弃用 相反 使用application openURL sourceApplication
  • 找不到此可执行文件的有效配置文件...(再次)

    我知道这个问题已经被问过并回答过多次 但我正在抓狂 因为所提出的解决方案似乎都不起作用 尽管有一个有效的配置文件 但据我所知 它与捆绑包标识符匹配 但我收到了上述错误 我已按照本网站上各种建议解决方案中的步骤进行操作 包括删除所有现有证书并

随机推荐

  • Wordpress Multisite - 无法访问子文件夹站点仪表板

    我是 WordPress 多站点新手 我发现了一个奇怪的问题 我已经安装了 WordPress 的新实例 并使用子文件夹启用了多站点 唯一的问题是当我创建新网站时 它无法正确显示 并且我无法访问新网站仪表板 我已将这些行添加到wp conf
  • 如何在 Power Query M 中发表评论?

    有没有办法注释 M 代码 注释掉代码行或代码块 M 支持两种不同类型的注释 单行注释可以以 开头 您可以使用 注释掉多行或注释掉行中间的文本 例如 1 some comment 2 如果注释位于行尾 则它们似乎会在公式栏中消失 但它们仍然存
  • postgresql 加密

    我有 oracle 数据库可以转移到新的 postgresql 服务器 某些表具有敏感字段 并且这些表均通过 DBMS OBFUSCATION TOOLKIT DESENCRYPT DESENCRYPT 进行加密 问题就在这里 postgr
  • PostgreSQL 和 C# 数据类型

    我搜索了 PostgreSQL 和 C 之间的类型转换表 但没有找到任何内容 如果有时间 我会研究上表上的空单元格 但如果您知道包含这些信息的网页 我非常适合您的帮助 Postgre Type gt C Type bigint gt Int
  • 当 EnableSessionState 为 ReadOnly 时更改会话状态

    我有一个 旧的 ASP NET WebForms 项目 并且我想尽可能将 EnableSessionState 设置为 ReadOnly 以防止会话锁阻止单个用户并发页面加载 在某些页面上 我实际上确实想写入会话状态 通常 只需将那些需要写
  • 在 Chrome 中单步执行 JavaScript 断点时如何查看 DOM?

    在 Chrome DevTools 中 在 源 选项卡中调试 JavaScript 时 在 JS 代码中添加 debugger 行 然后使用 F10 F11 单步执行代码 如何在单步执行代码的同时查看 DOM 如果我的 JS 正在操作 DO
  • 在 onResume/onPause 中重新启动/暂停线程

    我有一个使用 SurfaceView 实现来显示对象的游戏 我有一个线程 它会不时地将 SurfaceView 绘制到屏幕上 游戏正在完全运行 不幸的是 它需要在游戏中断时具有暂停功能 好吧 我知道我需要操纵onResume and onP
  • 从“git diff”中排除单个提交

    大家早 假设我有一系列提交 如下所示 abc000 def111 abc222 def333 abc444 def555 我知道我可以使用 git diff c binary abc000 def555 gt tmp abc000 def5
  • 自动崩溃时重新启动 Docker 容器

    如果容器自动崩溃 我想重新启动它 我不知道该怎么做 我有一个脚本 docker compose deps yml 其中包含 elasticsearch redis nats 和 mongo 我在终端中运行它来进行设置 docker comp
  • 获取Web服务的内容

    我有一个像这样的网址here http www myserver com myservice php param foobar 当我在 Safari 的地址栏中输入该内容时 我会看到类似 错误 或 正常 的结果 那么 如何从代码中正确调用该
  • 有没有一种方法可以从一个方法返回多个整数? [复制]

    这个问题在这里已经有答案了 我有一个这样的方法 private double GetHeight return 2 但我希望能够返回两个不同的数字 例如 2 和 3 有什么方法可以在 C 中做到这一点吗 Yes ValueTuple htt
  • Lua 和序列化闭包

    我正在尝试序列化和反序列化 Lua 闭包 我的基本理解是下面的工厂应该生成闭包 并且Lua在函数和闭包之间没有太多区别 即没有类型 闭包 gt function ffactory x return function return x end
  • 如何为 Mac OSX 安装 Java 7 EE SDK 下载为 .sh 文件

    我是在 Mac OSX 上开发 Java 的新手 我想下载 Java 7 EE SDK 这样我就可以使用 Java 进行桌面 移动 企业开发 下载文件是 sh 具体来说java ee sdk 7 jdk7 macosx x64 我不熟悉 J
  • 无法使用 UWP 应用程序访问我的系统上的 Word 文档

    我正在尝试使用 UWP 应用程序 通用 Windows 编辑现有的 Word 文档 但由于某种原因 我收到 文件不存在 错误 我尝试使用下面的代码来访问word文档 using WordprocessingDocument wordDoc
  • 删除列表元素而不发生突变

    假设你有一个清单 gt gt gt m a b c 我想列一个新清单n包含除给定项目之外的所有内容m 例如该项目 a 但是 当我使用 gt gt gt m remove a gt gt gt m m b c 原始列表已发生变化 值 a 从原
  • Azure 应用程序网关中的 SSL 证书错误

    我们按照指南设置 SSL 应用程序网关 https learn microsoft com en us azure application gateway application gateway ssl portal https learn
  • 生产中的CEF3单进程模式

    在生产中使用单一流程模式是否存在任何真正的陷阱 官方声明似乎不鼓励这种做法 但到 目前为止该应用程序一直稳定 CEF1似乎已经被放弃了 如果使用CEF3单进程进行开发 那么后者至少应该成为测试套件的一部分 因此是稳定的 或者事实并非如此 另
  • Google Api:: 错误:invalid_scope

    我使用 google api OAuth2 登录 gmail 帐户 当 gmail 登录时 我进行身份验证 然后收到错误 错误 invalid scope 此应用尚未经过验证可以访问 无效 https www googleapis com
  • 如何在 vscode API 中替换后删除选择

    在为 vscode 创建扩展时 我陷入了选择困境 现在的问题是 当我通过 api 替换某些范围的 textEditor 时 它会替换该范围并选择该范围 对于片段来说这是一个好主意 但我的扩展要求不是选择替换的文本 我在 api 中搜索但没有
  • 如何使用swift、spritekit和xcode调用admob插页式广告?

    我一直在寻找这个问题的答案 我在 Objective C 中找到了很多例子 谷歌开发者文档等 并在 swift 中找到了一些答案 但没有使用 spritekit 并且作为一个新手 我只是还没有无法弥补这些教程中的差距 将它们整合到我的项目中